BFT名古屋 TECH BLOG

日々の業務で得た知識を所属するエンジニアたちがアウトプットしていきます。

【AWS】Batch-ジョブ実行手順_第1話~コンピューティング環境~

コンニチハ、BFT名古屋支店のヤタテです!

はじめに

AWS Batchの概要紹介の記事で、AWS Batchの概要を紹介しました。
AWS Batchでジョブを実行する手順を3つの記事に分けて紹介します。
第1話では、ジョブの実行環境であるコンピューティング環境の構築手順をAWS Batchを取り巻くシステム構成図の紹介を含めて紹介します。

システム構成図

様々なサイトを参考にAWS Batchについて理解しようとしましたが、いまいちピンとくるシステム構成図を見つけられなかったため、作成したシステム構成図です。システム構成図で赤枠で囲んだ箇所がこの記事での紹介するものとなります。
AWS RDS(PostgreSQL DB)にあるデータを参照し、EC2で処理した結果を別のAWS RDS(PostgreSQL DB)に出力する構成となっています。

f:id:bftnagoya:20210513105422p:plain
システム構成図

サービス一覧

太文字がシステム構成図の赤枠と対応しており、今回の記事の対象となります。

  • AWS Batch:本システムでのメインで、以下の4つのコンポーネントがある。
    • コンピューティング環境
    • ジョブキュー
    • ジョブ定義
    • ジョブ送信
  • AWS ECS:Dockerコンテナを起動するサービス。
          マネージド型のコンピューティング環境の場合、内部的に起動する。
  • AWS ECR:Dockerイメージを保存するレジストリ
          自作のDockerイメージをpushする。
  • AWS S3:AWS ECRに登録したDockerイメージが保存される。
         Bucketの作成などを行う必要はない。
  • AWS EC2:AutoScallingによりインスタンスが立ち上がる。
  • AWS RDS:データベース(今回はPostgreSQL)。
  • AWS CloudWatch:ログの確認が可能。
  • AWS IAM:ジョブの実行に当たって必要なポリシーを割り当てる。

前提条件

・使用するリージョンは、アジアパシフィック(東京)とする

コンピューティング環境の構築手順

では、早速コンピューティング環境を構築します。

1.AWS Batchコンソールを開く
2.ナビゲーションペインで、「コンピューティング環境」→「作成」の順で選択する
3.コンピューティング環境設定を設定する
パラメータ 説明
コンピューティング環境のタイプ マネージド型またはアンマネージド型を選択可能
コンピューティング環境の名前 コンピューティング環境の一意の名前を指定する
コンピューティング環境の有効化 チェックが入っていることでジョブを受け入れられる
サービスロール AWSBatchServiceRoleポリシーが割り当てられているロールを選択する
自動的に作成することも可能
4.インスタンスの設定を設定する
パラメータ 説明
プロビジョニングモデル スポットを含むFargateまたはEC2を選択可能
今回はEC2(オンデマンド)を選択する
最大vCPU スケールアウトできるvCPUの最大数を指定する
5.ネットワーキングを設定する
パラメータ 説明
VPC ID EC2インスタンスを起動するVPCを指定する
サブネット 選択したVPCのどのサブネットがインスタンスをホストするか選択する
デフォルトでは選択したVPC内の全てのサブネットが選択されている
セキュリティグループ インスタンスにアタッチするセキュリティグループを選択する
6.タグを設定する

リソースに関連付けられたタグを設定可能です。
最大50個のタグを任意で追加してください。

7.「コンピューティング環境の作成」を選択する

まとめ

コンピューティング環境を構築する手順を紹介しました。
次回は、ジョブ定義とジョブキューの構築手順を紹介します。