2021年1月23日土曜日

ECS(Fargate) x docker-compose

準備:
以下、公式ページよりサンプルを利用する。

git clone https://github.com/docker/ecs-plugin.git

cd ecs-plugin/example/



1)docker contextの作成を行う。

docker context create ecs myecscontext

  ->dockerコマンドとAWSの設定情報を連動させることらしい。


2)実行後、以下から選択してAWSのプロフィールを入力






3)以下を入力及び選択する。

①AWS Access Key ID

②Secret Access Key

③Region













4)以下をdocker contextの設定値を確認。



5)ECRにて、新規で””exampleというレポジトリを作成する


6)docker-composeファイルの修正を行う。

①image: 自分のECRレポジトリ先に差し替える。

x-aws-pull_credentials: <<<your arn for your secret you can get with docker ecs secret list>>

という箇所が不要になるので削除。


上記、公式からpullしてきたdocker-composeの修正になるので②について

編集不要になることもあるので記載しておく。














この後、docker-compose pushを実施するも

ECS上にpush出来なかったので、ECRの記載している通常の方法で実施してみた



7)上記で、作成したcontextを選択する。

docker context use myecscontext



8)docker-compose upで実施

 ->コンテナ類、ELBなど自動生成してくれるのは便利



9)作成後の様子

  >Fargateで生成されている。







10)タスク定義も作成されている













11)タスク定義を見る限り、Fargateの一番安い構成のコンテナを選択されている










12)ELBが生成されていることを確認できる。




13)CloudMapも生成されてる








14)完成したので、アクセスしてみる
















15)全削除する場合は、以下を実施。

docker compose down










感想:
docker-composeでECSのデプロイをしていると
なんだかPaas(Beanstalk)のような感覚になった


0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...