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 アドレスで無料であるためです。