1
0

ECS Fargateでwebページを開く手順まとめ

Last updated at Posted at 2024-07-27

はじめに

ECRのリポジトリにあるイメージからwebページを公開する方法はいくつかありますが、ECS Fargateを使用したwebページ公開方法を試してみたいと思います。
いくつか記事を見たりしましたが、手順通りにしてもECSが起動しない、ページが開けないなどありました。
今回は、確実に誰でもECSを立てることができるように説明していきたいと思います。

全体の構造

ECRにあるイメージ使用して、ECSを立てます。
ECSのTaskがECRイメージのURL情報が載ったものです。
ECSのクラスターのServiceからTask情報を基に、コンテナを作成、起動します。
image.png

作成方法

1.ECRのリポジトリにイメージをpushする
2.VPCを作成する
3.ECRのイメージを基に、ECSのTaskを定義する
4.ECSのクラスターを作成する
5.ECSのサービスを作成する
6.webページを開く

1.ECRのリポジトリにイメージをpushする

ECRのリポジトリ作成方法等はこちらを参照ください。

ECRにpushするイメージのDockerfileindex.htmlは以下です。

Dockerfile
FROM httpd:2.4
COPY ./index.html /usr/local/apache2/htdocs/
index.html
<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <title>ECS</title>
</head>

<body>
    <h1>ECSのテストページです</h1>
</body>

</html>

イメージがECRのリポジトリにpushされていれば完了です。

2.VPCを作成する

VPCを作成

VPCの作成をクリック
image.png

VPCなどで設定は以下のように行います。

  • 名前タグの自動生成→ecs-test
  • IPv4 CIDR ブロック→10.0.0.0/16
  • IPv6 CIDR ブロック→IPv6 CIDR ブロックなし
  • アベイラビリティゾーン (AZ) の数→2
  • パブリックサブネットの数→2
  • プライベートサブネットの数→2
  • NAT ゲートウェイ→なし
  • VPC エンドポイント→なし
    image.png
    image.png

VPCを作成をクリック

ECS用のセキュリティグループを作成

基本的な詳細

  • セキュリティグループ名→ecs-security-group
  • 説明→ecs security group

インバウンドルール
インバウンドルールを設定し、自分のIPアドレスのみアクセスを許可します。

  • タイプ→カスタムTCP
  • ポート範囲→80
  • ソース→マイIP

image.png
セキュリティグループを作成をクリック

これでVPCの設定は完了です。

3.ECRのイメージを基に、ECSのTaskを定義する

ECSで「新しいタスク定義の作成」を行います。
image.png

タスク定義の設定では任意のタスクの名前を設定します。
image.png

インフラストラクチャの要件では以下のように設定します。

  • 起動タイプ→AWS Fargate
  • OS、アーキテクチャ、ネットワークモード→Linux/X86_64
  • タスクサイズ→CPU:.5vCPU, メモリ:1GB
  • タスク実行ロール→新しいタスクロールの作成
    image.png

コンテナ1ではECRのイメージを指定します。

  • コンテナの詳細
    • 名前: ecs-container
    • イメージURI: ECRのイメージURLを指定
      他の設定はデフォルトで大丈夫です。

イメージURLは「URLのコピー」をクリックしてコピーし、貼り付けてください。
image.png

image.png

ログ収集は必要に応じてチェックします。
image.png

以上の設定を行い、作成をクリック
これでタスク定義は完了です。

4.ECSのクラスターを作成する

クラスターの作成をクリック
image.png

クラスター設定

  • クラスター名: ecs-cluster
    image.png

インフラストラクチャ

  • AWS Fargate(サーバーレス)を選択
    image.png

以上の設定を行い、作成をクリック
これでクラスターの作成は完了です。

5.ECSのサービスを作成する

作成したクラスターをクリック
image.png

サービスの作成をクリック
image.png

環境はデフォルトで特に変更しなくてOK
image.png

デプロイ設定

  • アプリケーションタイプ→サービス
  • タスク定義
    • ファミリー→先ほどタスク定義で作成したものを選択、リビジョンは最新
    • サービス名→ecs-service
  • サービスタイプ
    • レプリカ
  • 必要なタスク→1
    image.png

ネットワーキング

  • VPC→作成したVPCを選択
  • サブネット→どちらもpublicサブネットを選択します
  • セキュリティグループ→既存のセキュリティグループを使用
    • 作成したecs用のセキュリティグループを選択
      image.png

以上の設定を行い、作成をクリック

6.webページを開く

先ほど作成したサービスのタスクをクリックします。
image.png

設定のパブリックIPのオープンアドレスをクリックします。
image.png

テストページに「ECSのテストページです」と表示されました。
image.png

作成したものを削除

webページの表示ができたら、不要な料金発生を防ぐため作成したものを必要に応じて削除してください。

終わりに

ECSでwebページを表示してみました。
VPCの設定関連を間違えるとECSが起動できないので、注意しながら設定を行うのが良いです。
参考になれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0