AWSにコンテナインスタンスをデプロイする

チャクニット・ビン
チャクニット・ビン
2024年7月3日
更新済み 2024年11月19日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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 でコンソールを開きます。 ECSを検索 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

パブリックIP おめでとうございます! いくつかの設定を行うだけで、Amazon Elastic Container Serviceに一般からアクセス可能なアプリケーションをデプロイすることができます。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。