LoginSignup
0
0

More than 1 year has passed since last update.

ECS初心者がGUIでサーバを立ててみる

Last updated at Posted at 2023-02-09

はじめに

今までECSを触ってこなかった私ですが、FargateのSpotFreetが安いという事実を知り、それなら使ってみようという気になり試しに使ってみました。今回はマイクラサーバのイメージ(itzg/minecraft-server)を使い、AWSのマネジメントコンソール上で設定します。

構成図

draw.jpg

EFSのファイルシステムを作成する手順は省略します。

クラスターの作成

まずは、クラスターを作成します。クラスター名を設定する必要があるため、ここでは test-arm としておきます。
また、任意のVPCとサブネットを選択しますが、今回はNATゲートウェイなどを用意しないため、コンテナが直接外部とアクセスできるようパブリックサブネットを指定しておかないとこの後のプロセスでエラーになります。今回はデフォルトのサブネットを選択しておきます。
image.png

タスク定義の作成

次に、タスク定義を作成します。
image.png
下記の画像を参考に設定してください。今回のマイクラのコンテナの場合、EULA=TRUEを設定しておかないと起動しません。また、Dockerイメージで使用しているJavaが使用するメモリは、デフォルト1Gで設定されているようなのですが、1Gだと足りないので追加で設定します。推奨値はコンテナ側でメモリ制約をかけた値の8割らしく、今回はコンテナ側で2GBのメモリを確保する予定であるため、MEMORY=1600Mで設定しました。
image.png
続いて動かす環境を指定します。今回は(費用節約のため)ARM64で設定しました。ARM64を設定する注意点として、Dockerイメージ側で対応していることは事前に確認が必要です。
image.png
続いてEFSの設定を実施します。外部のストレージを用意しないと、コンテナ停止時にデータが消えてしまいますので、注意が必要です。
image.png

サービスの作成

タスク定義の設定が完了したら、サービスを作成します。
image.png
ここで、キャパシティープロバイダー戦略を指定して、スポットで起動したかったのですが、エラーとなりました。SPOTはARM64では利用できないようです。そのため、通常のFargateで起動します。無念。
image.png
デプロイ設定では、任意のサービス名を入力します。必要なタスクは1です。
image.png
大事なのはネットワーキングの部分。ここでパブリックIPを割り当てておかないと、Dockerイメージのダウンロードに失敗してコンテナが起動しません。セキュリティグループは適宜割り当てておきます。
image.png
ここまで入力できたら、起動をクリックして、無事サービスが立ち上がることを祈ります。

実際にサーバに入れるか試す

まずは、パブリックIPを知るために、クラスターのタスクを選択します。
image.png
下記の赤枠に記載されているパブリックIPをメモして、サーバに入れるか試します。
image.png
私の環境では、無事ログインできました。(画像はCloudWatchのログ)ただ、Can't Keep Upと警告が出ており、メモリ使用率が上限に近いため、もっとメモリを上げたほうがよさそうです。
image.png
image.png

おわりに

無事にECSを立ち上げることはできました。次はこの設定をCloudFormationで行えるようにしたいと考えています。

0
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
0
0