9

この質問に回答してから、AWS Tools for Powershell がリリースされましたが、基本的に同じ問題を抱えています。ある AWS アカウントに RDS スナップショットがあり、それを別のアカウントに転送したいのです。

これまでのところ、必要なスナップショットをコマンドレットで選択できました。そのオブジェクトを別のアカウントで使用し Get-RDSDBSnapshotたいと考えています。Amazon.RDS.Model.DBSnapshot

私は周りを見回しており、Restore-RDSDBInstanceFromDBSnapshotコマンドレット ( rds-restore-db-instance-from-db-snapshot にマップ) が探しているものかもしれないと思いますが、その動作を理解しているかどうか確信が持てません -このコマンドレットを使用して、最初のアカウントからスナップショットを取得し、それを 2 番目のアカウントのインスタンスに復元できますか?

スナップショット オブジェクトにアカウント固有の詳細があるかどうか、またはそのデータがアカウント間で移動するのを妨げるコマンドレットの処理があるかどうかが特に心配です。存在する場合、powershell よりも一般的なソリューションで問題ありません。

4

2 に答える 2

14

2015/10/29 更新:

AWS は、私の最初の投稿 (お知らせへのリンク)以来、この機能のネイティブ サポートを追加しました。これは、暗号化されていない MySQL、Oracle、SQL Server、および PostgreSQL でサポートされています。

RDS スナップショットをパブリックまたはプライベートに共有するオプションが与えられます (スナップショットを表示するアクセス許可を持つ特定の AWS アカウント ID を管理することにより)。デフォルトでは、スナップショットは最大 20 個のアカウントと非公開で共有できます。

これは、RDS コンソールから [スナップショット] (左側のナビゲーション バー) > [スナップショットの共有] (上部のツールバー) をクリックして管理できます。これにより、次の UI が表示されます。

ここに画像の説明を入力

これは、RDS API および CLI でも利用できます。


元の回答:

これを AWS Developer Forums にも投稿したところ、PhilP@AWS から回答がありました。これは、powershell やその他の手段ではまったくできないようです。ただし、彼はいくつかの代替案を持っていました。

あるアカウントから別のアカウントに RDS スナップショットを直接共有することはできません。ただし、ここでいくつかの提案を行うことができます (現在の構成によって異なります)。

RDS インスタンスが公開されている場合:

  • 2 番目のアカウントで新しい RDS DB を起動する
  • 適切な DB 管理ツールを PC にインストールし、この PC のネットワーク アクセスを両方の RDS インスタンスに付与します (セキュリティ グループと読み取りおよび書き込み用の DB ユーザー アクセス)。
  • データベース管理ツールを使用して、ある DB から別の DB にデータをコピーする

EC2 インスタンスを介してデータをコピーします。

  • 適切な DB サーバー ソフトウェアで構成された EC2 インスタンスを起動する
  • RDS インスタンスから EC2 インスタンスに RDS DB データをコピーします。
  • 次に、新しい RDS インスタンスを 2 番目のアカウントで起動します
  • 適切なアクセスを構成します (読み取りおよび書き込みのためのセキュリティ グループと DB ユーザー アクセス)
  • データベース データを EC2 インスタンスから新しく作成した RDS インスタンスにコピーします。

私の RDS インスタンスはパブリックにアクセスできません。彼の提案では、EC2 ソリューションが望ましいでしょう。Server Fault ソリューションに従って、mysqldump の使用に戻すこともできます。

編集: EC2 仲介提案を正常に実装できたことを更新したいと思います。これはいくつかの方法で自動化できますが、私が選択したソリューションでは、bash スクリプトを (Linux AMI) EC2 インスタンスにユーザー データとして渡し、データ転送の詳細はスクリプトで処理されました。

このソリューションは、RDS インスタンスと EC2 インスタンスを同じアベイラビリティー ゾーンに配置する必要があるという注意点を除いて、かなり費用対効果の高いものになりました。これは主に、同じアベイラビリティ ゾーン内の RDS-EC2 間のデータ転送がプライベート IP アドレスで無料であるためです。

于 2013-08-13T02:49:02.363 に答える