AWSにコンテナインスタンスをデプロイする
アマゾン・エラスティック・コンテナ・サービス(アマゾンECS)は非常にスケーラブルで高速なコンテナ管理サービスで、コンテナの実行、停止、管理を簡単に行うことができる。 AWS Fargate上でサービスやタスクを起動することで、Amazon ECSが管理するサーバーレスインフラ上でコンテナをホストできる。 ファーゲートの詳細についてはAWS Fargate for Amazon ECS.
ステップ1:AWSアカウントにサインインする
AWSポータルにサインインします。
AWSアカウントをお持ちでない場合は、新しいAWSアカウントを登録する.
ステップ2:仮想プライベートクラウドの作成
アマゾン・バーチャル・プライベート・クラウド(アマゾン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(のマークが付いている。(デフォルト)"
ノート
アカウントがAmazon EC2 Classicをサポートしている場合は、前のタスクで作成したVPCを選択する。
ステップ4:ECSクラスタの作成
AWSポータルホームページの検索ボックスで "ECS "を検索し、"Elastic Container Service "を選択する。 または、以下のコンソールを開く。https://console.aws.amazon.com/ecs/v2. Create cluster "を選択する。 クラスタ名」を入力する。 AWS Fargate」のみを選択(サーバーレス)"のインフラストラクチャーセクションにある。 他の値はデフォルトのままにして、Createを選択する。
ステップ5:タスク定義の作成
クラスタが作成されたら、タスク定義を選択します。 新しいタスク定義を作成するを選択する。 タスク定義設定セクションで、タスク定義ファミリーの値を入力します。 Infrastructure requirements セクションで、Launch type, CPU, Memory, Task role, Task execution role に以下の値を入力する。
- ラヌークタイプ:AWSファーゲート`のみ
- CPU1 vCPU
- メモリー:2GB
- タスクの役割:
ecsTaskExecutionRole
- タスク実行ロール:
ecsTaskExecutionRole
コンテナ - 1 セクションで、名前、画像URI、コンテナ・ポート、ポート名、環境変数**に以下の値を入力します。 - 名前マイコンテナ
- 画像 URI: 最新の場合は
ironsoftwareofficial/ironsecuredoc
、またはタグironsoftwareofficial/ironsecuredoc:2024.7.1
で指定。 - コンテナポート
8080
- ポート名:
8080
-
環境変数を追加する:
-
環境プロダクション
-
HTTP_PORTS:
8080
- IronSecureDoc_LicenseKey:
YOUR-LICENSE-KEY
.
IronSecureDoc_LicenseKeyについては、環境変数に直接追加することは、セキュリティの観点から推奨しません。 暗号化されたAmazon S3バケットから環境ファイルを取得することをお勧めします。機密データをAmazon ECSコンテナに渡す. 他の値はデフォルトのままにして、Create**を選択する。
-
ステップ6:サービスの作成
クラスタページに戻る > クラスタを選択する(IronSecureDoc). サービス」タブを選択し、「作成」を選択します。 環境セクションで、計算オプションと起動タイプ**に以下の値を入力します。
- オプションを計算します:起動タイプ`を選択
- 起動タイプFARGATE`を選択する。 Deployment configuration セクションで、Application type, Family, Revision, Service name, Desired tasks** に以下の値を入力します。
- アプリケーションの種類サービス`を選択
-
タスクの定義:
- ファミリー作成されたタスク定義
ironsecuredoc
を選択する。
- ファミリー作成されたタスク定義
- リビジョンタスク定義のリビジョン `1' を選択する。(最新情報)もちろん、英語のテキストを教えていただけますでしょうか?
- サービス名:
myservice
- 必要なタスク:
1
ネットワークのために、VPCとセキュリティ・グループが存在しない場合は作成する必要があることに注意してください。
他の値はデフォルトのままにして、Createを選択する。
配置が開始されると、配置が進行中であることを示す通知が表示されます。 サービスがデプロイされると、別の通知が表示されます。
サービスを表示し、タスクを開く。 タスク構成では、Public IPを使用してcurlコマンドを実行し、APIが正しく動作していることを確認することができる。
curl http://18.118.166.206:8080/v1/document-services/ping
おめでとうございます! いくつかの設定を行うだけで、Amazon Elastic Container Serviceに一般からアクセス可能なアプリケーションをデプロイすることができます。