3

AWSに正常にデプロイしたWebアプリケーションに苦労しています。すべてがWeb層環境で正しく機能しています。しかし、私はバックグラウンドタスクをスケジュールするためにワーカー層環境を追加する必要があります。 これでAWSアプリケーションに2つの環境ができました。 1つはWeb層で、もう1つは作業層です。この環境でWeb層のRDSデータベースを使用したいので、私はワーカー層用のデータベースを作成しませんでした。 Web層のRDSデータベースを使用するワーカー層を指定するにはどうすればよいですか?Web層環境のRDSデータベースとワーカー層環境elasticbeans

答えて

1

Elastic Beanstalkは、私が知る限り、RDSを処理するための最良のソリューションではありません。 RDSインスタンスをElasticBeanstalk環境に結び付けることは、dev/testでうまくいくはずですが、データベースインスタンスのライフサイクルをアプリケーション環境のライフサイクルに結びつけることは、実際のところ最良の選択肢ではありません。

RDSを単純にデカップリングし、ElasticBeanstalkに追加しないことをお勧めします。個別に処理してください。このアプローチにより、複数の環境をRDSインスタンスに接続し、データベースのライフサイクルに影響を与えずに環境を終了し、青/緑の導入方法による継続的な更新を実行できます。

環境変数としてDBの詳細(ホスト、ポート、ユーザー、パスワード)をElasticBeanstalkアプリケーションに渡すことができます(セキュリティリスクのため問題がある可能性があります)。

また、S3バケットに接続文字列を格納して、EC2インスタンスがEC2インスタンスプロファイル経由でこのS3バケットにアクセスできるようにすることもできます。

これを処理する方法の詳細と例は、Using Elastic Beanstalk with Amazon RDS文書で見つけることができます。

上記の方法ではうまくいかない場合は、アプリケーションライフサイクル、インフラストラクチャ、および依存関係をより管理された方法で管理するためにCloudFormationを検討する必要があります。