質問: 現在、Laravelで作ったアプリをECSにデプロイしようとしている段階です。 データベースにはRDSを使用しようと考えています。 RDSにてデータベースを作成し、EC2からRDSに接続できるところまで完了しました。 次は、EC2内のコンテナ内のlaravelのenvファイルを編集(データベースの接続先をRDSのデータベース先に編集)しました。 しかし、いざアプリからデータベースにアクセスしてみると、接続先が以前のデータベースの設定になっており、エラーになります。 この場合何が原因と考えられるのでしょうか? また直接編集せずとも、ホスト側のディレクトリにマウントするには、通常はどこをどのように設定するのでしょうか? いろいろトライしてみましたが、うまく反映されませんでした。 アドバイスしてくださる方がもしいれば、よろしくお願いします。
回答: Larabel の.env はキャッシュされる仕組みになっているようです Laravelの.envについて調べてみた - 株式会社クイックのWebサービス開発blog > > 直接編集せずとも、ホスト側のディレクトリにマウントするには、通常はどこをどのように設定するのでしょうか? > > > ECS ではホストの状態に依存しないように、 コンテナへのパラメーターは ECS の`タスク定義` → `コンテナ定義` の環境変数から設定します また、コンテナ側も、環境変数で振る舞いを制御できるように設計すべきとされています 参考: ECSでごっつ簡単に機密情報を環境変数に展開できるようになりました! | Developers.IO The Twelve-Factor App (日本語訳)