

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IBM Db2 データベースで Amazon S3 への DB2 ログアーカイブを直接有効にする
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database"></a>

*Amazon Web Services、Ambarish Satarkar*

## 概要
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-summary"></a>

このパターンでは、ステージングエリアを使用せずに、Amazon Simple Storage Service (Amazon S3) を IBM Db2 によって生成されたアーカイブログのカタログストレージとして使用する方法について説明します。

[DB2REMOTE](https://www.ibm.com/docs/en/db2/12.1.0?topic=storage-db2remote-identifiers) Amazon S3 ストレージを [logarchmeth1 ](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth1-primary-log-archive-method)および [logarchmeth2](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth2-secondary-log-archive-method) ログアーカイブメソッド設定パラメータ用に指定できます。`logarchmeth1` パラメータを使用して、現在のログパスからアーカイブされるログのプライマリ送信先を指定できます。この機能を使用すると、ステージングエリアを使用せずに、トランザクションログを Amazon S3 との間で直接アーカイブおよび取得できます。

[Amazon S3](https://aws.amazon.com/s3/) は、アップロードされたデータを単一の AWS リージョンにある少なくとも 3 つのデバイスに保存します。高可用性、柔軟なストレージオプション、ライフサイクルポリシー、セキュリティを備えているため、あらゆる規模や業界の何百万ものお客様が Amazon S3 を使用してエンタープライズバックアップを保存しています。

## 前提条件と制限事項
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-prereqs"></a>

**前提条件**
+ アクティブ AWS アカウント。
+ IBM Db2 データベースが、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス上で実行されていること。
+ AWS Command Line Interface (AWS CLI) がインストールされている
+ [libcurl](https://curl.se/libcurl/) と [libxml2](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home) が Db2 EC2 インスタンスにインストールされていること。

**制限事項**
+ [Db2 11.5.7 ](https://www.ibm.com/docs/en/db2/11.5.x?topic=new-1157)以降でのみ Amazon S3 ストレージへのログの直接アーカイブが可能です。
+ 一部の AWS のサービス は、すべてで利用できるわけではありません AWS リージョン。利用可能なリージョンについては、「[AWS サービス (リージョン別)](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)」を参照してください。特定のエンドポイントについて確認するには、「[Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)」を参照し、サービスのリンクを選択してください。
+ すべての設定で、Amazon S3 には次の制限があります。
  + AWS Key Management Service (AWS KMS) はサポートされていません。
  + AWS ロールベースの認証情報 (AWS Identity and Access Management (IAM)) またはトークンベースの認証情報 (AWS Security Token Service (AWS STS)) はサポートされていません。

**製品バージョン**
+ AWS CLI バージョン 2 以降
+ IBM Db2 11.5.7 以降
+ Linux SUSE Linux Enterprise Server (SLES) 11 以降
+ Red Hat Enterprise Linux (RHEL) 6 以降
+ Windows Server 2008 R2、2012 (R2)、2016、または 2019

## アーキテクチャ
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-architecture"></a>

次の図は、このパターンのコンポーネントとワークフローを示しています。

![Db2 によって生成されたアーカイブログのカタログストレージに Amazon S3 を使用するワークフロー。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/7a10333e-07be-4144-9913-45c60a2f51ea/images/0437d348-1688-4c3e-9aa5-43535afe08c6.png)


のアーキテクチャには、次のもの AWS クラウド が含まれます。
+ **Virtual Private Cloud (VPC)** – リソースを起動 AWS クラウド する の論理的に隔離されたセクション。
+ **アベイラビリティーゾーン** – AWS リージョン内の分離されたデータセンターで Db2 LUW (Linux、Unix、Windows) ワークロードを実行することにより、高可用性を実現します。
+ **パブリックサブネット** – 管理者用の RDP (リモートデスクトッププロトコル) アクセスと、NAT ゲートウェイを介したインターネット接続を提供します。
+ **プライベートサブネット** – Db2 LUW データベースをホストします。Db2 LUW インスタンスは `LOGARCHMETH1` パラメータで設定されます。パラメータは、ゲートウェイエンドポイントを経由して Amazon S3 パスにデータベースログファイルを直接書き込みます。

以下がサポート AWS のサービス を提供します。
+ **Amazon S3** – Db2 ログアーカイブファイル用の、耐久性の高いスケーラブルなストレージの場所として機能します。
+ **Amazon Elastic File System (Amazon EFS)** – Db2 がデータベースのバックアップとステージングに使用できる共有のフルマネージドファイルシステムを提供します。Db2 は Amazon EFS を、ログファイルが Amazon S3 にアーカイブされる前のマウントポイントとして使用することもできます。
+ **Amazon CloudWatch** – Db2 および基盤となる EC2 インスタンスからメトリクス、ログ、イベントを収集してモニタリングします。CloudWatch を使用して、パフォーマンスや可用性の問題に対するアラーム、ダッシュボード、自動応答を作成できます。

**自動化とスケール**
+ このパターンは、Db2 ログアーカイブのバックアップを保存するための完全に自動化されたソリューションを提供します。
+ 同じ Amazon S3 バケットを使用して、複数の Db2 データベースのログアーカイブを有効にすることができます。

## ツール
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-tools"></a>

**AWS のサービス**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) は、 AWS リソースと で実行しているアプリケーションのメトリクスを AWS リアルタイムでモニタリングするのに役立ちます。
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) は、コマンドラインシェルのコマンド AWS のサービス を使用して を操作するのに役立つオープンソースツールです。
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) は、 AWS クラウドでの共有ファイルシステムの作成と設定に役立ちます。
+ [AWS IAM アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) を使用すると、すべての AWS アカウント およびクラウドアプリケーションへのシングルサインオン (SSO) アクセスを一元管理できます。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) は、定義した仮想ネットワークに AWS リソースを起動するのに役立ちます。この仮想ネットワークは、ユーザー自身のデータセンターで運用されていた従来のネットワークと似ていますが、 AWSのスケーラブルなインフラストラクチャを使用できるという利点があります。

**その他のツール**
+ [libcurl](https://curl.se/libcurl/) は、クライアント側の無料の URL 転送ライブラリです。
+ [libxml2](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home) は無料の XML C パーサーおよびツールキットです。

## ベストプラクティス
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-best-practices"></a>
+ 最小特権の原則に従い、タスクの実行に必要最小限のアクセス許可を付与します。詳細については、IAM ドキュメントの「[最小限の特権を認める。](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv)」と「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

## エピック
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-epics"></a>

### 設定 AWS のサービス
<a name="configure-aws-services"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| をセットアップします AWS CLI。 | [をダウンロードしてインストール AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.htmlhttps://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)するには、次のコマンドを使用します。<pre>i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />ii) unzip awscliv2.zip<br />iii) sudo ./aws/install</pre> | AWS システム管理者、AWS システム管理者 | 
|  AWS CLIを設定します。 | [を設定するには AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)、次のコマンドを使用します。<pre>$ aws configure<br />AWS Access Key ID [None]:*******************************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: < aws region ><br />Default output format [None]: text</pre> | AWS システム管理者、AWS システム管理者 | 
| IAM ユーザーを作成する。 | 後で Amazon S3 との Db2 データベース接続に使用する IAM ユーザーを作成するには、次のコマンドを実行します。<br />`aws iam create-user --user-name <unique username>`<br />このコマンドの例を次に示します。<br />`aws iam create-user --user-name db_backup_user`このシナリオでは、プログラムによるアクセスと長期的な認証情報を持つ IAM ユーザーが必要です。これはセキュリティ上のリスクをもたらします。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーを削除することをお勧めします。アクセスキーは、必要に応じて更新できます。詳細については、IAM ドキュメントの「[AWS セキュリティ認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys)」および「[IAM ユーザーのアクセスキーを管理します。](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)」を参照してください。 | AWS システム管理者 | 
| Amazon S3 バケットを作成する。 | データベースバックアップを保存するための Amazon S3 バケットを作成するには、次のコマンドを実行します。<br />`aws s3api create-bucket --bucket <unique bucket name> --region <aws region>`<br />コマンドの例を次に示します。<br />`aws s3api create-bucket --bucket myfirstbucket --region af-south-1` | AWS システム管理者 | 
| IAM ユーザーを承認する。 | 新しく作成した IAM ユーザーに Amazon S3 アクセス権限を付与するには、次の手順を実行します。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database.html) | AWS システム管理者、AWS システム管理者 | 
| アクセスキーを作成する。 | DB2 インスタンスから Amazon S3 にプログラムでアクセスするためのアクセスキーを生成するには、次のコマンドを実行します。<br />`aws iam create-access-key --user-name <username>`<br />このコマンドの例を次に示します。<br />`aws iam create-access-key --user-name db_backup_user`このシナリオでは、プログラムによるアクセスと長期的な認証情報を持つ IAM ユーザーが必要です。これはセキュリティ上のリスクをもたらします。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーを削除することをお勧めします。アクセスキーは、必要に応じて更新できます。詳細については、IAM ドキュメントの「[AWS セキュリティ認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys)」および「[IAM ユーザーのアクセスキーを管理します。](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)」を参照してください。 | AWS システム管理者 | 
| PKCS キーストアを作成する。 | キーを保存するための PKCS キーストアを作成し、データを Amazon S3 に転送するためのシークレットアクセスキーを作成するには、次のコマンドを実行します。<pre>gsk8capicmd_64 -keydb -create -db "/db2/db2<sid>/.keystore/db6-s3.p12" -pw "<password>" -type pkcs12 -stash</pre> | AWS システム管理者 | 
| キーストアを使用するように DB2 を設定する。 | `keystore_location` および `keystore_type` パラメータでキーストアを使用するように DB2 を設定するには、次のコマンドを実行します。<pre>db2 "update dbm cfg using keystore_location /db2/db2<sid>/.keystore/db6-s3.p12 keystore_type pkcs12"</pre> | AWS システム管理者 | 
| DB2 ストレージアクセスエイリアスを作成する。 | ストレージアクセスエイリアスには、使用する Amazon S3 バケットが指定されます。また、暗号化された形式でローカルキーストアに保存されているユーザー名とパスワードなどの接続の詳細情報も指定されます。詳細については、IBM Db2 ドキュメントの「[CATALOG STORAGE ACCESS command](https://www.ibm.com/docs/en/db2/12.1.0?topic=commands-catalog-storage-access)」を参照してください。<br />ストレージアクセスエイリアスを作成するには、以下の構文を使用します。<pre>db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> user '<access_key>' password '<secret_access_key>' container '<bucket_name>'"</pre><br />以下はその例です。<pre>db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"</pre> | AWS システム管理者 | 

### DB2 で logarchmeth1 の場所を更新し、DB2 を再起動する
<a name="update-logarchmeth1-location-in-db2-and-restart-db2"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| `LOGARCHMETH1` の場所を更新する。 | 前に定義したストレージアクセスエイリアスを使用するには、`LOGARCHMETH1` データベースパラメータを更新し、次のコマンドを実行します。<pre>db2 update db cfg for <DBNAME> using LOGARCHMETH1 'DB2REMOTE://<storage_alias_name>//<sub folder>'</pre><br />ログを他のファイルから分離するには、S3 バケット内のログを保存するためのサブディレクトリ (Amazon S3 バケットのプレフィックス) `TESTDB_LOGS` を指定します。<br />以下はその例です。<pre>db2 update db cfg for ABC using LOGARCHMETH1 'DB2REMOTE://DB2BKPS3//TESTDB_LOGS/'</pre><br />次のメッセージが表示されます。`DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | AWS システム管理者 | 
| DB2 を再起動する。 | ログアーカイブ用に DB2 インスタンスを再設定した後、DB2 インスタンスを再起動します。<br />ただし、`LOGARCHMETH1 ` が以前にファイルシステムの場所に設定されている場合は、再起動の必要はありません。 | AWS 管理者、AWS システム管理者 | 

### Amazon S3 と db2diag.log のアーカイブログパスを確認する
<a name="check-the-archive-log-path-in-s3-and-db2diag-log"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Amazon S3 のアーカイブログを確認する。 | この時点で、データベースはトランザクションログを Amazon S3 ストレージに直接アーカイブするように完全に設定されています。設定を確認するには、データベースでトランザクションアクティビティの実行を開始し、ログスペースの利用 (およびアーカイブ) を開始します。次に、Amazon S3 のアーカイブログを確認します。 | AWS 管理者、AWS システム管理者 | 
| `db2diag.log` のアーカイブログ設定を確認する。 | Amazon S3 のアーカイブログを確認したら、DB2 診断ログ `db2diag.log` で次のメッセージを探します。<br />`MESSAGE : ADM1846I  Completed archive for log file "S0000079.LOG" to Completed archive for log file S0000080.LOG to DB2REMOTE://<AWS S3 Bucket Name>/<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/. MESSAGE : ADM1846I  Completed archive for log file "S0000080.LOG" to Completed archive for log file S0000081.LOG to DB2REMOTE://<AWS S3 Bucket Name> /<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/. `<br />このメッセージは、閉じた DB2 トランザクションログファイルが (リモート) Amazon S3 ストレージにアーカイブされていることを確認するものです。 | AWS システム管理者 | 

## 関連リソース
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-resources"></a>

**AWS サービスドキュメント**
+ [AWS セキュリティ認証情報 ](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys)(IAM ドキュメント)
+ [最小限の特権を認める。](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) (IAM ドキュメント)
+ [IAM ユーザーのアクセスキーを管理します。](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) (IAM ドキュメント)
+ [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (IAM ドキュメント)

**IBM リソース**
+ [IBM Db2 Database](https://www.ibm.com/products/db2-database)
+ [logarchmeth1 – Primary log archive method configuration parameter](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth1-primary-log-archive-method)
+ [logarchmeth2 – Secondary log archive method configuration parameter](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth2-secondary-log-archive-method)
+ [Remote storage](https://www.ibm.com/docs/en/db2/12.1.0?topic=databases-remote-storage) 