質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

3回答

2156閲覧

AWS 複数のEC2 + goofysでS3バケットをマウントしたときの問題点。

oyaji_sj_hi

総合スコア14

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/06/20 00:47

複数のEC2 + goofysでS3バケットをマウントしたときの問題点を見つけたので、
ここに書き残します。

EC2で2台のWEBサーバーを構築、ALBにて負荷分散。
2台のEC2は同じS3上の領域をマウント(goofysでS3バケットをマウント)

WEBサーバーのDocumentRootをgoofys上に設置

問題発覚

2台のWEBサーバーをWEB_A WEB_Bとする。

1.ある利用者がパソコンのWEBブラウザでWEB_A経由でサイト閲覧して、ファイル更新(画像ファイルの更新ファイル名は元のまま)を行う。

2.別の利用者がパソコンのWEBブラウザでWEB_B経由でサイト閲覧して、1で更新されたファイル閲覧を行う。

  1. 1で更新したはずのファイルが元のまま。

  2. 数日経過後調査すると、WEB_A経由でサイト閲覧すると更新後のファイルが表示される。
    WEB_B経由でサイト閲覧すると更新前のファイルが表示される。

という状況。

いろいろ調べて、どうやらページキャッシュというものらしいと判明

echo 3 > /proc/sys/vm/drop_caches

のコマンドをたたくと解消されると判明。

独自にシェルプログラムを書いて自動実行する等、何らかの対策が必要となる。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

Amazon EFSというサービスが、7月からTokyoリージョンで利用できるようになります。

これにより、現時点でのS3を使ったファイルストレージやストレージマウントの方法は、
ベストプラクティスでは無くなってしまいます。

以下をご一読ください。

Amazon EFS 公式イントロダクション
Amazon EFS 公式ドキュメント

S3は、バケット以下を(フォルダもファイルも)すべてオブジェクトとして扱っています。
デリミタでファイルとフォルダを区別しているだけですので、
S3をストレージとしてマウントさせる方法はあまり良い使い方ではありません。

S3は、Simple Storage Serviceの頭文字をとってS3と呼んでいますが、
アーキテクチャとして3拠点のストレージをミラーリングしている意味もあります。

S3にファイルを置くと、必ずファイルsyncが走って他の2箇所のストレージに対してクローンするので
同期完了まで時間が多少かかるので、連続処理などには向いていないというデメリットがあります。
削除アクションを行った場合は、3拠点のストレージが全て削除されるまで待って完了となります。

ちなみにecho 3 > /proc/sys/vm/drop_cachesは、
意図的にOSが持っているLinuxのメモリキャッシュも削除するので
Linuxの処理速度が落ちると思いますよ。

投稿2018/06/20 04:44

lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oyaji_sj_hi

2018/06/20 06:14

ありがとうございます。 そもそも「全部日本国内でやれ」と上に言われたのが、s3を無理くりマウントして使用し始めたきっかけでした。 今後はEFSを推奨していきます。
guest

0

複数のユーザーから同じデータを更新する時はファイルではなくデータベースを使います。
データベースさわったこと無い新人向けトランザクション入門

投稿2018/06/20 00:53

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oyaji_sj_hi

2018/06/20 06:16

コメントありがとうございます。 ちょっとした画像掲示板的なサイトでDBは使わない方針なのです。
guest

0

一応解決済みですが、もっと良いやり方があればご指摘下さい。

投稿2018/06/20 00:49

oyaji_sj_hi

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問