AWS DMS エンドポイントのエンドポイント設定を追加または変更するにはどうすればよいですか?

所要時間2分
0

AWS Database Migration Service (AWS DMS) エンドポイントの接続属性を追加または変更したいと考えています。

簡単な説明

[エンドポイント設定] (旧 [追加の接続属性]) では、AWS DMS タスクに使用する、エンドポイント固有の追加設定を定義します。例えば、エンドポイント設定を使用して、特定のエンドポイントのタイムアウト設定、タイムゾーン設定、ファイルサイズの設定を制御します。AWS DMS エンドポイント設定を追加または変更するには、以下のオプションを使用します。

  • AWS DMS コンソール
  • AWS コマンドラインインターフェイス (AWS CLI)
  • AWS CloudFormation

解決策

注: AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用しているかどうかを確認してください。

AWS DMS コンソールを使用して追加の接続属性を含む新しいエンドポイントを作成する

1.    AWS DMS コンソールを開き、エンドポイントを作成する AWS リージョンを選択します。

2.    ナビゲーションペインから、[エンドポイント] を選択します。

3.    [エンドポイントの作成] をクリックします。

4.    [エンドポイントタイプ] を選択し、[エンドポイント設定] に詳細を入力します。

5.    [エンドポイント設定] セクションを展開します。

6.    [新しい設定の追加] をクリックします。本ウィザードまたは JSON エディターを使用して、エンドポイントの名前と値を指定します。

例:

{
  "CsvRowDelimiter": "\\n",
  "CsvDelimiter": ",",
  "CompressionType": "GZIP",
  "DataFormat": "parquet",
  "EnableStatistics": true,
  "DatePartitionEnabled": false
}

7.    (オプション) **[エンドポイント接続属性を使用]**をクリックします。追加の接続属性 (extra connection attribute: ECA) を入力します。各フィールドはセミコロンで区切ってください。

例:

compressionType=GZIP;csvDelimiter=,;csvRowDelimiter=\n;datePartitionEnabled=false;

8.    [エンドポイント接続のテスト] セクションを展開します。

9.    ご使用の VPCレプリケーションインスタンスを選択します。

9.    [テストの実行] をクリックします。

10.    [エンドポイントの作成] をクリックします。

AWS DMS コンソールを使用して既存のエンドポイントにエンドポイント設定 (または ECA) を追加する

  1. AWS DMS コンソールを開き、エンドポイントがある AWS リージョンを選択します。
  2. ナビゲーションペインで [エンドポイント] をクリックし、変更するエンドポイントを選択します。
  3. [アクション][変更] の順にクリックします。
  4. [エンドポイント設定] セクションを展開し、当該のウィザードまたは JSON エディターを使用してエンドポイント設定のキーと値を入力します。
  5. [保存] を選択します。
  6. エンドポイントを再度選択します。
  7. [アクション][接続のテスト] の順にクリックします。
  8. レプリケーションインスタンスを選択し、[テストの実行] をクリックします。

AWS CLI を使用して、カスタムエンドポイント設定で新しいエンドポイントを作成する

1.    AWS CLI をインストールして設定します。エンドポイントを作成する AWS リージョンを選択します。

2.    次のように create-endpoint コマンドを実行します。

aws dms create-endpoint --endpoint-identifier <value> --endpoint-type <value> --engine-name <value> --s3-settings ServiceAccessRoleArn=arn:aws:iam::1111111111111:role/<role-name>,BucketName=<bucket-name>,CompressionType=GZIP,MaxFileSize=32000
  1. 新規作成されたエンドポイントとレプリケーションインスタンスとの接続をテストします。
aws dms test-connection--replication-instance-arn <value>
--endpoint-arn <value>

AWS CLI を使用して既存のエンドポイントにエンドポイント設定を追加する

1.    AWS CLI をインストールして設定します。エンドポイントを作成する AWS リージョンを選択します。

2.    次のように modify-endpoint コマンドを実行します。

aws dms modify-endpoint--endpoint-arn <value>
--s3-settings Rfc4180=true,AddColumnName=true,CdcInsertsOnly=true,MaxFileSize=64000

3.    変更されたエンドポイントとレプリケーションインスタンスとの接続をテストします。

aws dms test-connection--replication-instance-arn <value>
--endpoint-arn <value>

AWS CloudFormation を使用して、カスタムエンドポイント設定で新しいエンドポイントを作成する

1.    CloudFormation コンソールを開きます。エンドポイントを作成する AWS リージョンを選択します。

2.    [スタックの作成] をクリックします。

3.    [テンプレートの準備完了] をクリックします。

4.    [テンプレートファイルのアップロード] をクリックします。

5.    YAML または JSON CloudFormation ファイルを作成します。

例:

AWSTemplateFormatVersion: 2010-09-09
Description: "S3 target Endpoint"
Resources:
     S3TargetEndpoint:
        Type: AWS::DMS::Endpoint
        Properties:
            EndpointIdentifier: s3-Target-endpoint
            EndpointType: target
            EngineName: s3
            S3Settings:
                ServiceAccessRoleArn: arn:aws:iam::<AWS-account-number>:role/<role-name>
                BucketName: <bucket-name>
                AddColumnName: true
                CdcInsertsOnly: true
                MaxFileSize: 32000

6.    [次へ] をクリックします。

  1. スタックの名前を入力します。

8.    DMS リソースの作成に必要なアクセス許可を持つ IAM ロールを割り当てます。

9.    [次へ] をクリックします。

10.    [送信] をクリックします。

AWS CloudFormation を使用して、既存のエンドポイントにエンドポイント設定を追加する

1.    CloudFormation コンソールを開きます。エンドポイントを作成する AWS リージョンを選択します。

2.    既存のスタックを選択し、[更新] をクリック選択します。

3.    [スタックの更新] ページで、[既存テンプレートを置き換える] をクリックします。

4.    [テンプレートの指定] で、[テンプレートファイルのアップロード] をクリックします。次のサンプルテンプレートを使用します。

AWSTemplateFormatVersion: 2010-09-09
Description: "Endpoint S3 target"
Resources:
     BasicS3TargetEndpoint:
        Type: AWS::DMS::Endpoint
        Properties:
            EndpointIdentifier: s3-Target-endpoint
            EndpointType: target
            EngineName: s3
            S3Settings:
                ServiceAccessRoleArn: arn:aws:iam::<AWS-account-number>:role/<role-name>
                BucketName: <bucket-name>
                AddColumnName: true
                CdcInsertsAndUpdates: true
                MaxFileSize: 64000

5.    [次へ] をクリックします。

6.    [スタックの詳細を指定] ページで、[次へ] をクリックします。

7.    (オプション) [スタックオプションの設定] ページの [タグ] で、タグを追加します。[アクセス許可] で、更新を代行する IAM ロールを選択します。続いて、[次へ] をクリックします。

8.    [送信] をクリックします。

旧 [追加の接続属性]

--extra-connection-attributes ([追加の接続属性]) オプションを使用して、エンドポイントを作成および変更できます。[追加の接続属性] を使用すれば、エンドポイントタイプを明示的に指定する必要がなくなります。

例:

aws dms create-endpoint
--endpoint-identifier <value>
--endpoint-type <value>
--engine-name <value>
--username <value>
--password <value>
--server-name <value>
--port <value>
--extra-connection-attributes encryptionMode=SSE_KMS;maxFileSize=512


aws dms modify-endpoint
--endpoint-arn <value>
--extra-connection-attributes encryptionMode=SSE_KMS;maxFileSize=512

関連情報

AWS DMS エンドポイントの使用

AWS::DMS::Endpoint

AWS公式
AWS公式更新しました 6ヶ月前