S3のアカウント間移行(オブジェクトコピー)
今週はAWSクラウドリソースのアカウント間移行をテーマに特定のサービスについて移行方法のTipsを発信していきます。
目次
背景
リソースのアカウント間移行の背景ですが、元々2つのAWSアカウントで開発環境を運用しており、諸事情により1つのアカウントを削除することになったので削除アカウントで作成したリソースを一部もう一つのアカウントへ移行することになりました。
移行対象サービス
AWSのオブジェクトストレージサービスであるAmazon Simple Storage Service (Amazon S3)です。
移行方法
S3のアカウント間移行については既に下記のサイトが参考になります。
今回は上記のサイトとは少し違った方法で移行手順を紹介したいと思います。
方法としては以下の通りです。
上記サイトでは移行先アカウントに移行操作を行うユーザーを立てて移行元アカウントのS3にユーザーのアクセス権限を設定しておりましたが、今回は移行元アカウントに移行操作を行うユーザーを立てて移行先アカウントのS3にユーザーのアクセス権限を設定する方法を取りたいと思います。
要するにアクセス権限の制御さえできれば、移行ユーザーをどちらのアカウント(移行元・移行先)で作成しても問題ないことを証明したいと思います。
移行手順
1.移行元のS3バケットを確認する
AWS管理コンソールを開き、S3のページでバケットを確認します。
※黒いマスキング部分がバケット名です。
2.AWS CLIユーザを移行元に作成し、CLIコマンドの設定を実施する
CLIユーザの作成については以下のサイトが参考になります。
CLIコマンド実行の初期設定はコマンドライン上で以下のコマンドを実行します。
aws configure
アクセスキー、シークレットキー、リージョン、ファイル形式を指定します。
3.移行先にS3バケットを作成し、バケットポリシーを付与する
バケットを新規作成する。
バケットポリシーを以下のように設定する。
4.CLIコマンドを実行してバケット内のオブジェクトをコピーする
S3のsyncコマンドを利用する。引数はS3のURIなど決められているのご注意。
これでバケット間のオブジェクト移動ができましたね。
ではまた、会いましょう。