AWS DMS Fleet Advisor に必要な AWS リソースの作成 - AWS Database Migration Service

AWS DMS Fleet Advisor に必要な AWS リソースの作成

DMS Fleet Advisor では、インベントリ情報の転送とインポート、DMS データコレクターのステータスの更新を行うために、AWS アカウントにリソースセットが必要となります。

初めてデータを収集し、データベースとスキーマのインベントリを作成する前に、次の前提条件を満たす必要があります。

Amazon S3 バケットおよび IAM リソースを設定するには、次のいずれかを実行します。

AWS CloudFormation を使用して Amazon S3 および IAM リソースを設定する

CloudFormation スタックは、単一のユニットとして管理できる AWS リソースのコレクションです。DMS Fleet Advisor に必要なリソースを簡単に作成するには、CloudFormation スタックを作成するための AWS CloudFormation テンプレートファイルを使用できます。詳細については、AWS CloudFormation ユーザーガイドの「AWS CloudFormation コンソールでのスタックの作成」を参照してください。

注記

このセクションは、スタンドアロンの DMS Fleet Advisor コレクターを使用する場合にのみ該当します。単一のオンプレミスコレクターを使用してデータベースとサーバーの両方に関する情報を収集する方法については、「AWS Application Discovery Service ユーザーガイド」の「Application Discovery Service Agentless Collector」を参照してください。

CloudFormation で作成される Amazon S3 および IAM リソース

CloudFormation テンプレートを使用すると、次のリソースを含むスタックが AWS アカウントに作成されます。

  • dms-fleetadvisor-data-accountId-region という名前の Amazon S3 バケット

  • FleetAdvisorCollectorUser-region という名前の IAM ユーザー

  • FleetAdvisorS3Role-region という名前の IAM サービスロール

  • FleetAdvisorS3Role-region-Policy という名前のアクセスポリシー

  • FleetAdvisorCollectorUser-region-Policy という名前のアクセスポリシー

  • AWSServiceRoleForDMSFleetAdvisor という名前の IAM サービスリンクロール (SLR)

CloudFormation を使用して、次の手順に従ってリソースを設定します。

ステップ 1: CloudFormation テンプレートファイルのダウンロード

CloudFormation テンプレートとは、スタックを構成する AWS リソースの宣言です。テンプレートは JSON ファイルとして保存されます。

CloudFormation テンプレートファイルをダウンロードするには
  1. 次のリンクのいずれかでコンテキスト (右クリック) メニューを開き、[名前を付けてリンクを保存] を選択します。

  2. ファイルをコンピュータに保存します。

ステップ 2: CloudFormation を使用して Amazon S3 および IAM を設定する

IAM 用の CloudFormation テンプレートを使用すると、前述の Amazon S3 および IAM リソースが作成されます。

CloudFormation を使用して Amazon S3 および IAM を設定するには
  1. CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. [スタックを作成] を選択し、ドロップダウンリストで [新しいリソースを使用] を選択して、スタックの作成ウィザードを起動します。

  3. [Create stack] (スタックの作成) ページで、次の手順を実行します。

    1. [Prepare template] (テンプレートの準備) の [Template is ready] (テンプレートの準備が完了しました) を選択します。

    2. [テンプレートソース] で、[テンプレートファイルのアップロード] を選択します。

    3. [ファイルを選択] で、[dms-fleetadvisor-iam-slr-S3.json][dms-fleetadvisor-iam-S3.json][dms-fleetadvisor-ads-iam-slr-s3.zip]、または [dms-fleetadvisor-ads-iam-s3.zip] に移動して選択します。

    4. [Next] を選択します。

  4. [スタックの詳細を指定] ページで、以下を実行します。

    1. [スタック名] に「dms-fleetadvisor-iam-slr-s3」、「dms-fleetadvisor-iam-s3」、「dms-fleetadvisor-ads-iam-slr-s3」、または「dms-fleetadvisor-ads-iam-s3」と入力します。

    2. [Next] を選択します。

  5. [スタックオプションの設定] ページで、[次へ] を選択します。

  6. [dms-fleetadvisor-iam-slr-s3 をレビュー][dms-fleetadvisor-iam-s3 をレビュー][dms-fleetadvisor-ads-iam-slr-s3 をレビュー]、または [dms-fleetadvisor-ads-iam-s3 をレビュー] ページで、次の操作を行います。

    1. [AWS CloudFormation がカスタム名で IAM リソースを作成する可能性があることに同意する] チェックボックスを選択します。

    2. [送信] を選択します。

    CloudFormation は、DMS Fleet Advisor が要求する S3 バケットおよび IAM ロールとユーザーを作成します。左のパネルで、[dms-fleetadvisor-iam-slr-s3][dms-fleetadvisor-iam-s3][dms-fleetadvisor-ads-iam-slr-s3]、または [dms-fleetadvisor-ads-iam-s3][CREATE_COMPLETE] と表示されたら、次のステップに進みます。

  7. 左のパネルで、[dms-fleetadvisor-iam-slr-s3][dms-fleetadvisor-iam-s3][dms-fleetadvisor-ads-iam-slr-s3]、または [dms-fleetadvisor-ads-iam-s3] を選択します。右のパネルで、以下の操作を行います。

    1. [スタック情報] を選択します。スタックの ID の形式は、arn:aws:cloudformation:region:account-no:stack/dms-fleetadvisor-iam-slr-s3/identifierarn:aws:cloudformation:region:account-no:stack/dms-fleetadvisor-iam-s3/identifierarn:aws:cloudformation:region:account-no:stack/dms-fleetadvisor-ads-iam-slr-s3/identifier、または arn:aws:cloudformation:region:account-no:stack/dms-fleetadvisor-ads-iam-s3/identifier です。

    2. [リソース] をクリックします。次のように表示されます。

      • dms-fleetadvisor-data-accountId-region という名前の Amazon S3 バケット

      • FleetAdvisorS3Role-region という名前のサービスロール

      • FleetAdvisorCollectorUser-region という名前の IAM ユーザー

      • AWSServiceRoleForDMSFleetAdvisor という名前の IAM SLR (dms-fleet-advisor-iam-slr-s3.zip または dms-fleet-advisor-ads-iam-slr-s3.zip をダウンロードした場合)

      • FleetAdvisorS3Role-region-Policy という名前のアクセスポリシー

      • FleetAdvisorCollectorUser-region-Policy という名前のアクセスポリシー

AWS Management Console で Amazon S3 および IAM リソースを設定する

Amazon S3 バケットを作成する

インベントリのメタデータを保存する Amazon S3 バケットを作成します。DMS Fleet Advisor を使用する前に、この S3 バケットを事前に設定しておくことをお勧めします。AWS DMS は、DMS Fleet Advisor のインベントリメタデータをこの S3 バケットに保存します。

S3 バケットを作成する詳細については、Amazon S3 ユーザーガイド の「最初のS3バケットを作成する」をご参照ください。

注記

DMS Fleet Advisor は SSE-S3 で暗号化されたバケットのみをサポートします。

Amazon S3 バケットを作成して、ローカルデータ環境情報を保存するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. [バケットの作成] を選択します。

  3. [バケットの作成] ページで、「fa-bucket-yoursignin」などのバケットのサインイン名を含むグローバルに一意の名前を入力します。

  4. DMS Fleet Advisor を使用する AWS リージョン を選択します。

  5. 残りの設定はそのままにして [バケットを作成] をクリックします。

IAM リソースを作成する

このセクションでは、データコレクター、IAM ユーザー、DMS Fleet Advisor のための IAM リソースを作成します。

データコレクターのための IAM リソースを作成する

データコレクターが適切に動作し、収集したメタデータを Amazon S3 バケットにアップロードするには、次のポリシーを作成します。その後、次のアクセス許可を持つ IAM ロールを作成します。DMS データコレクターの詳細については、「AWS DMS のデータコレクターを使用した移行用データベースの検出」を参照してください。

DMS Fleet Advisor とデータコレクターが Amazon S3 にアクセスするための IAM ポリシーを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

  3. [ポリシーの作成] を選択します。

  4. [ポリシーの作成] ページで、[JSON] タブをクリックします。

  5. 次の JSON をエディタに貼り付けて、サンプルコードを置き換えます。fa_bucket は、前のセクションで作成した Amazon S3 バケット名と置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject*" ], "Resource": [ "arn:aws:s3:::fa_bucket", "arn:aws:s3:::fa_bucket/*" ] } ] }
  6. [次へ: タグ][次へ: 確認] の順に選択します。

  7. [名前*] には FleetAdvisorS3Policy と入力して、[ポリシーを作成] をクリックします。

DMS データコレクターが DMS Fleet Advisor にアクセスするための IAM ポリシーを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

  3. [ポリシーの作成] を選択します。

  4. [ポリシーの作成] ページで、[JSON] タブをクリックします。

  5. 次の JSON コードをエディタに貼り付けて、サンプルコードを置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dms:DescribeFleetAdvisorCollectors", "dms:ModifyFleetAdvisorCollectorStatuses", "dms:UploadFileMetadataList" ], "Resource": "*" } ] }
  6. [次へ: タグ][次へ: 確認] の順に選択します。

  7. [名前*] には DMSCollectorPolicy と入力して、[ポリシーを作成] をクリックします。

DMS データコレクターを使用するための最小限のアクセス許可を持つ IAM ユーザーを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [Users (ユーザー)] を選択します。

  3. [ユーザーの追加] を選択します。

  4. [ユーザーの追加] ページの [ユーザー名*]FleetAdvisorCollectorUser と入力します。[Select AWS Access Type] には [アクセスキー - プログラムによるアクセス] を選択します。[Next: Permissions] (次へ: アクセス許可) を選択します。

  5. [許可を設定] セクションで、[既存のポリシーを直接アタッチする] を選択します。

  6. 検索コントロールを使用して、以前に作成した DMSCollectorPolicyFleetAdvisorS3Policy ポリシーを検索して選択します。[Next: Tags] (次へ: タグ) を選択します。

  7. [Tags (タグ) ] ページで、[Next: Review (次へ: レビュー) ] を選択します。

  8. [確認] ページで、[ユーザーの作成] を選択します。次のページで Download.csv をクリックして、新しいユーザー認証情報を保存します。必要最小限のアクセス許可については、DMS Fleet Advisor でこれらの認証情報を使用します。

DMS Fleet Advisor とデータコレクターが Amazon S3 にアクセスするための IAM ロールを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [Roles] (ロール) を選択します。

  3. [Create role] を選択します。

  4. [信頼されたエンティティを選択] ページの [信頼されたエンティティタイプ] では、AWS[サービス] を選択します。[その他の AWS サービスのユースケース] では、[DMS] を選択します。

  5. [DMS] チェックボックスをオンにして、[次へ] をクリックします。

  6. [許可を追加] ページで、[FleetAdvisorS3Policy] を選択します。[Next] を選択します。

  7. [名前、確認、および作成] ページで、[ロール名]FleetAdvisorS3Role と入力して、[ロールの作成] をクリックします。

  8. [ロール] ページの [ロール名] には、FleetAdvisorS3Role と入力します。[FleetAdvisorS3Role] を選択します。

  9. [FleetAdvisorS3Role] ページで、[信頼関係] タブをクリックします。[信頼ポリシーを編集] を選択します。

  10. [信頼ポリシーを編集] ページで、次の JSON コードをエディタに貼り付けて、既存のテキストを置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com", "dms-fleet-advisor.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

    上記のポリシーは、AWS DMS が Amazon S3 バケットから収集したデータをインポートするために使用するサービスへの sts:AssumeRole アクセス許可を付与します。

  11. [ポリシーの更新] を選択します。

DMS Fleet Advisor サービスにリンクされたロールを作成する

DMS Fleet Advisor は、サービスにリンクされたロールを使用して、AWS アカウント アカウントの Amazon CloudWatch メトリクスを管理します。DMS Fleet Advisor は、このようなサービスにリンクされたロールを使用して、収集したデータベースのパフォーマンスメトリクスをユーザーに代わって CloudWatch に公開します。

DMS Fleet Advisor のサービスにリンクされたロールを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで Roles (ロール) を選択します。続いて、[Create role] (ロールの作成) を選択します。

  3. [信頼できるエンティティタイプ] で、[AWS サービス] を選択します。

  4. [その他の AWS サービスのユースケース] では、[DMS – Fleet Advisor] を選択します。

  5. [DMS – Fleet Advisor] チェックボックスをオンにして、[次へ] をクリックします。

  6. [アクセス許可を追加] ページで [次へ] を選択します。

  7. [名前、確認、および作成] ページで、[ロールの作成] をクリックします。

このようなサービスにリンクされたロールは、AWS API または AWS CLI から作成することもできます。詳細については、「AWS DMS Fleet Advisor のサービスにリンクされたロールの作成」を参照してください。

DMS Fleet Advisor のサービスにリンクされたロールを作成すると、ターゲットレコメンデーションにソースデータベースのパフォーマンスメトリクスが表示されます。また、これらのメトリクスは CloudWatch アカウントでも確認できます。詳細については、「ターゲットレコメンデーション」を参照してください。

DMS Fleet Advisor のサービスにリンクされたロールに必要な IAM ポリシーを作成するには

サービスリンクロールを作成するために最低限必要なアクセス許可は DMSFleetAdvisorCreateServiceLinkedRolePolicy ポリシーで指定します。サービスリンクロールを作成できない場合は、この IAM ポリシーをアカウントで作成します。

  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

  3. [ポリシーの作成] を選択します。

  4. [ポリシーの作成] ページで、[JSON] タブをクリックします。

  5. 次の JSON コードをエディタに貼り付けて、サンプルコードを置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/dms-fleet-advisor.amazonaws.com/AWSServiceRoleForDMSFleetAdvisor*", "Condition": {"StringLike": {"iam:AWSServiceName": "dms-fleet-advisor.amazonaws.com"}} }, { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/dms-fleet-advisor.amazonaws.com/AWSServiceRoleForDMSFleetAdvisor*" } ] }
  6. [次へ: タグ][次へ: 確認] の順に選択します。

  7. [名前*] には DMSFleetAdvisorCreateServiceLinkedRolePolicy と入力して、[ポリシーを作成] をクリックします。

これで、このポリシーを使用して DMS Fleet Advisor のサービスにリンクされたロールを作成できるようになりました。