S3クロスリージョンレプリケーションで全世界ファイルサーバの夢を見る

記事タイトルとURLをコピーする

AWS利用歴が1年になりました、くりゅうです。 先日ご紹介したとおり、Amazon S3にクロスリージョンレプリカ機能が追加されました。
ちょうど先日行われた自宅ラック勉強会でファイルストレージサービスをテーマにした勉強会があったので
実際にどんなことができるか実験してみた結果を紹介します。

妄想

(´-`).。oO(S3クロスリージョンレプリカで各リージョンのS3にファイルコピーしたら、 全世界から使える低レイテンシーファイルサーバがつくれないかな~)

構想

S3クロスリージョンレプリカの設定方法は前回のBlogをご参照ください。 S3クロスリージョンレプリカでは、レプリカ元リージョンでレプリカ先リージョンを指定する形になります。 s3clothregionreplica1
双方向同期をする場合にはレプリカ先からレプリカ元へ反対方向のレプリカ設定を行う必要があります。 s3clothregionreplica2 じゃぁ、全世界でリングを組んでみたら、全世界で同じファイルが見える低レイテンシのファイルサーバーができるのでは?! s3clothregionreplica3

やってみた

実際には図の4リージョンではなく、Tokyo-Singapore-N.Virginiaの3リージョンで実験を行ってみました。 東京リージョンファイルを置いた際の挙動
シンガポールにファイルを置いた場合の挙動はそれぞれ以下のようになりました。

Tokyo Singapore N.Virginia
ファイル1 ファイル1コピー  
  ファイル2 ファイル2コピー
ファイル3コピー   ファイル3

結論

  1. S3クロスリージョンレプリカではレプリカ元からレプリカ先にファイルがコピーされます。
  2. コピー対象となるのは、オリジンファイルのみです、S3クロスリージョンレプリカによってコピーされたファイルはコピー対象外です。
  3. S3クロスリージョンレプリカ機能を利用して全世界のリージョンでファイル同期して低レイテンシのファイルサーバーは現時点では実現できません。

残念!

実際クロスリージョンレプリカで作られたファイルはレプリケーションの対象外にしておかないと、双方向同期をかけた時にループ状態に陥ってしまうからかもしれません。
コピー先に同じファイルがある場合はコピーしないといった制御で、リング設定が組めるようになってくれると
また面白いことができそうな気はします。 クロスリージョンレプリカ機能で作られたファイル以外にも、クロスリージョンレプリカ設定をする前から存在していたファイルは複製されないので、すでに利用中のバケットを設定する場合には注意が必要ですね。