

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

# セットアップの前提条件を満たす AWS Database Migration Service
<a name="CHAP_GettingStarted.Prerequisites"></a>

このセクションでは、ソースデータベースとターゲットデータベースの設定など AWS DMS、 の前提条件タスクについて説明します。これらのタスクの一環として、Amazon VPC サービスに基づいて Virtual Private Cloud (VPC) も設定します。さらに、ソースデータベースの入力とターゲットデータベースでのレプリケーションの検証に使用する Amazon EC2 インスタンスをセットアップします。

**注記**  
ソースデータベースへの入力には最大 45 分かかります。

このチュートリアルでは、ソースとして MariaDB データベースを作成し、ターゲットとして PostgreSQL データベースを作成します。このシナリオでは、一般的に使用される低コストのデータベースエンジンを使用して、レプリケーションを実証します。異なるデータベースエンジンを使用することは、異種プラットフォーム間でデータを移行する AWS DMS 機能を示しています。

このチュートリアルのリソースでは、米国西部 (オレゴン) リージョンを使用します。別の AWS リージョンを使用する場合は、米国西部 (オレゴン) が表示される場所ではなく、選択したリージョンを指定します。

**注記**  
簡単にするために、このチュートリアル用に作成するデータベースでは、暗号化やその他のアドバンストセキュリティ機能を使用しません。本番データベースを安全に保つには、セキュリティ機能を使用する必要があります。詳細については「[Amazon RDS でのセキュリティ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.html)」をご参照ください。

前提条件のステップについては、以下のトピックをご参照ください。

**Topics**
+ [「VPC を作成する」](#CHAP_GettingStarted.Prerequisites.VPC)
+ [Amazon RDS パラメータグループの作成](#CHAP_GettingStarted.Prerequisites.params)
+ [ソース Amazon RDS データベースを作成する](#CHAP_GettingStarted.Prerequisites.sdatabase)
+ [ターゲットの Amazon RDS データベースを作成します。](#CHAP_GettingStarted.Prerequisites.tdatabase)
+ [Amazon EC2 クライアントを作成する](#CHAP_GettingStarted.Prerequisites.client)
+ [ソースデータベースに挿入する](#CHAP_GettingStarted.Prerequisites.Populate)

## 「VPC を作成する」
<a name="CHAP_GettingStarted.Prerequisites.VPC"></a>

このセクションでは、 AWS リソースを含む VPC を作成します。 AWS リソースを使用する場合、VPC を使用することがベストプラクティスです。これにより、データベース、Amazon EC2 インスタンス、セキュリティグループなどが論理的に整理され、安全になります。

チュートリアルリソースに VPC を使用すると、チュートリアルの終了時に使用するすべてのリソースも削除するようにしてください。VPC に含まれるすべてのリソースを削除してからVPC を削除できます。

**で使用する VPC を作成するには AWS DMS**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) で Amazon VPC コンソールを開きます。

1. ナビゲーションペインで、**[VPC ダッシュボード]** を選択して、**[VPC の作成]** をクリックします。

1. **[VPC の作成]** ページで、次のオプションを入力します。
   + **作成するリソース**: **VPC など**
   + **名前タグの自動生成**: [**自動生成**] を選択して、**DMSVPC** と入力する
   + **IPv4 ブロック**: **10.0.1.0/24**
   + **IPv6 CIDR ブロック**: **IPv6 CIDR ブロックなし**
   + **テナンシー**: **デフォルト**
   + **アベイラビリティーゾーンの数**: 2
   + **パブリックサブネットの数**: 2
   + **プライベートサブネットの数**: 2
   + **NAT ゲートウェイ (\$1)**: **なし**
   + **VPC エンドポイント**: **なし**

   **[Create VPC]** (VPC作成) を選択します。

1. ナビゲーションペインで **VPC** を選択します。**DMSVPC** の VPC ID を書き留めます。

1. ナビゲーションペインで**[Security Groups]** (セキュリティグループ) を選択します。

1. **DMSVPC**について書き留めた ID と一致する**VPC ID**の**[default]** (デフォルト) という名前のグループを選択します。

1. **[Inbound rules]** (インバウンドルール) タブを選択し、**[Edit inbound rules]** (インバウンドルールの編集) を選択します。

1. **[Add rule]** (ルール追加) を選択します。**[MySQL/Aurora]** のルールタイプを追加して、**[ソース]** には **Anywhere-IPv4** を選択します。

1. **[Add rule]** (ルールの追加) を選択しなおします。**[PostgreSQL]** のルールタイプを追加して、**[ソース]** には **Anywhere-IPv4** を選択します。

1. **[Save Rules]** (ルールの保存) を選択します。

## Amazon RDS パラメータグループの作成
<a name="CHAP_GettingStarted.Prerequisites.params"></a>

のソースデータベースとターゲットデータベースの設定を指定するには AWS DMS、Amazon RDS パラメータグループを使用します。データベース間の初期および継続的なレプリケーションを許可するには、次の構成を必ず行ってください：
+ ソースデータベースのバイナリログ。これにより、 AWS DMS はレプリケートする必要がある増分更新を決定できます。
+ ターゲットデータベースのレプリケーションロール。これにより、 は最初のデータ転送中に外部キーの制約 AWS DMS を無視します。この設定では、 はデータを順序どおりに移行 AWS DMS できます。

**で使用するパラメータグループを作成するには AWS DMS**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで **[Parameter groups]** (パラメータグループ) を選択します。

1. **[Parameter groups]** (パラメータグループ) ページで**[Create parameter group]** (パラメータグループの作成) を選択します。

1. **[Create parameter group]** (パラメータグループ作成) ページで、次の設定を入力します：
   + **パラメータグループファミリー**: **mariadb10.6**
   + **[Group name]** (グループ名): **dms-mariadb-parameters**
   + **[Description]** (説明): **Group for specifying binary log settings for replication**

   **[作成]** を選択します。

1. **[パラメータグループ]** ページで、**[dms-mariadb-parameters]** を選択して、**[dms-mariadb-parameters]** ページで、**[編集]** をクリックします。

1. 次のパラメータを次の値に設定します：
   + **binlog\$1checksum**:**[NONE]** (無し)
   + **binlog\$1format**:**[ROW]** (行)

   **[Save changes]** (変更を保存) を選択します。

1. **[Parameter groups]** (パラメータグループ) ページで**[Create parameter group]** (パラメータグループの作成) を選択します。

1. **[Create parameter group]** (パラメータグループ作成) ページで、次の設定を入力します：
   + **パラメータグループファミリー**: **postgres16**
   + **[Group name]** (グループ名): **dms-postgresql-parameters**
   + **[Description]** (説明): **Group for specifying role setting for replication**

   **[作成]** を選択します。

1. **[Parameter groups]** (パラメータグループ) ページで **dms-postgresql-parameters** を選択します。

1. **[dms-postgresql-parameters]** ページで、**[編集]** をクリックして、**[session\$1replication\$1role parameter]** を **[レプリカ]** と設定します。**session\$1replication\$1role** のパラメータが、パラメータの最初のページにないことに注意します。このパラメータを見つけるには、ページ割りコントロールまたは検索フィールドを使用します。

1. **[Save changes]** (変更の保存) をクリックします。

## ソース Amazon RDS データベースを作成する
<a name="CHAP_GettingStarted.Prerequisites.sdatabase"></a>

次の手順に従って、ソース Amazon RDS データベースを作成します。

**ソースの Amazon RDS for MariaDB データベースを作成するには**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. **[Dashboard]** (ダッシュボード) ページで**[Database]** (データベース) セクションの**[Create Database]** (データベースの作成) を選択します。ページ上部の **[MySQL と PostgreSQL 用の新しい Amazon RDS マルチ AZ 配置オプションを試す]** セクションにある **[データベースの作成]** はクリックしないでください。

1. **[Create Database]** (データベースの作成) ページで、次の詳細を設定します：
   + **データベース作成方法を選択**: **[標準作成]** を選択する。
   + **エンジンのオプション**: **[エンジンタイプ]** では、**[MariaDB]** を選択する。**[バージョン]** は、**[MariaDB 10.6.14]** が選択されたままにする。
   + **[Templates]** (テンプレート): **[Dev/Test]** (開発/テスト) を選択します。
   + **[Settings]** (設定)：
     + **[DB instance identifier]** (DB インスタンス識別子)： **dms-mariadb** を入力します。
     + **[認証情報の設定]** セクションで、次を入力する。
       + **[Master username]** (マスター ユーザーネーム): **admin** のままにしておきます。
       + ** AWS Secrets Manager のマスター認証情報の管理**はオフのままにします。
       + **[Auto generate a password]** (パスワードの自動生成): 選択を解除したままにします。
       + **[Master password]** (マスターパスワード): **changeit** と入力します。
       + **[Confirm password]** (パスワードを確認): 再び **changeit** と入力します。
   + **インスタンスの設定**: 
     + **[DB instance class]** (DB インスタンスクラス): **[Standard classes]** (標準クラス) を選んだままにします。
     + **[DB instance class]** (DB インスタンスクラス) で**db.m5.large**を選択します。
   + **[Storage]** (ストレージ)：
     + **[Enable storage autoscaling]** (ストレージのオートスケーリングの有効化) ボックスをクリアします。
     + 残りの設定はそのままにします。
   + **アベイラビリティーおよび耐久性**: **[スタンバイインスタンスを作成しない]** が選択されたままにする。
   + **接続**:
     + **コンピューティングリソース** **[EC2 コンピューティングリソースに接続しない]** のままにする。
     + **ネットワークタイプ**: **[IPv4]** が選択されたままにする。
     + **仮想プライベートクラウド**: **DMSVPC-vpc**
     + **[Public access]** (公開アクセス)：**[Yes]** (はい)。 AWS Schema Conversion Toolを使用するには、公開アクセスを有効にする必要があります。
     + **[Availability zone]** (アベイラビリティーゾーン)：**us-west-2a**
     + 残りの設定はそのままにします。
   + **データベース認証**: **[パスワード認証]** が選択されたままにする。
   + **[モニタリング]** の **[Performance Insights を有効にする]** のチェックボックスはオフにする。**[その他の設定]** セクションを展開して、**[拡張モニタリングの有効化]** チェックボックスをオフにする。
   + **[Additional configuration]** (追加設定) を展開します：
     + **[Database options]** (データベースオプション) で**[Initial database name]** (初期データベース名) として **dms\$1sample** と入力します。
     + **[DB パラメータグループ]** では **[dms-mariadb-parameters]** を選択する。
     + **[オプショングループ]** では、**[default:mariadb-10-6]** が選択されたままにする。
     + 「**バックアップ**」 で、次の作業を行います。
       + **[自動バックアップの有効化]** はオンのままにする。継続的なレプリケーションをサポートするには、ソースデータベースで自動バックアップが有効になっている必要があります。
       + **[バックアップ保持期間]** では、**[1 日]** を選択する。
       + **[バックアップウィンドウ]** では、**[指定なし]** が選択されたままにする。
       + **[スナップショットにタグをコピー]** チェックボックスをオフにする。
       + **別の AWS リージョンでレプリケーションを有効にする** はオフのままにします。
     + **[Encryption]** (暗号化) で**[Enable encryption]** (暗号化有効) ボックスをクリアします。
     + **[ログのエクスポート]** セクションはそのままにする。
     + **[メンテナンス]** の **[マイナーバージョン自動アップグレードの有効化]** チェックボックスをオフにして、**[メンテナンスウィンドウ]** 設定を **[指定なし]** のままにする。
     + **[削除保護の有効化]** をオフのままにする。

1. **[Create database]** (データベースの作成) を選択します。

## ターゲットの Amazon RDS データベースを作成します。
<a name="CHAP_GettingStarted.Prerequisites.tdatabase"></a>

上記の手順を繰り返して、以下の変更を加えターゲットの Amazon RDS データベースを作成します。

**PostgreSQL データベース用のターゲット RDS を作成するには**

1. 前述の手順のステップ 1 と 2 を繰り返します。

1. **[Create database]** (データベースの作成) ページで、次の場合を除き、同じオプションを設定します：

   1. **[Engine options]** (エンジンオプション) で **PostgreSQL** を選択します。

   1. **[バージョン]** で、利用可能な **PostgreSQL 16** のバージョンを選択します。

   1. **[DB instance identifier]** (DB インスタンス識別子) に**dms-postgresql** と入力します。

   1. [**管理ユーザー名**] では **postgres** を選択したままにする

   1. **[DB parameter group]** (DB パラメータグループ) で、**dms-postgresql-parameters** を選択します。

   1. **[Enable automatic backups]** (自動バックアップ有効) をクリアします。

1. **[Create database]** (データベースの作成) を選択します。

## Amazon EC2 クライアントを作成する
<a name="CHAP_GettingStarted.Prerequisites.client"></a>

このセクションでは、Amazon EC2を作成します。このクライアントを使用して、レプリケートするデータをソースデータベースに入力します。また、このクライアントを使用して、ターゲットデータベースでクエリを実行してレプリケーションを検証します。

Amazon EC2 クライアントを使用してデータベースにアクセスすると、インターネットからデータベースにアクセスするよりも、次のような利点があります：
+ データベースへのアクセスを同じ VPC 内のクライアントに制限できます。
+ このチュートリアルで使用するツールは、このチュートリアルで推奨される Amazon Linux 2023 で動作し、簡単にインストールできることが確認されている。
+ VPC 内のコンポーネント間のデータオペレーションは、通常、インターネット経由のコンポーネントよりも優れたパフォーマンスを発揮します。

**Amazon EC2 クライアントを作成して構成し、ソースデータベースに取り込むには**

1. Amazon EC2 コンソール [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)を開きます。

1. **[Dashboard]** (ダッシュボード) で、**[Launch instance]** (インスタンスの起動) を選択します。

1. **[インスタンスを起動]** ページで、次の値を入力します。

   1. **[名前とタグ]** セクションの **[名前]** には、**DMSClient** と入力する。

   1. **アプリケーションと OS のイメージ (Amazon マシンイメージ)** セクションの設定はそのままにする。

   1. **[インスタンスタイプ]** セクションで **[t2.xlarge]** を選択する。

   1. **[キーペア (ログイン)]** セクションで、**[新しいキーペアを作成する]** を選択する。

   1. **[キーペアの作成]** ページで、次のとおり設定する。
      + **キーペア名:** **DMSKeyPair**
      + **キーペアタイプ**: **RSA** のままにする
      + **プライベートキーファイル形式**: MacOS または Linux の OpenSSH の場合は **[pem]**、Windows の PuTTY の場合は **[ppk]** を選択する。

      プロンプトが表示されたら、キーファイルを保存します。
**注記**  
新しいキーペアを作成するのではなく、既存の Amazon EC2 キーペアを使用することもできます。

   1. **[ネットワーク設定]** セクションで、**[編集]** をクリックする。以下の設定を選択します。
      + **VPC - *必須***: **DMSVPC-vpc** VPC のために記録しておいた ID を持つ VPC を選択する。
      + **[サブネット]**: 最初のパブリックサブネットを選択する。
      + **パブリック IP の自動割り当て**: **[有効]** を選択する。

      残りの設定はそのままにして、**[インスタンスを起動]** をクリックします。

## ソースデータベースに挿入する
<a name="CHAP_GettingStarted.Prerequisites.Populate"></a>

このセクションでは、後で使用するためのソースデータベースとターゲットデータベースのエンドポイントを検索し、次のツールを使用してソースデータベースに挿入します。
+ Git、ソースデータベースに入力させるスクリプトをダウンロードします。
+ MariaDB クライアント。このスクリプトを実行するクライアントです。

### エンドポイントを取得する
<a name="CHAP_GettingStarted.Prerequisites.Populate.Hosts"></a>

RDS for MariaDB および RDS for PostgreSQL DB インスタンスのエンドポイントを見つけて後で使うためメモします。

**DB インスタンスエンドポイントの検索**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) で Amazon RDS コンソールを開きます。

1. ナビゲーションペインで、**[Databases]** (データベース) を選択します。

1. **[dms-mariadb]** データベースを選択して、データベースの **[エンドポイント]** の値をメモしておきます。

1. 前のステップを**dms-postgresql** データベースに対して繰り返します。

### ソースデータベースに挿入する
<a name="CHAP_GettingStarted.Prerequisites.Populate.Git"></a>

次に、クライアントインスタンスに接続し、必要なソフトウェアをインストールし、Git から AWS サンプルデータベーススクリプトをダウンロードして、スクリプトを実行してソースデータベースを入力します。

**ソースデータベースに挿入するには**

1. 前の手順で保存したホスト名と公開キーを使用して、クライアントインスタンスに接続します。

   Amazon EC2 インスタンスへの接続の詳細については、「*Amazon EC2 ユーザーガイド*」の「[インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)」を参照してください。
**注記**  
PuTTY を使用している場合は、**[Connection]** (接続) 設定で TCP キープアライブを有効にし、接続が非アクティブ状態からタイムアウトしないようにします。

1. Git、MariaDB、PostgreSQL をインストールします。必要に応じてインストールを確認します。

   ```
   $ sudo yum install git
   $ sudo dnf install mariadb105
   $ sudo dnf install postgresql15
   ```

1. GitHub からデータベース作成スクリプトをダウンロードするには、次のコマンドを実行します。

   ```
   git clone https://github.com/aws-samples/aws-database-migration-samples.git
   ```

1. `aws-database-migration-samples/mysql/sampledb/v1/` ディレクトリを変更します。

1. 以下のコマンドを実行してください。以前にメモしたソース RDS インスタンスのエンドポイントを指定します。たとえば、`dms-mariadb.cdv5fbeyiy4e.us-east-1.rds.amazonaws.com`。

   ```
   mysql -h dms-mariadb.abcdefghij01.us-east-1.rds.amazonaws.com -P 3306 -u admin -p dms_sample < ~/aws-database-migration-samples/mysql/sampledb/v1/install-rds.sql
   ```

1. データベース作成スクリプトを実行します。スクリプトは、スキーマを作成してデータを代入するのに最大 45 分かかります。スクリプトが表示するエラーや警告は無視して構いません。