プログラミング

TerraformでECRにあるイメージからECSタスクを起動する【FARGATE】

ECRに上げた自作のイメージを元にECSで動かすまでをTerraformで書いていきます。

ざっくり用語解説。

 

ECRDockerイメージを管理する場所
ECSDockerの起動を管理する場所
FARGATE or EC2Dockerが実際に動く場所

 

みたいなイメージ。

 

ECRのリポジトリを作成する。

まずはイメージをアップするECRのリポジトリを作成します。

 

scan_on_pushはtrueで良いと思います。

イメージをプッシュした時にスキャンしてくれるかどうかの設定です。

 

リポジトリだけ先に作ってしまいましょう。

terraform applyで一撃。最高Iac。

 

ECRにイメージをアップする。

ECRのリポジトリができたら、イメージをアップします。(AWS CLIで行います。)

以下のQiitaの記事がわかりやすいです。この記事の「AWS ECRにdocker imageを登録」から実施します。

 

AWS ECRにdockerイメージを登録する

 

ECSクラスタとサービス、タスクを一気に作成

ECSで必要なリソースを一気に作成します。

 

 

aws_ecs_serviceのdesired_countの数が実施に起動するタスクの数になります。

タスク定義のjsonは、「task-definitions/sample-task-def.json」に作成します。

 

ここのタスク定義でimageを先ほど作成した、ECRのものにしてあげればOKです。

 

これで完成。ECRにアップした好きなコンテナを動かすことができます。IaC最高。

 

 

Terraformを学びたい方へ

Terraformをきちんと学びたい方はUdemyのLearn DevOps: Infrastructure Automation With Terraform がとてもおすすめです。コスパ最高です。

よければ参考にしてみてください。

 

 

-プログラミング
-, , ,

© 2020 クラインの備忘壺