DMS Schema Conversion を使用するための前提条件を完了する
DMS Schema Conversion をセットアップするには、次のタスクを実行します。その後、インスタンスプロファイルを設定し、データプロバイダーを追加して、移行プロジェクトを作成できます。
トピック
Amazon VPC を基盤に VPC を作成する
このステップでは、AWS アカウント に仮想プライベートクラウド (VPC) を作成します。この VPC は、Amazon Virtual Private Cloud (Amazon VPC) サービスを基盤としており、AWS リソースのコンテナとします。
DMS Schema Conversion のための VPC を作成するには
AWS マネジメントコンソール にサインインして、Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[Create VPC(VPC の作成)] を選択します。
-
[VPC の作成] ページで、次の設定を入力します。
-
作成するリソース – VPC など
-
名前タグの自動生成 – [自動生成] を選択して、グローバルに一意の名前を入力する。たとえば、
sc-vpcと入力します。 -
[IPv4 CIDR block] (IPv4 CIDR ブロック) –
10.0.1.0/24 -
NAT ゲートウェイ – In 1 AZ
-
[VPC endpoints] (VPC エンドポイント) – なし
-
-
残りの設定はそのままにして、[VPC を作成] をクリックします。
-
[サブネット] を選択して、パブリックサブネット ID とプライベートサブネット ID をメモしておきます。
Amazon RDS データベースに接続するには、パブリックサブネットを備えたサブネットグループを作成します。
オンプレミスのデータベースに接続するには、プライベートサブネットを備えたサブネットグループを作成します。詳細については、「DMS Schema Conversion のインスタンスプロファイルを作成する」を参照してください。
-
[NAT ゲートウェイ] を選択します。[NAT ゲートウェイ] を選択して、[Elastic IP アドレス] をメモしておきます。
AWS DMS がこの NAT ゲートウェイのパブリック IP アドレスからオンプレミスのソースデータベースにアクセスできるようにネットワークを設定します。詳細については、「VPC へのインターネット接続の使用」を参照してください。
Amazon RDS でインスタンスプロファイルとターゲットデータベースを作成する場合は、この VPC を使用します。
Amazon S3 バケットを作成する
移行プロジェクトからの情報を保存するには、Amazon S3 バケットを作成します。DMS Schema Conversion は、この Amazon S3 バケットを使用して、評価レポート、変換済みの SQL コード、データベーススキーマオブジェクトに関する情報などのアイテムを保存します。
DMS Schema Conversion のための Amazon S3 バケットを作成するには
AWS マネジメントコンソール にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
[バケットの作成] を選択します。
-
[バケットの作成] ページで、S3 バケットのグローバルに一意な名前を選択します。たとえば、
sc-s3-bucketと入力します。 -
[AWS リージョン] では、現在作業中のリージョンを作成します。
-
[バケットのバージョニング] では、[有効にする] をオンにします。
-
残りの設定はそのままにして、[バケットを作成] をクリックします。
注記
DMS Schema Conversion (SC) は、Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3-Managed) を使用する S3 バケットでのみ機能します。AWS KMS によるサーバー側の暗号化 (SSE-KMS)、お客様提供のキー (SSE-C)、クライアント側の暗号化など、その他の暗号化設定は、現在 SC ではサポートしていないため、S3 バケットにはアクセスできません。別の暗号化方法を使用する場合は、DMS Schema Conversion で使用する SSE-S3 を使用して別の S3 バケットを作成する必要があります。
AWS Secrets Manager にデータベース認証情報を保存する
ソースデータベースとターゲットデータベースの認証情報は、AWS Secrets Manager に保存します。シークレットは必ず AWS リージョン にレプリケートします。DMS Schema Conversion は、移行プロジェクトのデータベースへの接続に、上記のシークレットを使用します。
データベースの認証情報を AWS Secrets Manager に保存するには
-
AWS マネジメントコンソール にサインインし、AWS Secrets Manager コンソール (https://console.aws.amazon.com/secretsmanager/
) を開きます。 -
[Store a new secret] (新しいシークレットの保存) を選択します。
-
[シークレットのタイプを選択] ページが開きます。シークレットタイプで、保存するデータベース認証情報のタイプを選択します。
-
Amazon RDS データベースの認証情報 – Amazon RDS データベースの認証情報を保存するには、このオプションを選択する。[認証情報] には、作業中のデータベースの認証情報を入力する。[Database] (データベース) で、データベースを選択します。
-
その他のデータベースの認証情報 – Oracle または SQL Server のソースデータベースの認証情報を保存するには、このオプションを選択する。[認証情報] には、作業中のデータベースの認証情報を入力する。
-
その他のシークレットのタイプ – データベースに接続するためのユーザー名とパスワードのみを保存するには、このオプションを選択する。[行の追加] をクリックして、キーバリューのペアを 2 つ追加する。キー名には必ず
usernameとpasswordを使用する。これらのキーに関連する値には、データベースの認証情報を入力する。
-
-
[暗号化キー] では、Secrets Manager がシークレット値の暗号化に使用する AWS KMS を選択します。[次へ] を選択します。
-
[シークレットを設定] ページで、判別しやすい [シークレット名] を入力します。たとえば、
sc-source-secretないしsc-target-secretを入力します。 -
[シークレットをレプリケート] をクリックして、[AWS リージョン] では作業中のリージョンを選択します。[次へ] を選択します。
-
[ローテーションを設定する] ページで、[次へ] をクリックします。
-
[Review] (レビュー) ページで、シークレットの詳細を確認し、[Store] (保存) を選択します。
ソースデータベースとターゲットデータベースの認証情報を保存するには、この手順を繰り返します。
IAM ポリシーを作成する
DMS Schema Conversion が Amazon S3 にアクセスするための IAM ポリシーを作成するには
AWS マネジメントコンソール にサインインして、IAM コンソール https://console.aws.amazon.com/iam/
を開きます。 -
ナビゲーションペインで、[ポリシー] を選択します。
-
[Create policy] (ポリシーの作成) を選択します。
-
[サービスの選択] ページで、リストから [Amazon S3] を選択します。
-
[許可されたアクション] で、
PutObject、GetObject、GetObjectVersion、GetBucketVersioning、GetBucketLocation、ListBucketを選択します。 -
[リソース] で、前のセクションで作成したバケットの ARN を指定します。[次へ] を選択します。
-
[ルールの作成] ページで、わかりやすい名前を入力します。例:
sc-s3-policy。次に、[ポリシーの作成] を選択します。
DMS Schema Conversion が AWS Secrets Manager にアクセスするための IAM ポリシーを作成するには
AWS マネジメントコンソール にサインインして、IAM コンソール https://console.aws.amazon.com/iam/
を開きます。 -
ナビゲーションペインで、[ポリシー] を選択します。
-
[Create policy] (ポリシーの作成) を選択します。
-
[サービスの選択] ページで、リストから [Secrets Manager] を選択します。
-
[次へ] を選択します。[許可を追加] ページが開きます。
-
[許可されたアクション]で、
GetSecretValueとDescribeSecretを選択します。 -
[ルールの作成] ページで、わかりやすい名前を入力します。例:
sc-secrets-manager-policy。次に、[ポリシーの作成] を選択します。
IAM ロールを作成する
移行プロジェクトで使用する AWS Identity and Access Management (IAM) ロールを作成します。DMS Schema Conversion は、このような IAM ロールを使用して、Amazon S3 バケットと AWS Secrets Manager に保存されている データベース認証情報にアクセスします。
Amazon S3 バケットへのアクセスを提供する IAM ロールを作成するには
AWS マネジメントコンソール にサインインして、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
ナビゲーションペインで [Roles] (ロール) を選択します。
-
[ロールの作成] を選択してください。
-
[信頼されたエンティティを選択] ページで、[AWS サービス] を選択します。DMS を選択します。
-
[次へ] を選択します。[許可を追加] ページが開きます。
-
[Filter policies] (ポリシーのフィルタリング) を使用する場合、
S3と入力します。前のセクションでコンソールによって作成された [sc-s3-policy] を選択します。 -
[次へ] を選択します。[名前、確認、および作成] ページが開きます。
-
[ロール名] には判別しやすい名前を入力します。たとえば、
sc-s3-roleと入力します。[ロールの作成] を選択してください。 -
[ロール] ページの [ロール名] には、
sc-s3-roleと入力します。[sc-s3-role] を選択します。 -
[sc-s3-role] ページの [信頼関係] タブをクリックします。[Edit trust policy] (信頼ポリシーを編集) を選択します。
-
この AWS DMS リージョンのサービスプリンシパルの形式は次のとおりです。
dms---region-name.amazonaws.com.rproxy.govskope.caregion-nameをus-east-1などのリージョン名に置き換えます。次のコード例は、us-east-1リージョンのプリンシパルを示しています。dms.us-east-1.amazonaws.com次のコード例は、AWS DMS スキーマ変換にアクセスするための信頼ポリシーを示しています。
AWS Secrets Manager へのアクセスを提供する IAM ロールを作成するには
AWS マネジメントコンソール にサインインして、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
ナビゲーションペインで [Roles] (ロール) を選択します。
-
[ロールの作成] を選択してください。
-
[信頼されたエンティティを選択] ページで、[AWS サービス] を選択します。DMS を選択します。
-
[次へ] を選択します。[許可を追加] ページが開きます。
-
[Filter policies] (ポリシーのフィルタリング) を使用する場合、
s3と入力します。前のセクションで作成した [sc-secrets-manager-policy] を選択します。 -
[次へ] を選択します。[名前、確認、および作成] ページが開きます。
-
[ロール名] には判別しやすい名前を入力します。たとえば、
sc-secrets-manager-roleと入力します。[ロールの作成] を選択してください。 -
[ロール] ページの [ロール名] には、
sc-secrets-manager-roleと入力します。[sc-secrets-manager-role] を選択します。 -
[sc-secrets-manager-role] ページで、[信頼関係] タブをクリックします。[Edit trust policy] (信頼ポリシーを編集) を選択します。
-
[信頼ポリシーを編集] ページで、
schema-conversion.dms.amazonaws.comと AWS DMS のリージョンのサービスプリンシパルを信頼できるエンティティとして使用するようにロールの信頼関係を編集します。この AWS DMS リージョンのサービスプリンシパルの形式は次のとおりです。dms---region-name.amazonaws.com.rproxy.govskope.caregion-nameをus-east-1などのリージョン名に置き換えます。次のコード例は、us-east-1リージョンのプリンシパルを示しています。dms.us-east-1.amazonaws.com次のコード例は、AWS DMS スキーマ変換にアクセスするための信頼ポリシーを示しています。
AWS CLI または AWS DMS API で使用する dms-vpc-role IAM ロールを作成するには
-
次の IAM ポリシーを含む JSON ファイルを作成します。JSON ファイルに
dmsAssumeRolePolicyDocument.jsonという名前を付けます。次に、AWS CLI で次のコマンドを使用してロールを作成します。
aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json -
次のコマンドを使用して
AmazonDMSVPCManagementRoleポリシーをdms-vpc-roleにアタッチします。aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole
AWS CLI または AWS DMS API で使用する dms-cloudwatch-logs-role IAM ロールを作成するには
-
次の IAM ポリシーを含む JSON ファイルを作成します。JSON ファイルに
dmsAssumeRolePolicyDocument2.jsonという名前を付けます。次に、AWS CLI で次のコマンドを使用してロールを作成します。
aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json -
次のコマンドを使用して
AmazonDMSCloudWatchLogsRoleポリシーをdms-cloudwatch-logs-roleにアタッチします。aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole