AWS ECS 10分チュートリアルでふんわりFargate入門
ECSは、クラウドのサーバ上で簡単にコンテナを動かせるサービスです。
ECSの実行環境は、EC2(自分で触れるサーバ)かFargate(フルマネージドなコンテナ専用サーバ)から選ぶことができます。今回はFargateを使って、サーバ運用のことをなんにも考えずにコンテナ実行を体験します。
チュートリアルはこちらから
https://console.aws.amazon.com/ecs/home#/firstRun
やること
1. タスク定義
実行するコンテナイメージを選びます。サンプルが用意されてるのでこちらを使います。イタレリツクセリです。
タスクはアプリケーションとしてのまとまりで、1〜10個のコンテナでつくります。このチュートリアルのタスク定義では、Webサーバーのコンテナひとつだけが登録されます。
2. サービスの設定
サービスはタスクを指定した数だけ維持するひと。あとロードバランサーの紐付けするひと。くらいの認識でいいんでしょうか。
セキュリティグループは自動で作ってもらいましょう。
3. クラスター設定
Fargateではクラスターのことを考えることはほぼないらしい。どこのEC2上で動いてるのかもようわからん、少なくとも触れるとこにはない。概念としてのまとめグループなんですかね。VPCあるしネットワークの区切りでいいのかしらん。
VPC、サブネットも自動でやってもらいます。元気よく作成!
4. 作成されたリソースの確認
詳細>Load Balancing>ターゲットグループ>ロードバランサー>DNS名
タスク>ネットワーク>パブリックIP
ALB経由でも、パブリックIPでも見れるようになってますね。
5. タスクを増やして負荷分散してみる
サービス>更新>タスクの数 を2に変更。AutoScalingはなしで。
クラスタ内のタスクが2つになりました。ウェイ🙌🏼
ロードバランサー経由でアクセスすると、この2つのタスクのどちらかに振ってくれるようになります。
6. お片づけ
クラスターの削除で全てを灰燼に帰す。VPCもサブネットもALBもターゲットグループもセキュリティグループもさらば。
参考URL
感想
タスクとかサービスの概念、触ってちょっとお友達になれた気がします。タスク定義がクラスで、タスクがインスタンス。サービスはタスクの上位概念ではなく、タスクの数を管理するひと。
実務でそろそろ使ってみたいものです。