11
7

More than 5 years have passed since last update.

AWS ECS(fargate)+ECR コンテナでバッチをつくる② ※ECSの設定からバッチ実行まで

Last updated at Posted at 2019-02-08

今回の記事では、ECSの設定からバッチ実行までおこないます。
▼前回の記事はこちら
AWS ECS(fargate)+ECR コンテナでバッチをつくる① ※CodeBuildの設定からECRの設定まで


構成図 

aa.PNG

①ECSの設定1

今回はバッチ作成ですので下記3つの設定が必要です。
ここでは、クラスター/タスク定義の設定を行います。
・クラスター
・タスク定義(実行するコンテナの設定・複数コンテナ指定可)
・タスクのスケジューリング

※サービスは使用しません。
 サービスは常時起動のコンテナ用と認識しております。
 例えば、指定数のコンテナを常時起動し、エラーなどで
 コンテナが終了した場合に自動で指定数までコンテナを立ち上げるなど。

1. クラスターの作成

ECS1.PNG
ECS2.PNG
ECS3.PNG
ECS4.PNG

2. タスク定義の作成

ECS5.PNG
ECS6.PNG
ECS7.PNG
イメージにはECRのImage URIを設定する。(※前回記事の一番下参照)
ECS8.PNG
タスクメモリとCPUには、コンテナ実行に必要な分割り当てる。
※このあたりは、一度コンテナを実行してみて、
 ECR > メトリクス > CPU利用率、メモリ利用率を見ながら調整するのかなぁ。
コンテナを複数設定することができます。
ECS9.PNG
ECS10.PNG
 

②エンドポイントの設定

今回はプライベートサブネットでコンテナを実行します。
そのため、ECRへの経路が必要となりますが、2つの方法があります。

・インターネット経由でECRにアクセスする。 ※一度外に出る
 ⇒NAT(パブリックサブネットに)とインターネットゲートウェイが必要となります。
・プライベートリンクでECRにアクセスする。 ※インターネットに出ないのでセキュア
 ⇒エンドポイントが必要となります。

今回はプライベートリンクでECRにアクセスします。
気になるコスト面でもエンドポイントの方が安いです。
コンテナはイメージファイルのサイズが大きいので、データ転送の料金がかさみます。。

↓↓↓

エンドポイントの設定は3つ必要となります。

https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/vpc-endpoints.html

・com.amazonaws.region.ecr.dkr (ECRアクセス用)
・com.amazonaws.region.s3   (S3アクセス用)
 ※ECRがイメージファイルの保存にS3を使っているから、S3のエンドポイントが必要
・com.amazonaws.region.logs  (CloudWatchアクセス用)

1. エンドポイント(com.amazonaws.region.ecr.dkr)の設定

VPC1.PNG
VPC2.PNG
必要なサービスを選択し、プライベートサブネットと紐づけをします。
VPC3.PNG

2. エンドポイント(com.amazonaws.region.s3)の設定

※上記と同じように設定していきます。
VPC4.PNG
VPC5.PNG

3. エンドポイント(com.amazonaws.region.logs)の設定

※上記と同じように設定していきます。
VPC6.PNG
VPC7.PNG
↓↓↓
VPC8.PNG

③ECSの設定2

最後に、タスクのスケジューリングを設定しコンテナを実行します。
tECS1.PNG
tECS5.PNG
登録したタスク定義を選択する。
tECS6.PNG
プライベートサブネットを選択する。
パブリックIPはいらないので、DISABLEDで。
tECS7.PNG
スケジュールが登録されました!
tECS9.PNG


スケジュール起動発生!
tECS8.PNG
tECS10.PNG
tECS11.PNG
CloueWatch確認!
tECS12.PNG
⇒コンテナが実行され、メッセージが表示されました!!

細かい説明は置いておいて、ざっと流しました。
イメージはつかめましたでしょうか。
長々とありがとうございました!(^^)

11
7
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
11
7