一部の構成(DB資格情報、APIキーなど)に環境変数を利用するWebアプリケーションがあります。現在、デプロイにElastic Beanstalkを使用しており、AWS内からこれらを簡単に設定できます。これは、コードベースにこの機密データがないため素晴らしいことです。
ただし、Elastic Beanstalkからの切り替えを検討しているので、Webインスタンスでもう少し柔軟性を活用できます。当然、CodeDeployを使用して(Codeship CIセットアップから)デプロイすることも検討しています。 CodeDeployはかなり単純で、Codeshipとうまく統合しましたが、ElasticBeanstalkのようにCodeDeployで環境変数を設定する組み込み機能がないことに気付きました。このプロセスのベストプラクティスはありますか?
Amazonには、このための非常に優れた機能があります: パラメータストア 。そこにキーと値のペアを追加し、安全に暗号化してから、CodeDeployスクリプトでそれらを取得できます。例:
password=$(aws ssm get-parameters --region us-east-1 --names MySecureSQLPassword --with-decryption --query Parameters[0].Value)
CodeDeploy/Parameter Store間のアクセスを許可するには、IAMセットアップを行う必要がありますが、上記のリンクされた記事でこれについて説明します。