AWS ECS(Elastic Container Service)-Fargateでコンテナを最速で(簡単に)立ち上げようというコンテナ入門の記事です。
以下のような方向けです。
コンテナを触ってみたい
コンテナをAWS上で動かしてみたい
ECSを使ったことがなく、とりあえず使ってみたい
とりあえずコンテナ立ち上げ、どんなものか知りたい
ECSでのコンテナ立ち上げは、以下の3ステップで簡単にできますので、まずはコンテナを立ち上げて、そこから理解を深めていきましょ!
クラスター作成
タスク定義作成
タスクの作成
なお、本記事では、Nginxのコンテナを立ち上げていきます。
それでは早速コンテナを立ち上げていきます。
まずは、クラスターを作成します!
クラスター作成
AWSマネージメントコンソール画面のECSダッシュボードから「クラスターの作成」ボタンを押下し、以下の設定でクラスターを作成します。
- クラスター名:適切な名前
- 上記以外、デフォルトのまま
次はタスク定義を作成します!
タスク定義の作成
AWSマネージメントコンソール画面のECSダッシュボードからタスク定義を選択し、「新しいタスク定義の作成」ボタンを押下し、以下の設定でタスク定義を作成する
- タスク定義とコンテナの設定
- タスク定義ファミリー:適切な名前
- コンテナ – 1
- 名前:適切な名前
- イメージ URI:nginx:latest
- 本記事ではNginxを指定しています
- 他のコンテナを立ち上げたい場合は、立ち上げたいコンテナイメージを指定します
- docker hubのイメージであれば、docker pullするときのイメージ名で指定できます。
docker pull {イメージ名}
- docker hubのイメージであれば、docker pullするときのイメージ名で指定できます。
- 他のコンテナを立ち上げたい場合は、立ち上げたいコンテナイメージを指定します
- 本記事ではNginxを指定しています
- 上記以外デフォルトのまま
- 環境、ストレージ、モニタリング、タグの設定
- 環境
- CPU:.5VCPU
- メモリ:1GB
- 環境
- 上記以外デフォルトのまま
次はタスクの作成(コンテナ立ち上げ)です!
タスクの作成
AWSマネージメントコンソール画面のECSダッシュボードで作成したクラスターを選択し、タスクタブ押下して、「新しいタスクの実行」ボタンを押下し、以下の設定で作成します。(このステップでコンテナを立ち上がります)
- デプロイ設定
- ファミリー:作成したタスク定義を指定
- 上記以外デフォルトのまま
- ネットワーキング
- セキュリティグループ
- ポート80を許可
- セキュリティグループ
- 上記以外はデフォルトのまま
動作確認
- タスクタブからタスクのリンクを押下する
- パブリック IPが表示されるのでパブリックIPでHTTPアクセスする
http://パブリックIP
以下の画面が表示されればOKです。
動作確認後はタスクを終了しておきましょー
まとめ
ECS-Fargeteでは
クラスター作成
タスク定義作成
タスクの作成
といったことをやれば、コンテナが立ち上げることがわかったと思います。
また、思ったより簡単にコンテナが立ち上げられたと思います。
実際の本番稼働には
- ロードバランサーなどのネットワーク周りの知識
- ECSにはサービスという概念もあるため、サービスという概念の知識
- ECSの各設定に対する深い知識
が必要になってきますが、まずは本記事のようにコンテナを立ち上げて、そこから理解を深めていくのがいいと考えています。
↓Fargateの公式記事です↓
↓Fargateのオートスケーリング関連の記事です↓
↓Fargateの負荷対策関連の記事です↓