Amazon RDS DB インスタンスを別の VPC またはアカウントに移行する - AWS 規範ガイダンス

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

Amazon RDS DB インスタンスを別の VPC またはアカウントに移行する

作成者:Dhrubajyoti Mukherjee (AWS)

環境:PoC またはパイロット

ソース: Amazon RDS

ターゲット: Amazon RDS

Rタイプ:再配置

テクノロジー:データベース、移行

AWS サービス:Amazon RDS; Amazon VPC

[概要]

このパターンは、Amazon Relational Database Service (Amazon RDS) DB インスタンスを、ある仮想プライベートクラウド (VPC) から同じ AWS アカウント内の別の仮想プライベートクラウド (VPC) に、またはある AWS アカウントから別の AWS アカウントに移行するためのガイダンスを提供します。

このパターンは、分離またはセキュリティ上の理由から Amazon RDS DB インスタンスを別の VPC またはアカウントに移行する場合 (たとえば、アプリケーションスタックとデータベースを別の VPC に配置する場合など) に役立ちます。 

DB インスタンスを別の AWS アカウントに移行するには、手動スナップショットの作成、共有、ターゲットアカウントでのスナップショットの復元などの手順が必要です。この処理は、データベースの変更やトランザクションレートによっては時間がかかる場合があります。また、データベースのダウンタイムも発生するため、事前に移行計画を立ててください。ダウンタイムを最小限に抑えるため、ブルー/グリーンデプロイ戦略を検討してください。 または、AWS データ移行サービス (AWS DMS) を評価して、変更によるダウンタイムを最小限に抑えることもできます。ただし、このパターンではこのオプションは対象外です。詳細については、「メトリクスのドキュメント」 を参照してください。

前提条件と制限

前提条件

  • アクティブな AWS アカウント

  • VPC、サブネット、Amazon RDS コンソールに必要な AWS Identity and Access Management (IAM) のアクセス許可

制約事項

  • VPC を変更するとデータベースが再起動し、アプリケーションが停止します。移行はピークの少ない時間に移行することをお勧めします。

  • Amazon RDS を別の VPC に移行する場合の制限事項:

    • 移行する DB インスタンスは、スタンバイのない 1 つのインスタンスである必要があります。クラスターのメンバーであってはなりません。

    • Amazon RDS が複数のアベイラビリティーゾーンに置かれていてはなりません。

    • Amazon RDS にはリードレプリカがあってはなりません。

    • ターゲット VPC で作成されたサブネットグループには、ソースデータベースが実行されているアベイラビリティーゾーンのサブネットが必要です。

  • Amazon RDS を別の RDS に移行する場合の制限事項:

    • Amazon RDS のデフォルトサービスキーで暗号化されたスナップショットの共有は、現在サポートされていません。

アーキテクチャ

同じ AWS アカウントの VPC への移行

次の図は、Amazon RDS DB インスタンスを同じ AWS アカウントの別の VPC に移行するためのワークフローを示しています。

Amazon RDS DB インスタンスを同じ AWS アカウントの別の VPC に移行するワークフロー

ステップには、以下があります。詳細な手順については、「エピック」 セクションを参照してください。

  1. ターゲット VPC に DB サブネットグループを作成します。DB サブネットグループは DB インスタンスを作成する場合に特定の VPC を指定するサブネットのコレクションです。

  2. 新しい DB サブネットグループを使用するように、ソース VPC の Amazon RDS DB インスタンスを設定します。

  3. 変更を適用して Amazon RDS DB をターゲット VPC に移行します。

別の AWS アカウントに移行

次の図は、Amazon RDS DB インスタンスを別の AWS アカウントに移行するワークフローを示しています。

Amazon RDS DB インスタンスを別の AWS アカウントに移行するためのワークフロー

ステップには、以下があります。詳細な手順については、「エピック」 セクションを参照してください。

  1. 作成元の AWS アカウントで Amazon RDS DB インスタンスにアクセスします。

  2. 作成元の AWS アカウントに Amazon RDS スナップショットを作成します。

  3. Amazon RDS スナップショットをターゲット AWS アカウントと共有します。

  4. ターゲット AWS アカウントの Amazon RDS スナップショットにアクセスします。

  5. ターゲット AWS アカウントに Amazon RDS DB インスタンスを作成します。

ツール

AWS サービス

  • Amazon Relational Database Service (Amazon RDS) を使用して、AWS クラウドでリレーショナルデータベース (DB) をセットアップ、運用、スケーリングできます。

  • Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。

ベストプラクティス

  • Amazon RDS DB インスタンスを別のアカウントに移行する際にデータベースのダウンタイムが懸念される場合は、「AWS DMS」を使用することをお勧めします。このサービスではデータ複製が可能で、停止時間は 5 分未満です。

エピック

タスク説明必要なスキル

新しい VPC を作成します。

Amazon VPC コンソール」で、必要なプロパティと IP アドレス範囲を使用して新しい VPC とサブネットを作成します。詳細な手順については、「Amazon VPC のドキュメント」 を参照してください。

管理者

DB サブネットグループを作成します。

Amazon RDS コンソール」で:

  1. サブネットグループを選択して、DB サブネットグループを作成します。

  2. サブネットグループ名、説明、VPC ID を入力します。

  3. サブネットグループに属するサブネットを追加します。サブネットを追加して、少なくとも 2 つのアベイラビリティーゾーンをカバーします。

  4. [作成] を選択します。

詳細については、「Amazon EC2 ドキュメント」 を参照してください。

管理者

新しいサブネットグループを使用するように Amazon RDS DB インスタンスを変更します。

Amazon RDS コンソールで:

  1. ナビゲーションペインで、データベースを選択し、移行する Amazon RDS DB インスタンスを選択します。

  2. 接続セクションで、ターゲット VPC に関連付けられているサブネットグループを選択します。

  3. 変更をスケジュールセクションで、すぐに適用を選択します。

ターゲット VPC への移行が完了すると、ターゲット VPC のデフォルトのセキュリティグループが Amazon RDS DB インスタンスに割り当てられます。DB インスタンスに必要なインバウンドルールとアウトバウンドルールを使用して、その VPC の新しいセキュリティグループを設定できます。

または、AWS コマンドラインインターフェイス (AWS CLI) を使用して、新しい VPC セキュリティグループ ID を明示的に指定して、ターゲット VPC に移行します。例:

aws rds modify-db-instance \ --db-instance-identifier testrds \ --db-subnet-group-name new-vpc-subnet-group \ --vpc-security-group-ids sg-idxxxx \ --apply-immediately
管理者
タスク説明必要なスキル

ターゲット AWS アカウントに新しい VPC とサブネットグループを作成します。

  1. Amazon VPC コンソール」で、必要なプロパティと IP アドレス範囲を使用して新しい VPC を作成します。詳細な手順については、「Amazon VPC のドキュメント」 を参照してください。

  2. Amazon VPC ドキュメント」の指示に従って、新しい VPC のサブネットを作成します。

  3. Amazon RDS コンソール」で DB サブネットグループを作成します。手順については、「Amazon RDS ドキュメント」 を参照してください。

管理者

データベースの手動スナップショットを共有し、ターゲットアカウントと共有します。

  1. Amazon RDS ドキュメント」の指示に従って、ソースデータベースの手動スナップショットを作成します。

  2. ターゲットアカウント ID を指定して、スナップショットをターゲット AWS アカウントと共有します。手順については、DB スナップショットを他のアカウントと共有することに関する「re: POST の記事」を参照してください。

管理者

新しいAmazon RDS DB インスタンスを起動します。

ターゲット AWS アカウントの共有スナップショットから新しい Amazon RDS DB インスタンスを起動します。手順については、「Amazon RDS ドキュメント」を参照してください。

管理者

関連リソース