試した経緯
会社の後輩が担当する案件で、オフショア(東南アジア某国)とのファイルのやり取りをAmazon S3でやるということで、相談を受けました。
最初はアカウントの管理どうするぐらいの話でしたが、S3のバケットを東京リージョンに作成すると、オフショア側でファイルをGet/Putするとき、時間がかかるのではないかと思って、シンガポールリージョンにS3バケットを構築するのを提案したものの、逆に、日本からのPutするときに時間がかかるのではないかと考え(実際はそこまで時間がかかるものではないと思いますが。)、そういえば、リージョン間レプリカ機能があったなぁ・・・と思って、提案した次第。
やってみた
- S3のbucketを東京とシンガポールに作成。
- Versioningをそれぞれ有効可。
- Cross-Region Replicationを有効化して、レプリケーションする元バケットと先バケットを指定。
- IAMロールがなければ、その時に自動生成されるので、それを利用。作ってもいいかもしれない。
終わり。
ちょっとしたファイルなら、バケット切り替え段階では、コピーが終わってましたね。
数Mクラスでもすぐにコピーされているようですね。
まとめ
設定簡単だし、DR/BCPに使えそうですね。
あと、調べていたら、まだ東京にはない(近々登場の予定ですが)Lambdaが使えるUSリージョンインとレプリケーション設定をして、東京リージョンにファイルを置いたら、USリージョンにコピーして、Lambdaを実行なんてこともできるようですね。
Amazon S3のCross-Region Replicationを使ってAWS Lambdaを発火させる
反省
今さらなネタですし、もうちょっと画面キャプチャーとか入れないとダメですね。