AWS Database Migration Service のターゲットとしての Amazon Redshift データベースの使用 - AWS Database Migration Service

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

AWS Database Migration Service のターゲットとしての Amazon Redshift データベースの使用

AWS Database Migration Service を使用して Amazon Redshift データベースにデータを移行できます。Amazon Redshift は、クラウド内でのフルマネージド型、ペタバイトスケールのデータウェアハウスサービスです。ターゲットとして Amazon Redshift データベースを使用すると、サポートされている他のすべてのソースデータベースからデータを移行できます。

Amazon Redshift クラスターは、レプリケーションインスタンスと同じ AWS アカウントと同じ AWS リージョンに存在している必要があります。

Amazon Redshift へのデータベース移行中、AWS DMS はまずデータを Amazon S3 バケットに移動します。ファイルが Amazon S3 バケットに移動されると、AWS DMS はそれらのファイルを Amazon Redshift データウェアハウス内の適切なテーブルに転送します。AWS DMS は S3 バケットを Amazon Redshift データベースと同じ AWS リージョンに作成します。AWS DMS レプリケーションインスタンスは、それと同じ AWS リージョンに存在している必要があります。

AWS CLI または DMS API を使用してデータを Amazon Redshift に移行する場合、S3 アクセスを許可するように AWS Identity and Access Management (IAM) ロールを設定します。この IAM ロールの作成に関する詳細については、「AWS CLI と AWS DMS API で使用する IAM ロールの作成」を参照してください。

Amazon Redshift エンドポイントは、以下の完全なオートメーションを行います。

  • スキーマ生成およびデータ型マッピング

  • ソースデータベーステーブルの全ロード

  • ソーステーブルに加えられた変更の増分ロード

  • ソーステーブルに加えられたスキーマ変更のデータ定義言語 (DDL) での適用

  • 全ロードプロセスと変更データキャプチャ (CDC) プロセスの間の同期

AWS Database Migration Service では、全ロードオペレーションと変更処理オペレーションの両方がサポートされています。AWS DMS は、ソースデータベースからデータを読み取り、一連のカンマ区切り値 (.csv) ファイルを作成します。全ロードオペレーションの場合、AWS DMS はテーブルごとにファイルを作成します。次に、AWS DMS は各テーブルのテーブルファイルを Amazon S3 内の別個のフォルダにコピーします。ファイルが Amazon S3 にアップロードされると、AWS DMS がコピーコマンドを送信し、ファイル内のデータが Amazon Redshift にコピーされます。変更処理オペレーションの場合、AWS DMS は差分変更を .csv ファイルにコピーします。その後、AWS DMS は差分変更ファイルを Amazon S3 にアップロードし、データを Amazon Redshift にコピーします。

AWS DMS のターゲットとしての Amazon Redshift の使用の詳細については、以下のセクションを参照してください。

AWS Database Migration Service のターゲットとして Amazon Redshift データベースを使用する場合の前提条件

以下のリストでは、データ移行のターゲットとして Amazon Redshift を使用する場合に必要な前提条件について説明します。

  • Amazon Redshift クラスターを起動するには、AWS マネジメントコンソールを使用します。AWS アカウントと Amazon Redshift クラスターに関する基本的な情報 (パスワード、ユーザー名、データベース名など) を書き留めます。これらの値は、Amazon Redshift ターゲットエンドポイントを作成するときに必要になります。

  • Amazon Redshift クラスターは、レプリケーションインスタンスと同じ AWS アカウントと同じ AWS リージョンに存在している必要があります。

  • AWS DMS レプリケーションインスタンスには、クラスターで使用される Amazon Redshift エンドポイント (ホスト名とポート) へのネットワーク接続が必要です。

  • AWS DMS は Amazon S3 バケットを使用してデータを Amazon Redshift データベースに転送します。対象: AWS DMS バケットを作成するには、コンソールはIAMロールを使用します。 dms-access-for-endpoint。 _を使用する場合 AWS CLI または DMS API を使用してデータベース移行を作成します。 Amazon Redshift ターゲットデータベースとして、このIAM役割を作成する必要があります。このロールの作成に関する詳細については、「AWS CLI と AWS DMS API で使用する IAM ロールの作成」を参照してください。

  • AWS DMS は BLOB、CLOB、NCLOB をターゲットの Amazon Redshift インスタンスで VARCHAR に変換します。Amazon Redshift は 64 KB を超える VARCHAR をサポートしないため、従来の LOB を Amazon Redshift に保存することはできません。

  • AWS DMS が CDC 中に Amazon Redshift ターゲットテーブルに対する変更を処理するには、ターゲットメタデータタスク設定 BatchApplyEnabledtrue に設定します。ソーステーブルとターゲットテーブルの両方にプライマリキーが必要です。プライマリキーがない場合、変更はステートメントによって適用されます。また、ターゲットレイテンシーを引き起こし、クラスターコミットキューに影響を与えるため、CDC 中のタスクのパフォーマンスに悪影響を及ぼす可能性があります。

AWS Database Migration Service のターゲットとして Amazon Redshift を使用する場合の制限

​ターゲットとして Amazon Redshift データベースを使用する場合、AWS DMS では以下のものがサポートされません。

  • 以下の DDL はサポートされていません。

    ALTER TABLE table name MODIFY COLUMN column name data type;
  • AWS DMS は、名前がアンダースコア (_) で始まるスキーマへの変更を移行またはレプリケートできません。名前がアンダースコアで始まるスキーマがある場合は、マッピング変換を使用してターゲットでスキーマの名前を変更してください。

  • Amazon Redshift は 64 KB より大きい VARCHAR をサポートしていません。従来のデータベースからの LOB を Amazon Redshift に保存することはできません。

  • 複数の列のプライマリキーを持つテーブルへの DELETE ステートメントの適用は、プライマリキーの列名で予約語が使用されている場合にはサポートされません。Amazon Redshift の予約語のリストを見るには、こちらをクリックしてください。

Amazon Redshift のターゲットとしての AWS Database Migration Service データベースの設定

AWS Database Migration Service インスタンスを使用できるように Amazon Redshift を設定する必要があります。以下の表では、Amazon Redshift エンドポイントに使用できる設定プロパティについて説明します。

プロパティ

説明:

サーバー

使用する Amazon Redshift クラスターの名前。

port

Amazon Redshift のポート番号。デフォルト値は 5439 です。

username

登録済みユーザーの Amazon Redshift ユーザー名。

パスワード

username プロパティで指定されたユーザーのパスワード。

database ()

使用する Amazon Redshift データウェアハウス (サービス)。

Amazon Redshift エンドポイントに追加の接続文字列属性を追加する場合、maxFileSize 属性と fileTransferUploadStreams 属性を指定できます。これらの属性の詳細については、「AWS DMS のターゲットとして Amazon Redshift を使用する場合の追加の接続属性」を参照してください。

Amazon Redshift で拡張された VPC ルーティングを AWS Database Migration Service のターゲットとして使用する

Amazon Redshift ターゲットで拡張された VPC のルーティングを使用すると、Amazon Redshift クラスターとデータリポジトリ間のすべての COPY トラフィックは VPC を介します。拡張された VPC ルーティングは、他のリソースに Amazon Redshift がアクセスする方法に影響を与えるため、VPC を正しく設定していないと、COPY コマンドが失敗することがあります。

AWS DMS がこの動作の影響を受けることがあるのは、COPY コマンドを使用して S3 内のデータを Amazon Redshift クラスターに移動するためです。

以下に示しているのは、AWS DMS が Amazon Redshift ターゲットにデータをロードするステップです。

  1. AWS DMS がソースからレプリケーションサーバー上の .csv ファイルにデータをコピーします。

  2. AWS DMS が AWS SDK を使用してアカウントの S3 バケットに .csv ファイルをコピーします。

  3. AWS DMS がその後、Amazon Redshift で COPY コマンドを使用して、S3 内の .csv ファイルから Amazon Redshift 内の該当するテーブルにデータをコピーします。

拡張された VPC ルーティングが有効でない場合、Amazon Redshift は AWS ネットワークにおけるその他のサービスへのトラフィックを含むトラフィックをインターネット経由でルーティングします。この機能が有効でない場合は、ネットワークパスを設定する必要はありません。この機能が有効な場合は、クラスターの VPC とデータリソースとの間のネットワークパスを別に作成する必要があります。必要な設定の詳細については、Amazon Redshift のドキュメントの「拡張された VPC ルーティング」を参照してください。

Amazon Redshift ターゲットデータを暗号化する AWS KMS キーの作成と使用

ターゲットデータが Amazon Redshift にコピーされる前に、Amazon S3 にプッシュされるターゲットデータを暗号化できます。このため、カスタム AWS KMS キーを作成して使用できます。Amazon Redshift エンドポイント作成時に次のいずれかのメカニズムを使用して、ターゲットデータを暗号化するために作成したキーを使用できます。

KMS キーを使用して Amazon Redshift ターゲットデータを暗号化するには、Amazon Redshift データにアクセスする権限がある AWS Identity and Access Management (IAM) ロールが必要です。この IAM ロールは次に、作成した暗号化キーにアタッチされるポリシー (キーポリシー) にアクセスします。これは、IAM コンソールで次を作成して実行します。

  • Amazon が管理するポリシーがある IAM ロールです。

  • このロールを参照するキーポリシーがある KMS 暗号化キーです。

以下の手順でこれを行う方法について説明します。

必要な Amazon 管理ポリシーで IAM ロールを作成するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [ロール] を選択します。[ロール] ページが開きます。

  3. [Create Role (ロールの作成)] を選択します。[ロールの作成] ページが開きます。

  4. 信頼されたエンティティとして選択された [AWS のサービス] で、ロールを使用するサービスとして [DMS] を選択します。

  5. [次] を選択します。アクセス許可 [Attach permissions policies (アクセス権限ポリシーをアタッチする)] ページが表示されます。

  6. AmazonDMSRedshiftS3Role ポリシーを見つけて選択します。

  7. [次] を選択します。タグ [タグの追加] ページが表示されます。ここでは、任意のタグを追加することができます。

  8. [次] を選択します。レビュー 結果を確認します

  9. 必要な設定が構成されている場合にはロールに名前 (DMS-Redshift-endpoint-access-role など) および追加の説明を入力し、[ロールの作成] を選択します。[ロール] ページが開き、ロールが作成されたことを示すメッセージが表示されます。

これで、暗号化のために Amazon Redshift リソースにアクセスする新しいロールが指定した名前 (DMS-Redshift-endpoint-access-role など) で作成されました。

IAM ロールを参照するキーポリシーがある AWS KMS 暗号化キーを作成するには

注記

AWS DMS と AWS KMS 暗号化キーの連携については、「暗号化キーの設定と AWS KMS のアクセス許可の指定」を参照してください。

  1. AWS マネジメントコンソール にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョンを変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

  4. [キーの作成] を選択します。[キーの設定] ページが開きます。

  5. [キーの種類] で、[対称] を選択します。

    注記

    このキーを作成する場合、作成できるのは対称キーのみです。Amazon Redshift などすべての AWS サービスでは対称暗号化キーのみを使用できます。

  6. [アドバンスドオプション] を選択します。[キーマテリアルのオリジン] で、[KMS] が選択されていることを確認し、[次へ] を選択します。[ラベルの追加] ページが開きます。

  7. [エイリアスと説明の作成] で、キーのエイリアス (DMS-Redshift-endpoint-encryption-key など) と追加の説明を入力します。

  8. [タグ] で、キーを識別してその使用状況を追跡するために役立つ任意のタグを追加したら、[次へ] を選択します。[キー管理アクセス許可の定義] ページが開き、選択できるユーザーおよびロールの一覧が表示されます。

  9. キーを管理するユーザーおよびロールを追加します。このユーザーとロールにキーを管理するために必要な権限があることを確認してください。

  10. [キーの削除] で、キー管理者がそのキーを削除できるかどうかを選択したら、[次へ] を選択します。[キーの使用アクセス許可の定義] ページが開き、選択できる追加のユーザーおよびロールの一覧が表示されます。

  11. [このアカウント] で、Amazon Redshift ターゲットに対して暗号化オペレーションを実行できるユーザーを選択します。また、[ロール] で以前に作成したロールを選択して、Amazon Redshift ターゲットオブジェクトを暗号化するためのアクセスを有効化します (DMS-Redshift-endpoint-access-role など)。

  12. リストにない他のアカウントに同じアクセス権限を付与するには、[他の AWS アカウント] で [別の AWS アカウントを追加する]、[次へ] の順に選択します。[キーポリシーの表示と編集] ページが開き、既存の JSON に入力して表示および編集できるキーポリシーの JSON が表示されます。ここでは、前のステップで選択したロールおよびユーザー (たとえば、AdminUser1) を参照するキーポリシーを表示できます。また、次の例に示すように、異なるプリンシパル (ユーザーとロール) に許可される別々のキーアクションも確認できます。

    { "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/Admin" ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/DMS-Redshift-endpoint-access-role", "arn:aws:iam::111122223333:role/Admin", "arn:aws:iam::111122223333:role/User1" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/DMS-Redshift-endpoint-access-role", "arn:aws:iam::111122223333:role/Admin", "arn:aws:iam::111122223333:role/User1" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ]
  13. [Finish (完了)] を選択します。[暗号化キー] ページが開き、マスター暗号化キーが作成されたことを示すメッセージが表示されます。

これで、指定したエイリアス (DMS-Redshift-endpoint-encryption-key など) を使用する新しい KMS キーが作成されました。このキーによって AWS DMS は Amazon Redshift ターゲットデータを暗号化できます。

AWS DMS のターゲットとして Amazon Redshift を使用する場合のエンドポイントの設定

エンドポイントの設定を使用して、追加の接続属性の使用と同様に、Amazon Redshift ターゲットを構成できます。AWS CLI の --redshift-settings "json-settings" オプションで create-endpoint コマンドを使用してターゲットエンドポイントを作成するときに、これらの設定を指定できます。ここで、 json-settings とは、設定を指定するパラメータを含む JSON オブジェクトです。同じファイルを含む.jsonファイルを指定することもできます。 json-settings オブジェクト、たとえば、次のようになります。--redshift-settings file:///your-file-path/my_redshift_settings.json。 ここで、 my_redshift_settings.json は、同じ を含む.json ファイルの名前です。 json-settings object.

エンドポイント設定に使用するパラメータの名前は、相当する追加の接続属性の名前と同じです。ただし、エンドポイント設定のパラメータの名前の最初の文字が大文字である場合は除きます。また、追加の接続属性を使用したすべての Amazon Redshift ターゲットエンドポイント設定で create-endpoint コマンドの --redshift-settings オプションが使用できるわけでもありません。使用可能な設定の詳細については、 AWS CLI への通話 create-endpoint、を参照 エンドポイントの作成AWS CLI Command Reference 用 AWS DMS. 上述の設定についての詳細は、「AWS DMS のターゲットとして Amazon Redshift を使用する場合の追加の接続属性」の相当する追加の接続属性を参照してください。

Amazon Redshift ターゲットエンドポイント設定を使用して、以下を設定できます。

  • カスタム AWS KMS データ暗号化キー。その後、このキーを使用して、データが Amazon Redshift にコピーされる前に、Amazon S3 にプッシュされるデータを暗号化できます。

  • Amazon Redshift に移行するデータ用の中間ストレージとしてのカスタム S3 バケット。

データ暗号化に対する KMS キー設定

次の例では、S3 にプッシュされるデータを暗号化するカスタム KMS キーの設定を示しています。開始するには、AWS CLI で次の create-endpoint 呼び出しを行う場合があります。

aws dms create-endpoint --endpoint-identifier redshift-target-endpoint --endpoint-type target --engine-name redshift --username your-username --password your-password --server-name your-server-name --port 5439 --database-name your-db-name --redshift-settings '{"EncryptionMode": "SSE_KMS", "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/24c3c5a1-f34a-4519-a85b-2debbef226d1"}'

ここでは、--redshift-settings オプションで指定される JSON オブジェクトは 2 つのパラメータを定義します。1つは EncryptionMode 値 を持つパラメータ SSE_KMS。 もう1つは ServerSideEncryptionKmsKeyId 値 を持つパラメータ arn:aws:kms:us-east-1:111122223333:key/24c3c5a1-f34a-4519-a85b-2debbef226d1。 この値は、カスタムKMSキーのAmazonリソース名(ARN)です。

デフォルトでは、S3 データ暗号化は S3 サーバー側の暗号化を使用して行われます。前の例では、 Amazon Redshift 次の例のように、エンドポイントの設定を指定するのと同じです。

aws dms create-endpoint --endpoint-identifier redshift-target-endpoint --endpoint-type target --engine-name redshift --username your-username --password your-password --server-name your-server-name --port 5439 --database-name your-db-name --redshift-settings '{"EncryptionMode": "SSE_S3"}'

S3 サーバー側暗号化の操作の詳細については、以下を参照してください。 サーバー側の暗号化を使用したデータの保護Amazon Simple Storage Service 開発者ガイド.

注記

CLI を使用して、 modify-endpoint コマンドを使用して、 EncryptionMode パラメーター (既存のエンドポイントの) SSE_KMSSSE_S3。 しかし、 EncryptionModeSSE_S3SSE_KMS.

Amazon S3 バケット設定

Amazon Redshift ターゲットエンドポイントにデータを移行する際、AWS DMS はデフォルトの Amazon S3 バケットを中間タスクストレージとして使用し、その後移行されたデータを Amazon Redshift にコピーします。たとえば、KMS データ暗号化キーを使用した Amazon Redshift ターゲットエンドポイントの作成例では、このデフォルトの S3 バケットが使用されています (データ暗号化に対する KMS キー設定を参照)。

代わりに、この中間ストレージにカスタム S3 バケットを指定することもできます。これを行うには、AWS CLI create-endpoint コマンドで --redshift-settings オプションの値に次のパラメータを含めます。

  • BucketName – S3 バケットストレージの名前として指定する文字列。

  • BucketFolder – (オプション) 指定された S3 バケットのストレージフォルダーの名前として指定できる文字列。

  • ServiceAccessRoleArn – S3 バケットへの管理アクセスを許可する IAM ロールの ARN。一般的に、 AmazonDMSRedshiftS3Role ポリシーに基づいてこのロールを作成します。例については、「Amazon Redshift ターゲットデータを暗号化する AWS KMS キーの作成と使用」で、必要な Amazon が管理するポリシーを持つ IAM ロールを作成する手順を参照してください。

    注記

    create-endpoint コマンドの --service-access-role-arn オプションを使用して別の IAM ロールの ARN を指定した場合、その IAM ロールオプションが優先されます。

以下の例では、これらのパラメータを使用して、AWS CLI を使用した以下の create-endpoint 呼び出しでカスタム Amazon S3 バケットを指定しています。

aws dms create-endpoint --endpoint-identifier redshift-target-endpoint --endpoint-type target --engine-name redshift --username your-username --password your-password --server-name your-server-name --port 5439 --database-name your-db-name --redshift-settings '{"ServiceAccessRoleArn": "your-service-access-ARN", "BucketName": "your-bucket-name", "BucketFolder": "your-bucket-folder-name"}'

AWS DMS のターゲットとして Amazon Redshift を使用する場合の追加の接続属性

追加の接続属性を使用して Amazon Redshift ターゲットを設定できます。これらの設定は、ターゲットエンドポイントを作成するときに指定します。接続属性の設定が複数ある場合は、空白を追加せずにそれぞれをセミコロンで区切ります。

以下の表に、Amazon Redshift がターゲットであるときに使用できる追加の接続属性を示します。

Name 説明:

maxFileSize

Amazon Redshift へのデータ転送に使用される .csv ファイルの最大サイズ (KB 単位) を指定します。

デフォルト値 32768 KB(32 MB)

有効な値 1–1.048.576

例: maxFileSize=512

fileTransferUploadStreams

1 つのファイルをアップロードするのに使用されるスレッドの数を指定します。

デフォルト値 10*

有効な値 1–64名

例: fileTransferUploadStreams=20

acceptanydate

0000-00-00 などの無効な日付形式を含む、あらゆる日付形式を受け入れるかどうかを指定します。ブール値。

デフォルト値: false

有効な値: true/false

例: acceptanydate=true

dateformat

日付形式を指定します。これは、文字列入力であり、デフォルトでは空です。デフォルトの形式は、YYYY-MM-DD ですが、DD-MM-YYYY などに変更できます。日の値または時間の値で異なる形式が使用される場合、dateformat パラメータとともに auto 引数を使用します。auto 引数は、dateformat 文字列を使用する場合にサポートされない形式を認識します。auto キーワードでは大文字小文字を区別します。

デフォルト値: 空

有効な値: 'dateformat_string' または auto

例: dateformat=auto

timeformat

時間形式を指定します。これは、文字列入力であり、デフォルトでは空です。auto 引数は、timeformat 文字列を使用する場合にサポートされない形式を認識します。日の値および時間の値でそれぞれ異なる形式が使用される場合、timeformat パラメータとともに auto 引数を使用します。

デフォルト値 10*

有効な値: 'timeformat_string' | 'auto' | 'epochsecs' | 'epochmillisecs'

例: timeformat=auto

emptyasnull

AWS DMS が空の CHAR および VARCHAR フィールドを null として移行するかどうかを指定します。値が true の場合、空の CHAR および VARCHAR フィールドが null として設定されます。

デフォルト値: false

有効な値: true/false

例: emptyasnull=true

truncateColumns

列の仕様に合うよう、該当する文字数で列のデータを切り捨てます。データ型が VARCHAR または CHAR の列、およびサイズが 4 MB 以下の行にのみ適用されます。

デフォルト値: false

有効な値: true/false

例: 。

truncateColumns=true;

removeQuotes

入力データの文字列を囲む引用符を削除します。区切り記号を含む引用符内のすべての文字は保持されます。Amazon Redshift ターゲットの引用符を削除する詳細については、『Amazon Redshift Database Developer Guide』を参照してください。

デフォルト値: false

有効な値: true/false

例: 。

removeQuotes=true;

trimBlanks

VARCHAR 文字列から末尾の空白文字を削除します。このパラメータは VARCHAR データ型の列にのみ適用されます。

デフォルト値: false

有効な値: true/false

例: 。

trimBlanks=false;

encryptionMode データが Amazon Redshift にコピーされる前に S3 にデータをプッシュするために使用するサーバー側の暗号化モードを指定します。有効な値は、SSE_S3 (S3 サーバー側の暗号化) または SSE_KMS (KMS キーの暗号化) です。SSE_KMS を選択する場合、暗号化のために使用する KMS キーの Amazon リソースネーム (ARN) に serverSideEncryptionKmsKeyId パラメータを設定します。
注記

CLI を使用して、 modify-endpoint コマンドを使用して、 encryptionMode 既存のエンドポイントの属性を SSE_KMSSSE_S3。 しかし、 encryptionModeSSE_S3SSE_KMS.

デフォルト値: SSE_S3

有効な値 SSE_S3 または SSE_KMS

例:encryptionMode=SSE_S3;

serverSideEncryptionKmsKeyId 設定する場合 encryptionModeSSE_KMS、このパラメータをKMSキーのARNに設定します。アカウントに作成した KMS キーのリスト内でキーエイリアスを選択すると、この ARN が見つかります。キーを作成するとき、特定のポリシーとロールをこのキーに関連付ける必要があります。詳細については、Amazon Redshift ターゲットデータを暗号化する AWS KMS キーの作成と使用 を参照してください。

例: 。

serverSideEncryptionKmsKeyId=arn:aws:kms:us-east-1:111122223333:key/24c3c5a1-f34a-4519-a85b-2debbef226d1;

Amazon Redshift のターゲットデータ型

AWS DMS の Amazon Redshift エンドポイントでは、Amazon Redshift のほとんどのデータ型がサポートされています。以下の表に、AWS DMSを使用する場合にサポートされる Amazon Redshift のターゲットデータ型と、AWS DMS のデータ型からのデフォルトマッピングを示します。

AWS DMS のデータ型の詳細については、「Data types for AWS Database Migration Service」を参照してください。

AWS DMS データ型

Amazon Redshift データ型

BOOLEAN

BOOL

BYTES

VARCHAR (長さ)

DATE

DATE

TIME

VARCHAR(20)

DATETIME

スケールが 0 以上、6 以下の場合

TIMESTAMP (s)

スケールが 7 以上、9 以下の場合

VARCHAR(37)

INT1

INT2

INT2

INT2

INT4

INT4

INT8

INT8

NUMERIC

スケールが 0 以上、37 以下の場合

NUMERIC (p,s)

スケールが 38 以上、127 以下の場合

VARCHAR (長さ)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

長さが 1 ~ 65,535 の場合、VARCHAR (バイト単位の長さ) を使用します。

長さが 65,536 ~ 2,147,483,647 の場合、VARCHAR (65535) を使用します。

UINT1

INT2

UINT2

INT2

UINT4

INT4

UINT8

NUMERIC (20,0)

WSTRING

長さが 1 ~ 65,535 の場合、NVARCHAR (バイト単位の長さ) を使用します。

長さが 65,536 ~ 2,147,483,647 の場合、NVARCHAR (65535) を使用します。

BLOB

VARCHAR (最大 LOB サイズ *2)

LOB の最大サイズは 31 KB を超えることはできません。Amazon Redshift では 64 KB を超える VARCHAR をサポートしていません。

NCLOB

NVARCHAR (最大 LOB サイズ)

LOB の最大サイズは 63 KB を超えることはできません。Amazon Redshift では 64 KB を超える VARCHAR をサポートしていません。

CLOB

VARCHAR (最大 LOB サイズ)

LOB の最大サイズは 63 KB を超えることはできません。Amazon Redshift では 64 KB を超える VARCHAR をサポートしていません。