もっと詳しく

アマゾンウェブサービス(AWS)のインフラストラクチャ用に多くのコンピューティングリソースを管理および構成するのに苦労していますか? やってみませんか AWSバッチ? AWS Batchを使用すると、AWSクラウドでバッチコンピューティングワークロードを簡単に実行できます。

AWS Batchを使用すると、バッチジョブを送信して、要件に応じて容量をプロビジョニングし、コンピューティングコストと容量の問題を減らすことができます。 このチュートリアルでは、AWSバッチジョブを実行してAWSクラウドにデプロイする方法を学習します。

読んで、AWS Batchでジョブの自動化を開始してください!

前提条件

このチュートリアルは、段階的なデモンストレーションになります。 フォローしたい場合は、次のものが揃っていることを確認してください。

IAMユーザーが次のように設定されていることを確認します プログラムによるアクセス そして、それをAmazonEC2FullAccessの既存のポリシーに割り当てます。

  • プライベートAWSECRリポジトリ。

コンピューティング環境のセットアップ

AWS Batchは、さまざまなネットワークコンポーネントに基づいてジョブを実行します。 これらのネットワークコンポーネントは次のとおりですが、これらに限定されません。

  • CPUやメモリなどのリソース使用率
  • インフラストラクチャは、AWS Fargate、AmazonEC2などのサービスを計算します。

ただし、最初のジョブを実行する前に、コンピューティング環境をセットアップすることがプロセスの重要な部分です。

AWSバッチコンピューティング環境を作成するには:

1.にサインインします AWSマネジメントコンソール AWSアカウントで。

2.次に、 バッチ、 を選択 バッチ サービスを実行すると、ブラウザはAWSバッチページにリダイレクトします(ステップ3)。

3.一度 AWSバッチ ページをクリックします コンピューティング環境ボタンを作成し、 以下に示すように、コンピューティング環境の作成を開始します。

ブラウザは、コンピューティング環境を構成するページにリダイレクトされます(ステップ4)。

AWSバッチジョブのコンピューティング環境の作成を開始します
AWSバッチジョブのコンピューティング環境の作成を開始します

4.次に、以下を使用してコンピューティング環境を構成します。 コンピューティング環境の構成 セクション:

  • 計算 環境タイプ – 選択する 管理 AWSがインスタンスを処理するようにします。
  • 計算 環境名 –好きな環境名を入力しますが、このチュートリアルの選択は次のとおりです。 ATA-batch-env
  • サービスの役割 –お客様に代わって他のAWSサービスを呼び出す権限を持つサービスロールを選択します。 また、サービスの役割がない場合でも、サービスの役割はユーザーに代わって作成されます。

サービスの役割 このチュートリアルでは、 バッチサービスにリンクされた役割

コンピューター環境構成の指定
コンピューター環境構成の指定

5.インスタンス構成で、次のオプションを設定します。

  • プロビジョニングモデル – 選択する ファーゲート、これにより、作成するインスタンスを必要とせずにコンテナを実行できます。
  • 最大vCPU –入力256、Fargateインスタンスが使用するデフォルト。
コンピューティング環境のインスタンス構成の指定
コンピューティング環境のインスタンス構成の指定

6.次に、下にスクロールして ネットワーキング セクションを作成し、以下を構成します。

  • VPC ID – このチュートリアル用に作成したVPCIDを前提条件として選択します。
  • サブネット– ドロップダウンフィールドから選択できるAWSアカウントで使用可能なサブネットがあります。 ただし、選択したサブネットを使用する場合は、コンピューティングリソースが起動される適切なサブネットを選択してください。

このチュートリアルでは、以下に示すように、デフォルトのサブネットを使用します。

VPC IDとサブネットグループは、アカウントごとに異なります。 このチュートリアルに表示されるVPCおよびサブネットグループは、AWSアカウントとは異なります。

  • を展開します 追加設定:セキュリティグループ、配置グループオプションを選択すると、すでに選択されているデフォルトのセキュリティグループが表示されます。 ただし、ここでも、選択したセキュリティグループを関連付けることができます。
コンピューティング環境のネットワーク構成の指定
コンピューティング環境のネットワーク構成の指定

7.最後に、 コンピューティング環境を作成する 以下に示すように、ボタン(右下)を使用して、コンピューティング環境の作成を完了します。

コンピューティング環境のプロビジョニング
コンピューティング環境のプロビジョニング

数秒後、あなたはで気付くでしょう コンピューティング環境 以下に示すように、指定した環境が有効になっていることを示すタブ。

コンピューティング環境が有効になっていることを確認する
コンピューティング環境が有効になっていることを確認する

AWSバッチジョブキューの作成

AWSBatchがジョブを実行するためのコンピューティング環境を起動しました。 ただし、ジョブキューを作成するまで、コンピューティング環境は何もしません。

ジョブキューは、AWS Batch Schedulerがコンピューティング環境のリソースでジョブを実行するまで、送信されたジョブを保存します。

ジョブキューを作成するには、次の手順に従います。

1. AWSバッチダッシュボードで、[ジョブキューの概要]セクションの下にある[ジョブキューの作成]をクリックします。 このアクションにより、ブラウザがジョブキューを設定するページにリダイレクトされます(ステップ2)。

AWSバッチでのジョブキューの作成
AWSバッチでのジョブキューの作成

2.で ジョブキューの構成 セクションでは、次の詳細を提供します。

  • ジョブキュー名 –一意の名前を入力しますが、このチュートリアルの選択は ATA-AWS-BATCHJOB
  • 優先順位 –ジョブキューに0〜100の整数を入力します。 このチュートリアルでは、デフォルト値の1を使用します。
  • スケジューリングポリシーARN –スケジューラーは手動で無効にしておくため、このオプションは無効のままにしてください。
  • タグの追加はオプションであるため、このチュートリアルのタグは無視してください。
ジョブキュー構成の指定
ジョブキュー構成の指定
  • 下にスクロールして、 ATA-batch-env 「コンピュート環境のセットアップ」セクションのステップ4でコンピューティング環境として作成しました。

コンピューティング環境を設定したら、をクリックします。 作成 ボタンをクリックして、ジョブキューを作成します。

ジョブキューでのコンピューティング環境の指定
ジョブキューでのコンピューティング環境の指定

4.最後に、をクリックします ジョブキュー 以下に示すように、[AWSバッチ]ページの左側のパネルで、新しく作成されたジョブキューを確認します。

AWSバッチでジョブキューを確認する
AWSバッチでジョブキューを確認する

AWSバッチジョブ定義の作成

これで、ジョブが常駐するジョブキューができました。 ただし、作成する必要のあるもう1つのコンポーネントは、 仕事の定義、最終的にあなたの仕事を提出する前に。 ジョブ定義には、タイムアウト、AWSECRリンクなどのすべてのジョブの詳細が含まれます。

ジョブ定義を作成するには:

1. AWSバッチダッシュボードに移動し、以下に示すように[ジョブ定義]をクリックして、ジョブ定義のリストにアクセスします。

ジョブ定義のリストへのアクセス
ジョブ定義のリストへのアクセス

2.次に、をクリックします 作成 ボタン(右上)をクリックして、新しいジョブ定義を初期化します。 ブラウザは、新しいジョブ定義を構成するページにリダイレクトします(ステップ3)。

新しいジョブ定義の作成を開始します
新しいジョブ定義の作成を開始します

3.上で ジョブ定義を作成する ページに、次の詳細を入力します。

  • を選択 シングルノード 下のオプション 職種 単一のノードでのみジョブを実行するため、セクション。
  • 仕事を提供する 名前 あなたが下で好きなように 一般的な構成 セクション。 しかし、このチュートリアルの選択は ATA-ジョブ定義
  • 実行タイムアウト– 未完了のジョブが実行後に終了するまでの時間を秒単位で入力します。 最小タイムアウトは60秒です。
ジョブ定義の一般構成の指定
ジョブ定義の一般構成の指定

4.下にスクロールして プラットフォームの互換性 セクションを作成し、以下を構成します。

  • プラットフォームタイプ – 選ぶ ファーゲート、サーバーを管理せずにアプリケーションを構築できるサーバーレスコンピューティングエンジン。
  • を有効にする パブリックIPを割り当てる オプションなので、必要に応じてAWSBatchジョブにパブリックにアクセスできます。
  • を有効にする 実行の役割 オプションを選択し、Amazon Elastic Container Service(Amazon ECS)エージェントがお客様に代わってAWS呼び出しを行えるようにするタスク実行ロールを選択します。 このチュートリアルでは、 ecsTaskExecutionRole 実行の役割。
プラットフォームの互換性構成の指定
プラットフォームの互換性構成の指定

5.次に、以下を設定します。 ジョブ構成 セクション:

  • 画像 –画像の名前をに入力します リポジトリ-url/image:tag コンテナの起動に使用される形式。 このチュートリアルでは、前提条件として作成されたAWSECRを使用します。

Amazon ECRリポジトリの画像は、 レジストリ/リポジトリ[:tag]、および他のオンラインリポジトリの画像は、次のようなドメイン名を使用します google.com/assemblyline/ubuntu

  • 選ぶ バッシュ のために コマンド構文、次に以下を指定します 指示 コンテナに渡します。 新しいAWSバッチを送信すると、ジョブコンテナは以下のコマンドを実行します。
画像、コマンド構文、およびコマンドの指定
画像、コマンド構文、およびコマンドの指定

6.下にスクロールして、次のようにジョブ定義の構成を続行します。

  • vCPU –コンテナー用に予約するvCPUの数を指定します。 AWSバッチはそれほど重くならないため、このチュートリアルでは1つのvCPU(1.0)のみを使用します。
  • メモリー –ジョブコンテナに提示するメモリ(2 GB)のハード制限(MiB単位)を指定します。
ジョブのvCPUとメモリの指定
ジョブのvCPUとメモリの指定

7.ジョブ定義で構成を指定した後、をクリックします。 作成 ボタン(右下)をクリックして、ジョブ定義を作成します。

ジョブ定義の作成
ジョブ定義の作成

8.に移動します ジョブの定義 以下に示すように、もう一度ページを開いて、新しく作成されたジョブ定義を確認します。

ジョブ定義の確認
ジョブ定義の確認

9.ここで、に移動します ジョブズ ページをクリックし、をクリックします 新しい仕事を提出する (右上)最初のAWSバッチジョブを送信します。

新しいAWSバッチジョブの送信
新しいAWSバッチジョブの送信

10.最後に、送信するAWSバッチジョブに以下を指定します。

  • 名前 –ジョブ名を入力します(ATA-バッチジョブ)。
  • ジョブの定義 –ステップ3で作成したジョブ定義を選択します(ATA-ジョブ定義)。
  • ジョブキュー –ジョブキューを選択します(ATA-AWS-BATCHJOB)「AWSバッチジョブキューの作成」セクションのステップ2で作成しました。
  • 実行タイムアウト –実行タイムアウトを最小に設定します(60)。
  • クリック 送信 ページの下部にある新しいジョブを送信します。
新しいAWSバッチジョブを送信するための詳細を指定する
新しいAWSバッチジョブを送信するための詳細を指定する

AWSバッチジョブの確認とジョブのモニタリング

最初のAWSバッチジョブを正常に送信しましたが、ジョブが機能しているかどうかをどのように確認できますか? AWS Batchは、実行中のジョブごとにログを作成します。ここで、ジョブが実行されているかどうかを確認できます。

に移動します ジョブズ ページ、およびあなたの仕事のステータスは言う 成功 (右下)、以下に示すように。 しかし、それだけでは不十分な場合は、仕事の状況に関する詳細情報を入手できます。

AWSバッチジョブをクリックします(ATA-バッチジョブ)、ブラウザはジョブのステータスとログにリダイレクトします。

新しいジョブの確認
新しいジョブの確認

以下に、ステータスも表示されます 成功

AWSバッチジョブのステータスを確認する
AWSバッチジョブのステータスを確認する

ここで、一番下までスクロールすると、ジョブがコンテナーで正常に実行され、ジョブ定義で指定したコマンドが実行されたことがわかります。

AWSバッチが正常に実行されたことを確認する
AWSバッチが正常に実行されたことを確認する

結論

このチュートリアルでは、AWSBatchを使用してジョブ定義に対してジョブを実行する方法を学習しました。 AWS Batch Jobは、実行するジョブの詳細を出し入れする便利なロギングシステムを提供します。

最良の部分は、AWSバッチが無料のサービスであり、使用するリソースに対してのみ料金を支払う一方で、バッチジョブを定期的またはオンデマンドで実行できることです。

では、この新しく発見された知識を他のAWSサービスで使用して、重要なサービスを構築してみませんか?

The post AWSバッチによる効果的なジョブ管理 appeared first on Gamingsym Japan.