" />

スポンサーリンク

AWS

ECS on FargetでApacheを構築する

投稿日:

概要

この記事では、ECSの入門としてECSでApacheを構築し、Webからアクセスする手順を紹介します。

手順はこうなります。

  • ECSタスク定義を作成(httpdのdockerを定義)
  • ECSクラスターを定義
  • ECSクラスターでECSタスクをサービスとして実行(デプロイ)
  • 動作確認

ECSタスクを定義

Amazon Elastic Container Serviceの左サイドバーから「タスク定義」を押し、「新しいタスク定義の作成」を押します。

タスク定義とは、docker-compose.ymlを作成するイメージです。

タスク定義とコンテナの設定画面で、次の通り入力します。

タスク定義の設定
・タスク定義ファミリー任意のタスク定義ファミリー名を入力する。
ex)httpd-family1
コンテナ - 1
・名前任意のコンテナ名を入力する。
ex)httpd-container
・イメージ URIhttpd と入力する。
・コンテナポート80 が設定されてることを確認する。

入力して、次へボタンを押します。

環境、ストレージ、モニタリング、タグの設定画面で、次の通り入力します。

環境
・アプリケーション環境AWS Fargate(サーバーレス)
モニタリングとログ記録
・ログ収集の使用チェック外すと料金節約できます。
どちらでも良いです。

入力して、次へボタンを押します。

確認して作成画面で、入力内容を確認して、次へボタンを押すと、
タスク定義が作成されます。

ECSクラスターを定義

Amazon Elastic Container Serviceの左サイドバーから「クラスター」を押し、「クラスターの作成」を押します。

クラスターの作成画面で、次の通り入力します。

クラスター設定
・クラスター名任意のクラスター名を入力する。
ex)httpd-cluster
ネットワーキング
・VPCデフォルトVPCでOKです。
任意のVPCにデプロイしたい場合は、それを選択します。

入力して、作成ボタンを押します。

クラスターが作成されていればOKです。

ECSクラスターでサービスを起動

作成されたクラスターを押します。

クラスターは環境定義みたいなものです。
クラスター=環境ができたので、環境に対してアプリをデプロイするため、デプロイボタンを押します。

デプロイ画面で、次の通り入力します。

デプロイ設定
・アプリケーションタイプ常駐型のサービス(httpサーバー)であるため、
サービス を選択します。
・ファミリータスク定義で作成したファミリーを選択します。
・サービス名任意のサービス名を入力します。
ex)httpd-service
ロードバランシング
ロードバランサーの種類Application Load Balancer を選択します。
新しいロードバランサーの作成 を選択します。
・ロードバランサー名任意のロードバランサー名を入力します。
ex)httpd-service-lb
・ポート80 HTTP であることを確認します。
・ターゲットグループ名任意のターゲットグループ名を入力します。
ex)httpd-service-tg
ネットワーキングデフォルトでOKです。

入力して、デプロイボタンを押します。

サービスが起動されていること(ステータス=アクティブ)を確認します。

サービス名を押すと、サービスの詳細が見れます。

DNS namesに、URLが表示されていますね。

最後に、Webからアクセスできるよう、ロードバランサーのセキュリティグループで、80のインバウンドを許可します。

Load balancers の青色リンクを押して、セキュリティーグループ設定してあげましょう。

既存のルールがあればそれを使用しても良いですし、なければ上記のようなセキュリティグループを作成します。

作成したセキュリティグループを、load balancerにアタッチします。

これで準備OKです。

Webからアクセスして動作確認

サービスの詳細のDNS names を開いて、「It works!」と表示されていることを確認してください。

これで、ECS on FargateでApacheを起動できました。

  

以上です。
始めてECSを動かすのも一苦労でした。

スポンサーリンク

-AWS

Copyright© ノリックジオグラフィック for Webエンジニア , 2022 All Rights Reserved Powered by AFFINGER5.