AWSにコンテナインスタンスをデプロイする
Amazon Elastic Container Service (Amazon ECS) は、コンテナの実行、停止、管理を容易にする非常にスケーラブルで高速なコンテナ管理サービスです。 AWS Fargate上でサービスやタスクを起動することで、Amazon ECSが管理するサーバーレスインフラ上でコンテナをホストできる。 Amazon ECS の AWS Fargateについての詳細は、こちらをご覧ください。
ステップ1:AWSアカウントにサインインする
AWSポータルにサインインします。
AWS アカウントをお持ちでない場合は、新しい AWS アカウントに登録してください。
ステップ2:仮想プライベートクラウドの作成
Amazon Virtual Private Cloud (Amazon VPC) を使用して、定義した仮想ネットワークに AWS リソースを起動できます。 VPC内でコンテナ・インスタンスを起動することを強くお勧めします。
デフォルトのVPCがある場合は、このセクションをスキップして次のタスク「セキュリティグループの作成」に進むことができます。デフォルトのVPCがあるかどうかを判断するには、『Amazon EC2ユーザーガイド』の「Amazon EC2コンソールでサポートされるプラットフォーム」を参照してください。そうでない場合は、以下の手順を使用して、アカウントにデフォルト以外のVPCを作成できます。
VPCの作成方法については、Amazon VPCユーザーガイドの「Create a VPC only」を参照してください。
オプション 価値
創造するためのリソース VPCのみ
名称 オプションでVPCの名前を指定します。
IPv4 CIDRブロック IPv4 CIDR 手動入力
CIDR ブロック サイズは /16 から /28 の間でなければなりません
IPv6 CIDRブロック IPv6 CIDRブロックなし
テナント デフォルト
Amazon VPCの詳細については、Amazon VPCとは? を参照してください。
ステップ3:セキュリティグループの作成
セキュリティ・グループは、関連するコンテナ・インスタンスのファイアウォールとして機能し、コンテナ・インスタンス・レベルでインバウンド・トラフィックとアウトバウンド・トラフィックの両方を制御する。 SSHを使用してIPアドレスからコンテナ・インスタンスに接続できるようにするルールをセキュリティ・グループに追加できます。 また、どこからでもインバウンドおよびアウトバウンドのHTTPおよびHTTPSアクセスを許可するルールを追加することもできます。 タスクに必要なポートを開くルールを追加する。 コンテナ・インスタンスは、Amazon ECSサービス・エンドポイントと通信するために外部ネットワーク・アクセスが必要です。
セキュリティグループの作成方法については、『Amazon EC2 User Guide』の「Create a security group」を参照し、以下の表を使用して選択するオプションを決定する。
オプション 価値
地域 キー・ペアを作成したのと同じリージョン
名称 ecs-instances-default-clusterのような覚えやすい名前。
ブイピーシー デフォルト VPC(「(default)」と表示されているもの)
注
あなたのアカウントが Amazon EC2 Classic をサポートしている場合、前のタスクで作成した VPC を選択してください
ステップ4:ECSクラスタの作成
AWSポータルホームページの検索ボックスで "ECS "を検索し、"Elastic Container Service "を選択する。 または、https://console.aws.amazon.com/ecs/v2 でコンソールを開きます。
Create cluster "を選択する。
クラスタ名」を入力する。 インフラストラクチャのセクションで「AWS Fargate(サーバーレス)」のみを選択します。
他の値はデフォルトのままにして、作成を選択します。
ステップ5:タスク定義の作成
クラスタが作成されたら、タスク定義を選択します。
新しいタスク定義を作成するを選択する。
タスク定義構成セクションで、タスク定義ファミリーの値を入力します。
インフラ要件のセクションで、起動タイプ、CPU、メモリ、タスクロール、タスク実行ロールに以下の値を入力してください。
- 起動タイプ:
AWS Fargate
のみ - CPU:
1 vCPU
- メモリ:
2 GB
- タスクロール:
ecsTaskExecutionRole
- タスク実行役割:
ecsTaskExecutionRole
コンテナ - 1セクションで、次の値を名前、イメージURI、コンテナポート、ポート名、および環境変数に入力してください。
- 名前:
mycontainer
- 画像URI:
ironsoftwareofficial/ironsecuredoc
最新版またはタグで指定ironsoftwareofficial/ironsecuredoc:2024.7.1
- コンテナポート:
8080
- ポート名:
8080
-
環境変数を追加する:
-
環境:
Production
-
HTTP_PORTS:
8080
- IronSecureDoc_LicenseKey:
YOUR-LICENSE-KEY
IronSecureDoc_LicenseKeyをセキュリティのために環境変数に直接追加することはお勧めしません。 Amazon S3 の暗号化されたバケットから環境ファイルを取得することをお勧めします。詳細については、Amazon ECS コンテナに機密データを渡す を参照してください。
他の値はデフォルトのままにして、作成を選択します。
-
ステップ6:サービスの作成
クラスターのページに戻る > クラスターを選択する (IronSecureDoc)。
サービス」タブを選択し、「作成」を選択します。
環境セクションで、コンピュートオプションと起動タイプに次の値を入力します。
- 計算オプション:
Launch type
を選択 - 起動タイプ:
FARGATE
を選択デプロイメント構成セクションで、アプリケーションタイプ、ファミリー、リビジョン、サービス名、および希望するタスクに次の値を入力します。
- アプリケーションタイプ:
Service
を選択 -
タスクの定義:
- ファミリー: 作成されたタスク定義
ironsecuredoc
を選択
- ファミリー: 作成されたタスク定義
- リビジョン: タスク定義リビジョンを選択
1 (LATEST)
- サービス名:
myservice
- 希望するタスク:
1
ネットワーキングのために、VPCとセキュリティグループを作成する必要がある場合があります。
他の値はデフォルトのままにして、作成を選択します。
配置が開始されると、配置が進行中であることを示す通知が表示されます。 サービスがデプロイされると、別の通知が表示されます。
サービスを表示し、タスクを開く。
タスク設定では、curl コマンドを実行するためにパブリック IP を使用して API が正常に動作しているかを確認できます。これは
pong
を返すはずです。
curl http://18.118.166.206:8080/v1/document-services/ping
おめでとうございます! いくつかの設定を行うだけで、Amazon Elastic Container Serviceに一般からアクセス可能なアプリケーションをデプロイすることができます。