AWS Database Migration Service での SSL の使用 - AWS Database Migration Service

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

AWS Database Migration Service での SSL の使用

Secure Sockets Layer (SSL) を使用することで、ソースおよびターゲットエンドポイントへの接続を暗号化できます。これを行うには、AWS DMS マネジメントコンソールまたは AWS DMS API を使用してエンドポイントに証明書を割り当てます。AWS DMS コンソールを使用して証明書を管理することもできます。

どのデータベースも同じ方法で SSL を使用しているとは限りません。Amazon Aurora MySQL 互換エディションは、SSL のエンドポイントとして、サーバー名、クラスター内のプライマリ インスタンスのエンドポイントを使用します。Amazon Redshift エンドポイントではすでに SSL 接続が使用されているため、AWS DMS によりセットアップされた SSL 接続は必要ありません。Oracle エンドポイントには追加の手順が必要です。詳細については、「Oracle エンドポイントでの SSL のサポート」をご参照ください。

エンドポイントに証明書を割り当てるには、ルート証明書を指定するか、エンドポイントにデプロイされるサーバー SSL 証明書の署名に使用された、ルートに導く (証明書バンドルとして) 中間 CA 証明書チェーンを指定します。証明書は、PEM 形式の X509 ファイルとしてのみ受け入れられます。証明書をインポートすると、エンドポイントにその証明書を指定するために使用できる Amazon リソースネーム (ARN) を受け取ります。Amazon RDS を使用する場合は、Amazon RDS によってホストされている rds-combined-ca-bundle.pem ファイルで提供されているルート CA と証明書バンドルをダウンロードできます。このファイルのダウンロード方法については、Amazon RDS ユーザーガイド‭ の「SSL/TLS を使用した DB インスタンス接続の暗号化」をご参照ください。

SSL 証明書認証に使用する SSL モードは、複数の中から選択できます。

  • none – 接続は暗号化されていません。このオプションは安全ではありませんが、必要なオーバーヘッドが小さくなります。

  • require – 接続は SSL (TLS) を使用して暗号化されますが、CA 検証は行われません。このオプションは安全性が高まりますが、必要なオーバーヘッドが増えます。

  • verify-ca – 接続は暗号化されています。このオプションは安全性が高まりますが、必要なオーバーヘッドが増えます。このオプションでは、サーバー証明書が認証されます。

  • verify-full – 接続は暗号化されています。このオプションは安全性が高まりますが、必要なオーバーヘッドが増えます。このオプションでは、サーバー証明書が認証され、サーバーのホスト名が証明書のホスト名属性と一致することが確認されます。

すべての SSL モードがすべてのデータベースエンドポイントで機能するわけではありません。次の表は、各データベースエンジンでサポートされている SSL モードを示しています。

DB エンジン

なし

require

verify-ca

verify-full

MySQL/MariaDB/Amazon Aurora MySQL

デフォルト値 サポート外 サポート対象 サポート対象

Microsoft SQL Server

デフォルト値 サポート対象 サポート外 サポート対象

PostgreSQL

デフォルト値 サポート対象 サポート対象 サポート対象

Amazon Redshift

デフォルト値 SSL が有効でない SSL が有効でない SSL が有効でない

Oracle

デフォルト値 サポート外 サポート対象 サポート外

SAP ASE

デフォルト値 SSL が有効でない SSL が有効でない サポート対象

MongoDB

デフォルト値 サポート対象 サポート外 サポート対象

Db2 LUW

デフォルト値 サポート外 サポート対象 サポート外

Db2 for z/OS

デフォルト値 サポート外 サポート対象 サポート外
注記

DMS コンソールまたは API の SSL モードオプションは、Kinesis や DynamoDB などの一部のデータ ストリーミングおよび NoSQL サービスには適用されません。これらはデフォルトで安全なため、DMS は SSL モードの設定が none と等しくなっていることを示します (SSL モード=なし)。SSL を使用するために、エンドポイントに追加の設定は必要ありません。例えば、Kinesis をターゲット エンドポイントとして使用する場合、デフォルトでセキュリティで保護されます。Kinesis への API コールはすべて SSL を使用するため、DMS エンドポイントに追加の SSL オプションは不要です。DMS が Kinesis Data Stream への接続時にデフォルトで使用する HTTPS プロトコルを使用して、SSL エンドポイントを介して安全にデータを保存し取得できます。

AWS DMS で SSL を使用する場合の制限

AWS DMS で SSL を使用する際の制限事項を次に示します。

  • Amazon Redshift ターゲット エンドポイントへの SSL 接続には対応していません。AWS DMS は Amazon S3 バケットを使用してデータを Amazon Redshift データベースに転送します。この転送は、Amazon Redshift によってデフォルトで暗号化されます。

  • SSL が有効な Oracle エンドポイントで変更データキャプチャ (CDC) タスクを実行すると、SQL タイムアウトが発生することがあります。CDC カウンターに想定の数値が反映されないという問題がある場合は、タスク設定の ChangeProcessingTuning セクションの MinimumTransactionSize パラメータに小さい値を設定します。最低値 100 から始めることができます。MinimumTransactionSize パラメータの詳細については、「変更処理のチューニング設定」をご参照ください。

  • インポートできる証明書の形式は、.pem 形式および .sso(Oracle ウォレット)形式のみです。

  • 場合によっては、サーバーの SSL 証明書が中間認証局 (CA) によって署名されていることがあります。その場合は、中間 CA からルート CA までの証明書チェーン全体が 1 つの.pem ファイルとしてインポートされていることを確認します。

  • サーバーで自己署名証明書を使用している場合、SSL モードとして [require] を選択します。require SSL モードでは、サーバーの SSL 証明書が暗黙的に信頼され、証明書が CA により署名されたかどうかの検証は試行されません。

証明書の管理

DMS コンソールを使用すると、SSL 証明書を表示および管理できます。DMS コンソールを使用して証明書をインポートすることもできます。


                     AWS Database Migration Service SSL 証明書管理

MySQL 互換、PostgreSQL、または SQL Server のエンドポイントでの SSL の有効化

新しく作成したエンドポイントまたは既存のエンドポイントに SSL 接続を追加できます。

SSL を使用する AWS DMS エンドポイントを作成するには
  1. AWS Management Console にサインインし、AWS DMS コンソール (https://console.aws.amazon.com/dms/v2/) を開きます。

    AWS Identity and Access Management (IAM) ユーザーとしてサインインしている場合は、AWS DMS にアクセスするための適切なアクセス許可があることを確認します。データベース移行に必要なアクセス許可の詳細については、「AWS DMS の使用に必要な IAM アクセス許可」をご参照ください。

  2. ナビゲーションペインで [Certificates] を選択します。

  3. [Import Certificate] を選択します。

  4. エンドポイントへの接続の暗号化に使用する証明書をアップロードします。

    注記

    エンドポイントの作成時や変更時に [Create database endpoint] (データベース エンドポイント作成) ページの[Add new CA certificate] (新規 CA 証明書追加) を選択することにより、 AWS DMS コンソールを使用して証明書をアップロードすることもできます。

    ターゲットとして Aurora サーバーレスの場合は、Aurora サーバーレスでの TLS/SSL の使用に記載されている証明書を取得します。

  5. ステップ 2: ソースエンドポイントとターゲットエンドポイントを指定するでの説明に従って、エンドポイントを作成します。

SSL を使用できるように既存の AWS DMS エンドポイントを変更するには
  1. AWS Management Console にサインインし、AWS DMS コンソール (https://console.aws.amazon.com/dms/v2/) を開きます。

    IAM ユーザーとしてサインインしている場合は、AWS DMS にアクセスするための適切なアクセス許可があることを確認します。データベース移行に必要なアクセス許可の詳細については、「AWS DMS の使用に必要な IAM アクセス許可」をご参照ください。

  2. ナビゲーションペインで [Certificates] を選択します。

  3. [Import Certificate] を選択します。

  4. エンドポイントへの接続の暗号化に使用する証明書をアップロードします。

    注記

    エンドポイントの作成時や変更時に [Create database endpoint] (データベース エンドポイント作成) ページの[Add new CA certificate] (新規 CA 証明書追加) を選択することにより、 AWS DMS コンソールを使用して証明書をアップロードすることもできます。

  5. ナビゲーションペインで、[Endpoints] を選択し、変更するエンドポイントを選択して [Modify] を選択します。

  6. SSL モードの値を選択します。

    [verify-ca] モードまたは [verify-full] モードを選択した場合は、次に示すように、使用する証明書を [CA 証明書] に指定します。

    
                             AWS Database Migration Service SSL 証明書管理

  7. [Modify] (変更) を選択します。

  8. エンドポイントが変更されている場合は、エンドポイントを選択して [接続のテスト] を選択し、SSL 接続が機能しているかどうかを調べます。

ソースおよびターゲットエンドポイントを作成したら、これらのエンドポイントを使用するタスクを作成します。タスクの作成に関する詳細については、「ステップ 3: タスクを作成してデータを移行する」をご参照ください。