🐳
【Go, AWS】ECS(Fargate)でGoを動かす(M1)
はじめに
【Go, AWS】DockerfileをECRへPushする(M1)の続きです。
今回はFargateで動かすところまでやります。
前提
- Docker、ECR、ECSの概要についてはここでは説明しないので、よく分からない方は公式のドキュメントを参照してください。
- Dockerfileやmain.goの中身は前回のこちらの記事に書いてあります。
【Go, AWS】DockerfileをECRへPushする(M1)
環境
- go 1.17
- macOS 12.0.1
- M1チップ
手順
- ECSクラスターを作成する。
- タスク定義を作成する。
- サービスを作成する。
解説
手順を解説していきます。
1. ECSクラスターを作成する。
ECSのクラスターに入り、「クラスターの作成」ボタンをタップします。
クラスターテンプレートの選択をします。今回はネットワーキングのみを選択。
クラスター名の入力とクラスターの設定をします。
クラスターが作成出来ました。
2. タスク定義を作成する。
次にタスク定義を作成します。
「新しいタスク定義の作成」ボタンをタップします。
Fargateを選択します。
タスクとコンテナの定義の設定をします。
- タスク定義名
- タスクロール
- タスクメモリ
- CPU
を入力します。
「コンテナの追加」をタップして、コンテナ情報を入力します。
- イメージ欄には前回の記事でアップしたECRのイメージURIを使用します。
入力が終わったら、一番下の「作成」ボタンをタップします。
作成出来ました。
3. サービスを作成する。
1で作成したクラスターの中に入り、「サービス」タブの「作成」ボタンをタップします。
- 起動タイプ→Fargate
- サービス名
- タスクの数
を入力します。
VPCとサブネットを入力します。
AutoScalingが必要な場合は設定します。
サービスが作成されました。
動作確認
作成したサービスのステータスが「ACTIVE」となっている事を確認します。
「タスク」タブからタスクの中に入ります。
タスクの中の「log」タブをタップします。
この中に「Hello World」が表示されていたら成功です。
さいごに
次は定期バッチを作ってみようかな。
Discussion