翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ウィザードを使用した AWS Batch と Fargate オーケストレーションの開始方法
AWS Fargate は、コンテナに指定したリソース要件に厳密に一致するようにコンピューティングを起動してスケーリングします。Fargate を使用すると、追加のサーバーに対してオーバープロビジョニングまたは料金を支払う必要はありません。詳細については、Fargateを参照してください。
概要
このチュートリアルでは、ウィザード AWS Batch で をセットアップして AWS Fargate を設定し、 を実行する方法を示しますHello World
。
- 対象者
-
このチュートリアルは、システム管理者と、セットアップ、テスト、デプロイを担当する開発者を対象としています AWS Batch。
- 使用される機能
-
このチュートリアルでは、 AWS Batch コンソールウィザードを使用して以下を行う方法を示します。
-
AWS Fargate コンピューティング環境を作成して設定する
-
ジョブキューを作成します。
-
ジョブ定義の作成
-
実行するジョブを作成して送信する
-
CloudWatch でジョブの出力を表示する
-
- 所要時間
-
このチュートリアルの所要時間は約 10~15 分です。
- リージョンの制限
-
このソリューションの使用に関連する国や地域の制限はありません。
- リソースの使用コスト
-
AWS アカウントの作成には料金はかかりません。ただし、このソリューションを実装することにより、次の表に記載されるコストの一部またはすべてが発生する可能性があります。
説明 コスト (USD) 料金は、タスクまたはポッドのリクエストされた vCPU、メモリ、オペレーティングシステム、CPU アーキテクチャ、ストレージリソースに基づいています。 料金の詳細については、「Fargate の料金 」を参照してください。
前提条件
開始する前に:
AWS アカウント がない場合は、 を作成します。
タスク実行ロールを作成します。タスク実行ロールをまだ作成していない場合は、このチュートリアルの一部として作成できます。
ステップ 1: コンピューティング環境を作成する
重要
できるだけ簡単かつ迅速に開始するために、このチュートリアルにはデフォルト設定のステップが含まれています。本番稼働用の を作成する前に、すべての設定に精通し、要件を満たす設定にデプロイすることをお勧めします。
Fargate オーケストレーション用のコンピューティング環境を作成するには、以下の操作を実行します。
-
AWS Batch コンソールの初回実行ウィザード
を開きます。 -
ジョブとオーケストレーションタイプを設定する で、Fargate を選択します。
-
[次へ] を選択します。
-
コンピューティング環境設定 の 名前 で、コンピューティング環境の一意な名前を指定します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
-
他のすべての設定オプションでは、デフォルト値のままにすることができます。
-
[次へ] を選択します。
ステップ 2: ジョブキューを作成する
ジョブキューは、ス AWS Batch ケジューラがコンピューティング環境のリソースでジョブを実行するまで、送信されたジョブを保存します。ジョブキューを作成するには:
Fargate オーケストレーションのジョブキューを作成するには、以下の操作を実行します。
-
ジョブキュー設定 セクションの 名前 で、コンピューティング環境の一意の名前を指定します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
-
Priority には、ジョブキューに 900 と入力します。
他のすべての設定オプションでは、デフォルト値のままにすることができます。
-
[次へ] を選択します。
ステップ 3: ジョブ定義を作成する
ジョブ定義を作成するには
-
一般設定 セクションで:
-
一般設定 セクションの 名前 で、コンピューティング環境に固有の名前を指定します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
-
-
Fargate プラットフォーム設定 セクションで:
-
「パブリック IP アドレスを割り当てる」をオンにします。プライベートイメージリポジトリをセットアップしない限り、コンテナイメージをダウンロードするにはパブリック IP が必要です。
-
実行ロール で、Amazon Elastic Container Service (Amazon ECS) エージェントにユーザーに代わって AWS 呼び出しを許可するタスク実行ロールを選択します。ecsTaskExecutionRole または BatchEcsTaskExecutionRole を選択します。
実行ロールを作成するには、実行ロールの作成を選択します。「IAM ロールの作成」モーダルで「IAM ロールの作成」を選択します。
-
IAM コンソールには、実行ロールを作成するためのアクセス許可設定が既に設定されています。
-
Trusted エンティティタイプで、AWS サービスが選択されていることを確認します。
-
サービスまたはユーザーケースで、Elastic Container Service が選択されていることを確認します。
-
[次へ] を選択します。
-
アクセス許可ポリシーでは、AmazonECSTaskExecutionRolePolicy が選択されていることを確認します。
-
[次へ] を選択します。
-
Name では、ロール名が BatchEcsTaskExecutionRole であることを確認します。
-
[ロールの作成] を選択してください。
-
AWS Batch コンソールで、実行ロールの横にある更新ボタンを選択します。BatchEcsTaskExecutionRole 実行ロールを選択します。
-
-
-
コンテナ設定 セクションで次の操作を行います。
-
コマンドでは、カスタムメッセージ
hello world
に変更することも、そのままにすることもできます。
-
他のすべての設定オプションでは、デフォルト値のままにすることができます。
-
[次へ] を選択します。
ステップ 4: ジョブを作成する
Fargateジョブを作成するには、以下の手順を実行します。
-
ジョブの設定 セクションの 名前 で、ジョブの一意の名前を指定します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
他のすべての設定オプションでは、デフォルト値のままにすることができます。
-
[次へ] を選択します。
ステップ 5: 確認して作成する
レビューと作成では、設定手順を確認してください。変更する必要がある場合は、編集 を選択します。完了したら、リソースを作成 を選択します。
ステップ 6: ジョブの出力を表示する
ジョブの出力を表示するには、次の手順を実行します。
ナビゲーションペインでジョブを選択します。
ジョブキュードロップダウンで、チュートリアル用に作成したジョブキューを選択します。
-
ジョブテーブルには、すべてのジョブとその現在のステータスが一覧表示されます。ジョブのステータスが成功したら、ジョブの名前を選択してジョブの詳細を表示します。
詳細ペインで、ストリーム名のログを選択します。ジョブの CloudWatch コンソールが開き、 のメッセージ
hello world
またはカスタムメッセージを含むイベントが 1 つあるはずです。
ステップ 7: チュートリアルリソースをクリーンアップする
Amazon EC2 インスタンスが有効になっている間は課金されます。インスタンスを削除して、料金の発生を停止できます。
作成したリソースを削除するには、以下を実行します。
ナビゲーションペインで、ジョブキューを選択します。
ジョブキューテーブルで、チュートリアル用に作成したジョブキューを選択します。
[無効化] を選択します。ジョブキューの状態が無効になったら、削除を選択できます。
ジョブキューが削除されたら、ナビゲーションペインでコンピューティング環境を選択します。
このチュートリアル用に作成したコンピューティング環境を選択し、Disable を選択します。コンピューティング環境が無効になるまでに 1~2 分かかる場合があります。
コンピューティング環境の状態が無効になったら、削除を選択します。コンピューティング環境が削除されるまでに 1~2 分かかる場合があります。
追加リソース
チュートリアルを完了したら、次のトピックを試すことができます。
-
ベストプラクティスの詳細をご覧ください。
-
AWS Batch コアコンポーネントについて説明します。詳細については、「のコンポーネント AWS Batch」を参照してください。
-
で使用できるさまざまなコンピューティング環境について説明します AWS Batch。
-
ジョブキューとそのさまざまなスケジューリングオプションについて説明します。
-
ジョブ定義とさまざまな設定オプションについて説明します。
-
さまざまなタイプのジョブについて説明します。