はじめに
FARGATEがEFSをサポートしたので、試してみました
やりたいこと
NginxのコンテナをECSにデプロイ
index.htmlをEFSに配置し、それをNginxコンテナでマウントして
動的にコンテンツを更新する
今回の構成
大まかな流れ
(1)EFS作成&コンテンツ配置
(2)ローカル環境でnginxのイメージを作成&ECRへプッシュ
nginxの公式イメージを使用してコンフィグだけADDしてプッシュ
(3)タスク定義作成
実際にやってみる
(1)EFS作成&コンテンツ配置
1.EFSはデフォルトでサクッと作成
写すことができない箇所はマスクしてます
2.EFSマウント
今回はEC2インスタンスにてマウントしますので以下の手順を実施
Amazon Linux EC2 インスタンスを使用している場合は、次のコマンドを使用して EFS マウントヘルパーをインストールします。
$ sudo yum install -y amazon-efs-utils
EC2 インスタンスで「efs」などの新しいディレクトリを作成します。
sudo mkdir efs
EFS マウントヘルパーの使用
sudo mount -t efs fs-xxxxxxx:/ efs
3.コンテンツをEFSへ配置
$ cp -p xxx /efs/
(2)ローカル環境でnginxのイメージを作成&ECRへプッシュ
1.適当にnginxのDockerFileを作成
FROM nginx:latest
RUN echo "start"
2.イメージ作成
$ docker build -t hogehoge .
3.ECRへプッシュ
ここの手順は割愛
(3)タスク定義作成
ECRにプッシュした定義を使用してタスク作成
コンテナの設定のマウントポイントに作成したボリュームをマウント
後は作成したタスクを使用して実行すればEFSのコンテンツが見えてくるはずです