LoginSignup
13
4

More than 5 years have passed since last update.

AWS Batchの設定方法(アンマネージド型でt2.microのコンピューティング環境を作る)

Last updated at Posted at 2018-12-02

AWS Batchはジョブを実行する度にコンテナを展開し、Lambdaのように使用時間を節約できる便利なサービスです。

しかしマネージド型は、最も安価なインスタンスタイプでもm3.mediumまでしか選べません。
インスタンスはジョブ終了後、10分放置すると自動でterminateされますが、少し無駄な気がします。

選択肢の一つとして、アンマネージド型でt2.microのEC2インスタンスを利用する方法を紹介します。

公式ドキュメント

利用するポイント

① AWS Batchのコンピューティング環境の設定で、アンマネージド型の設定を新規作成する
② ①の後、ECSクラスタが生成されるので、ARNを取得する
③ t2.microのインスタンスを作成※1する際、「/etc/ecs/ecs.config」に「ECS_CLUSTER=②のARN」を書き込むbashスクリプト※2をユーザーデータに登録する
④ ①のコンピューティング環境を使用してAWS Batchジョブを実行する

※1:インスタンス作成に使用するAMI

ECSに最適化されたAMIイメージがAWSによって公開されていますので、使用したいリージョンのイメージを指定します
例)ami-05b296a384694dfa4(2018年11月、ap-northeast-1の場合)
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs-optimized_AMI_launch_latest.html

※2:③で登録するユーザーデータについて

  • 登録例
    • コンピューティング環境名:example_compute_environment
    • 生成されたECSクラスターのARN:arn:aws:ecs:ap-northeast-1:000000000000:cluster/example_compute_environment_a0000000-0000-0000-0000-000000000000
#!/bin/bash
echo "ECS_CLUSTER=arn:aws:ecs:ap-northeast-1:000000000000:cluster/example_compute_environment_a0000000-0000-0000-0000-000000000000" >> /etc/ecs/ecs.config
13
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
4