AWSの複数の領域に展開する必要のある単純なWebアプリケーションを作成しています。アプリケーションには、別のサービスによって管理されるいくつかの動的構成が必要です。このサービスを通じて設定が変更された場合、これらの変更をすべての地域のすべてのWebアプリケーションインスタンスに伝播する必要があります。S3を使用してアプリケーション構成ファイルを保存する
これを行うには、DynamoDBでクロスリージョンレプリケーションを使用することを検討しましたが、すべてのリージョンとレプリケーションコンソールでDynamoDBを実行するための追加コストがかかりません。それから、本質的に交差領域であるS3を使用するという考えが私に起こりました。
基本的に、設定サービスはすべての設定を静的なJSONファイルとしてS3に書き込みます。各Webアプリケーションインスタンスは、最後にチェックされた設定ファイルが変更されたかどうかを定期的に確認し、必要に応じて新しい設定をダウンロードします。設定の変更は時間の影響を受けないため、5/10分ごとに変更をポーリングすれば十分です。
以前にアプリの設定を管理するために同様のアプローチを使用したことがありますか?これは賢明な解決策だと思いますか、それとも良い推奨事項はありますか?
S3は「本質的に交差領域」ではありません。すべてのバケットは特定の領域にあり、そのバケットからのオブジェクトの要求は、その領域内のエンドポイントからのみ提供されます。 'bucket-name.s3.amazonaws.com'構造は統一されたサービスの外観を示しますが、それはS3が独自のDNSを更新して各バケットのサブドメインを実際の正しい地域エンドポイントに向けるためです。また、必要に応じて地域ごとにすべてのサービスにアクセスすることができますが、待ち時間やデータ転送料金が懸念されます。 –