SlideShare a Scribd company logo
1 of 62
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS 公式 Webinar
https://amzn.to/JPWebinar
過去資料
https://amzn.to/JPArchive
Partner Solutions Architect
⾦森政雄
2020/04/22
Amazon Elastic Container Service
サービスカットシリーズ
[AWS Black Belt Online Seminar]
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Black Belt Online Seminar とは
「サービス別」「ソリューション別」「業種別」のそれぞれのテーマに分かれて、アマゾ
ン ウェブ サービス ジャパン株式会社が主催するオンラインセミナーシリーズです。
質問を投げることができます︕
• 書き込んだ質問は、主催者にしか⾒えません
• 今後のロードマップに関するご質問は
お答えできませんのでご了承下さい
① 吹き出しをクリック
② 質問を⼊⼒
③ Sendをクリック
Twitter ハッシュタグは以下をご利⽤ください
#awsblackbelt
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
⾃⼰紹介
⾦森 政雄
Ø 所属/役職 :
パートナー技術本部/
パートナーソリューションアーキテクト
Ø 好きなサービス
Ø リモートワークの過ごし⽅
- 午後に20 分間の仮眠
- 定期的な⼩休憩
Amazon Elastic
Container Service
AWS Step Functions
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
内容についての注意点
• 本資料では2020年04⽉22⽇現在のサービス内容および価格についてご説明しています。最新の
情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。
• 資料作成には⼗分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相
違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。
• 価格は税抜表記となっています。⽇本居住者のお客様には別途消費税をご請求させていただきま
す。
• AWS does not offer binding price quotes. AWS pricing is publicly available and is
subject to change in accordance with the AWS Customer Agreement available at
http://aws.amazon.com/agreement/. Any pricing information included in this
document is provided only as an estimate of usage charges for AWS services based on
certain information that you have provided. Monthly charges will be based on your
actual use of AWS services, and may vary from the estimates provided.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本セミナーの概要
❏ 本セミナーで学習できること
❖ AWS が提供するコンテナオーケストレーションツールである、
Amazon Elastic Container Service (ECS )の基本と機能概要
❏ 対象者
❖ コンテナ( docker )をクラウドでの本番環境で利⽤することを検討さ
れている⽅
❖ コンテナのオーケストレーションツールに興味のある⽅
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
前置き
※本セッションでは、「コンテナとは何か」や、コンテナを活⽤するための基
本的な開発/運⽤の考え⽅については取り扱いません。そのような情報が必要
の⽅は、下記のAWS Summit の講演資料などをご参照ください。
AWS Summit 2019
【初級】AWS コンテナサービス⼊⾨
動画:
https://youtu.be/L4bLDNRSYC8
資料:
https://pages.awscloud.com/rs/112-TZM-
766/images/C3-01.pdf
Speaker Hara Tori
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本⽇のアジェンダ
• AWS のコンテナサービス概要
• Amazon ECS の基本
• Amazon ECS の主要要素
• コンテナの実⾏環境
• Amazon ECS の機能紹介
• タスク定義詳細
• コンテナ実⾏
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本⽇のアジェンダ
• AWS のコンテナサービス概要
• Amazon ECS の基本
• Amazon ECS の主要要素
• コンテナの実⾏環境
• Amazon ECS の機能紹介
• タスク定義詳細
• コンテナ実⾏
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サーバ上でのコンテナ実⾏(docker の場合)
$ ssh …
イメージレジストリ
Docker
Engine
EC2 インスタンス
# docker run ...
コンテナ
イメージのダウンロード
コンテナ
イメージ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
⼿作業でのコンテナイメージダウンロードと実⾏は
⾮効率かつミスオペレーションを招く
このEC2インスタンスの
クラスターでコンテナを実⾏
このコンテナを3つのAZに
分散させて10個デプロイして、
ロードバランサーにつないで、、、
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナオーケストレーションの仕組み
API
イメージレジストリ
Container
Runtime
EC2 インスタンス
コンテナ
イメージのダウンロード
コンテナ
イメージ
Orchestrator Agent
API
(コンテナの作成 …)
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナオーケストレーションによるクラスター管理
API
Container
Runtime
Orchestrator
Agent
Container
Runtime
Agent
Container
Runtime
Agent
Container
Runtime
Agent
クラスター
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSのコンテナ関連サービス
オーケストレーション
デプロイ、スケジューリング、
スケーリング、クラスター管理
実⾏環境
コンテナ実⾏
イメージレジストリ
コンテナイメージのレポジトリ
Amazon
Elastic Container
Registry
(Amazon ECR)
Amazon
Elastic Container
Service
(Amazon ECS)
Amazon
Elastic Kubernetes
Service
(Amazon EKS)
AWS Fargate
Amazon
Elastic Compute
Cloud
(Amazon EC2)
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Container Service
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Container Service (ECS)
• クラウドでコンテナを本番環境利⽤す
るためのオーケストレーター
• 各種 AWS サービスとの⾼度な連携
• 多様なワークロードをサポートする
「タスク」「サービス」というシンプ
ルなリソース表現
• Linux/Windows サポート
https://aws.amazon.com/jp/ecs/
サービス紹介ページ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本⽇のアジェンダ
• AWS のコンテナサービス概要
• Amazon ECS の基本
• Amazon ECS の主要要素
• コンテナの実⾏環境
• Amazon ECS の機能紹介
• タスク定義詳細
• コンテナ実⾏
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECSの主要要素
コンテナ
イメージ
コンテナ
イメージ
参照
タスクを構成するコンテナ群定義︓
• コンテナ定義(イメージ場所等)
• 要求CPU & メモリ
• タスクに割当てるIAMロール
• ネットワークモード
• etc...
タスク定義
クラスター
• 実⾏環境の境界
• IAM権限の境界(クラスタに対する操作)
• スケジュールされたタスクの実⾏を設定可能
サービス
• タスク実⾏コピー数(n個)を定義
• 起動後、タスク実⾏コピー数を維持
• ELBと連携
• 起動タイプ(EC2, Fargate)を設定
参照
タスク
• タスク定義に基づき起動さ
れるコンテナ群
• Task内コンテナは
同⼀ホスト上で実⾏される
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本⽇のアジェンダ
• AWS のコンテナサービス概要
• Amazon ECS の基本
• Amazon ECS の主要要素
• コンテナの実⾏環境
• Amazon ECS の機能紹介
• タスク定義詳細
• コンテナ定義詳細
• コンテナ実⾏
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナの実⾏環境
Amazon EC2 AWS Fargate
ECS で管理されるコンテナはどこで動く?
→選択肢はEC2 起動タイプとFargate 起動タイプの2つ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2 起動タイプ – ECS コンテナインスタンス
• ECS コンテナエージェントを実⾏しクラスターに登録されているEC2 インスタンス
• EC2 起動タイプを使⽤して実⾏されたタスクはアクティブなコンテナインスタンス
に配置される
• Amazon ECS コンテナインスタンス IAM ロールが設定されている必要がある
Cluter_AAmazon ECS
Cluter_B
ECS コンテナエージェント
/etc/ecs/ecs.config
…
ECS_CLUSTER=Cluster_B
…
…
インスタンスをクラスターに登録 コンテナインスタンス
IAM ロール
Amazon ECS-optimized AMI
クラスターに登録されるまでの流れ(イメージ)
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_instances.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECS-optimized AMI と ECS コンテナエージェント
Amazon ECS-optimized AMI
• コンテナインスタンスに求められる要件/推奨事項にしたがって事前構成され
たAMI。下記のようなものがインストール済み
Docker デーモン
ECS コンテナエージェント etc …
• Amazon Linux 1/Amazon Linux 2/Windows / GPU などのAMI を⽤意
ECS コンテナエージェント
• ECS コントロールプレーンと通信し、コンテナインスタンスの管理やタスク
の実⾏/停⽌を⾏う
• Amazon ECS-optimized AMI を元に起動した場合、事前にインストールされ
ている。そうではない場合、⾃⾝でインストールする必要がある
• このエージェント⾃体もコンテナで実⾏される
参考 : https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
参考 : https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_agent.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナインスタンスのドレイン
クラスターからコンテナインスタンスを削除
する必要がある場合
p システム更新
p エージェント/Docker デーモンの更新
p AutoScaling のスケールイン etc
コンテナインスタンスをDRAINING に設定
p 新規タスクは配置されない
p PENDING 状態のサービスタスクは即時停⽌
p RUNNING 状態のサービスタスクはサービ
スのデプロイ設定に従って停⽌し、代替さ
れていく
service / desiredCount = 6
PENDING
RUNNING
RUNNING
RUNNING
RUNNING
RUNNING
DRAINING
即時停⽌
RUNNING
PENDING
必要数揃ったら停⽌
参考:
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide
/container-instance-draining.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナインスタンスのライフサイクル
ACTIVE/TRUE
ACTIVE/FALSE
IVACTIVE/FALSE
DRAINING/TRUE
1時間後に
⼀覧から消える
①
①コンテナエージェントがインスタン
スをクラスターに登録
②インスタンスを停⽌(終了ではない)
③再起動で再接続
④インスタンスのドレインを実施
⑤ACTIVE に戻すとタスクが再度スケ
ジュールされるように
⑥コンテナインスタンスを登録解除ま
たは終了
②
③
④
⑤
⑥⑥
⑥
インスタンスステータス
/エージェント接続ステータス
凡例
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_instan
ces.html#container_instance_life_cycle
参考
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2 インスタンス
ECS
Agent
Docker
Engine
OS
実⾏環境 EC2 インスタンスの運⽤業務
OS やエージェント類へのパッチ当て・更新
実⾏中のコンテナ数に基づく、最適なリソース
使⽤率を保つための EC2 インスタンス数のス
ケーリング
EC2 起動タイプの課題
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS マネージド
EC2 インスタンスのプロビジョン、スケール、管理不要
コンテナネイティブ
仮想マシンを意識しないシームレスなスケーリング
コンテナの起動時間・使⽤リソースに応じた料⾦設定
AWS サービスとの連携
VPC ネットワーキング、Elastic Load Balancing、IAM、
CloudWatch、etc.
AWS Fargate
サービス紹介ページ
https://aws.amazon.com/jp/fargate/
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Fargate : タスク割り当てCPUとメモリ設定
柔軟な設定の選択肢
50 パターンのCPU/メモリ
の組み合わせから選択
CPU Memory
256 (.25 vCPU) 0.5GB, 1GB, 2GB → 3種類
512 (.5 vCPU) 1GB to 4GB (1GB 刻み) → 4種類
1024 (1 vCPU) 2GB to 8GB (1GB 刻み) → 7種類
2048 (2 vCPU) 4GB to 16GB (1GB 刻み) → 13種類
4096 (4 vCPU) 8GB to 30GB (1GB 刻み) → 23種類
1 vCPU/時 = $0.05056
1 GB Mem/時 = $0.00553
https://aws.amazon.com/jp/fargate/pricing/
(※東京リージョン、2020/04/22現在)
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Fargate についてもっと詳しく知りたい⽅は
AWS Fargate についてもっと詳しく知りたい⽅は、下記のBlack Beltにて、詳
しく説明されておりますので、そちらをご覧ください。
[AWS Black Belt Online Seminar]
AWS Fargate ( 2019/09/25 )
動画:
https://youtu.be/rwwOoFBq2AU
資料:
https://d1.awsstatic.com/webinars/jp/pdf/s
ervices/20190925_AWS-
BlackBelt_AWSFargate.pdf
Speaker 川崎 ⼀⻘
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本⽇のアジェンダ
• AWS のコンテナサービス概要
• Amazon ECS の基本
• Amazon ECS の主要要素
• コンテナの実⾏環境
• Amazon ECS の機能紹介
• タスク定義詳細
• コンテナ実⾏
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義
• アプリケーションを構成する1つ以上(最
⼤10個) のコンテナを定義するJSON 形
式のテキストファイル
• 使⽤するコンテナ、起動タイプ、コンテ
ナの実⾏⽅法など様々なパラメータを定
義できる
• アプリケーションを実⾏するときは、タ
スク定義をインスタンス化したタスクを
実⾏する
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
参考:
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide
/task_definitions.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の詳細 – 代表的なパラメータ
必須
• ファミリー ( family )
• コンテナ定義 ( containerDefinitions )
オプション
• タスクロール( taskRoleArn )
• タスク実⾏ロール( executionRoleArn )
• ネットワークモード ( networkMord )
• ボリューム ( volumes )
• 起動タイプ( requiresCompatibilities )
• タスクサイズ( cpu / memory )
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の詳細 – 代表的なパラメータ
必須
• ファミリー ( family )
• コンテナ定義 ( containerDefinitions )
オプション
• タスクロール( taskRoleArn )
• タスク実⾏ロール( executionRoleArn )
• ネットワークモード ( networkMord )
• ボリューム ( volumes )
• 起動タイプ(requiresCompatibilities )
• タスクサイズ( cpu / memory )
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
タスク定義の名前のようなもの。タスク定義
を登録する際に必ず指定する。
ファミリーとリビジョン番号(最初は1)で1つ
のタスク定義が特定される。
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の更新⽅法
タスク定義の更新
• タスク定義はイミュータブル(変更できない)
• 変更する場合はファミリーの新しいリビジョ
ンを作成する
実⾏中のタスク/サービスへの影響
• 実⾏中のタスクは更新されない
• サービスから利⽤している場合、サービスを
更新する必要がある
revision:1ver1
ver2
revision:2
service
コンテイメージ タスク定義
“family” : “Sample”
参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/update-task-definition.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の詳細 – 代表的なパラメータ
必須
• ファミリー ( family )
• コンテナ定義 ( containerDefinitions )
オプション
• タスクロール( taskRoleArn )
• タスク実⾏ロール( executionRoleArn )
• ネットワークモード ( networkMord )
• ボリューム ( volumes )
• 起動タイプ(requiresCompatibilities )
• タスクサイズ( cpu / memory )
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
タスク実⾏時コンテナランタイムに渡されるコ
ンテナ定義。コンテナのイメージやポートマッ
ピング、メモリ制限などを指定する
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナ定義の代表的なパラメータ
名前 ( name )
コンテナの名前。タスク内で複数のコンテナをリ
ンクする場合、この名前を利⽤(※)。
(※ ネットワークモードがbridge の時のみ)
イメージ( image )
使⽤するコンテナのイメージを指定する
メモリ ( memory / memoryReservation )
memory – コンテナに適⽤されるメモリのハード
リミット
memoryReservation – コンテナ⽤に予約されるメ
モリのソフト制限
etc….
Registry
image
image
“name”:”aaa”
“name”:“bbb”
“links”:[“bbb:bbb”]
$docker container stats
… … … MEM USAGE / LIMIT …
… … … 100MiB/ 300 MiB …
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナ定義: logConfiguration パラメータ
コンテナのログ設定を指定する
• ログドライバーの指定 ( logDriver )
• ログドライバーに送信する設定( options, secretOptions )
ログドライバーの例: awslogs ログドライバー
ü コンテナアプリのログはSTDOUT/STDERRを利用
ü ローカルの開発環境でもデバッグが容易
ü ログの出力ストリームの送り先は実行環境側でコントロールすべき
ü awslogs ログドライバを利用することでSTDOUT /STDERR がCloudWatch
Logsに出力される
参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/using_awslogs.html
参考 : https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナ定義: environment 、secrets パラメータ
コンテナに環境変数を渡す⽅法は2つ
environment
• コンテナに環境変数として設定する
• 定義ファイルに平⽂で記述されるので機密情
報には向かない
secrets
• 機密データを環境変数に設定する場合に利⽤
• AWS Secrets Manager シークレット、
AWS Systems Manager パラメータストアの
パラメータを参照可能
• それぞれタスク実⾏ロールに適切なIAM アク
セス許可の設定が必要
"environment" : [
{ "name" : "string", "value" : "string" },
{ "name" : ”hoge", "value" : ”huga" }
]
environmentの例
"secrets": [
{ “name”: “environment_variable_name”,
"valueFrom":"arn:aws:secretsmanager:region:aws_a
ccount_id:secret:secret_name-AbCdEf"
}]
secretsの例
参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/specifying-sensitive-data.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナでの機密情報の取り扱い
コンテナの環境変数(secrets ) 、ログ設定(logConfiguration のsecretOptions )では
下記のいずれかに格納されたデータを利⽤可能
AWS Secrets Manager シークレット
• EC2 起動タイプではJSON キーやバージョンを指定可能(Fargate 起動タイプは未サポート)
AWS Systems Manager パラメータストア パラメータ
• 同じリージョンの場合は名前のみでも可だが別リージョンの場合、完全なARN が必要
arn:aws:secretsmanager:region:aws_account_id:secret:secret-name:json-key:version-stage:version-id
シークレットを指定するAmazon リソースネーム (ARN)の構⽂
バージョンラベルかバージョンIDは
どちらか⽚⽅のみ指定可能
JSONキーシークレット名
arn:aws:ssm:region:aws_account_id:parameter/parameter_name
パラメータを指定するAmazon リソースネーム (ARN)の構⽂
パラメータ名
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナ定義: dependsOnパラメータ
• 事前処理を完了してからコンテナを起動したかったり、監視⽤のコンテナ
が正常に動いてから起動したいなどの実⾏順序の制御を⾏いたい時に利⽤
• タスク内のコンテナ間の依存関係を制御し、起動順や停⽌順を明⽰的に設
定できる
• “condition ” に設定できる値→ START | COMPLETE | SUCCESS | HEALTHY
コンテナA コンテナB
起動開始
起動開始
depends on コンテナA
コンテナA コンテナB
起動開始
起動開始
depends on コンテナA
終了
検知
検知
“condition” : “START” の例 “condition” : “COMPLETE” の例
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の詳細 – 代表的なパラメータ
必須
• ファミリー ( family )
• コンテナ定義 ( containerDefinitions )
オプション
• タスクロール( taskRoleArn )
• タスク実⾏ロール( executionRoleArn )
• ネットワークモード ( networkMord )
• ボリューム ( volumes )
• 起動タイプ(requiresCompatibilities )
• タスクサイズ( cpu / memory )
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
コンテナが利⽤できる IAM ロールを指定する。
アプリケーションはこのIAMロールで許可さ
れたAWS サービスのAPIを実⾏できる。
ECS コンテナエージェントが利⽤する IAM
ロールを指定する。
この権限を使ってコンテナのイメージをpull
したりCloudWatch Logs に書き込んだりする 。
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECS とIAM の連携整理
クラスター
パーミッション
タスクロール
タスク実⾏ロール
ECS クラスター
クラスターパーミッション
誰がクラスター内でタスクを起動/参照できるのかを制御
コンテナインスタンスロール
コンテナインスタンスの ECS のAPI へのアクセスを許可する
アプリケーション: タスクロール
アプリケーションのコンテナがAWSリソースに安全にアクセスする
ことを許可する
ハウスキーピング: タスク周りの下働きの実行を許可
タスク実⾏ロール
• プライベートレジストリのイメージを取得
• CloudWatch Logs への書き込み
ECS のサービスにリンクされたロール
• Elastic network interfaceの作成
• ELBへのターゲットの登録/解除
ECS のサービスにリ
ンクされたロール
タスク
コンテナインスタンス
コンテナ
インスタンスロール
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の詳細 – 代表的なパラメータ
必須
• ファミリー ( family )
• コンテナ定義 ( containerDefinitions )
オプション
• タスクロール( taskRoleArn )
• タスク実⾏ロール( executionRoleArn )
• ネットワークモード ( networkMord )
• ボリューム ( volumes )
• 起動タイプ(requiresCompatibilities )
• x
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
タスクのコンテナが使⽤するDocker ネットワー
クモードを指定する。
none | bridge | host | awsvpc のいずれかを設定。
(Windows コンテナの場合、指定しない)
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ネットワークモード
noneモード
• 外部と接続しない
bridgeモード (EC2起動タイプのデフォルト)
• Dockerの組み込み仮想ネットワークを使⽤して外部ネットワークと通信
(コンテナリンク利⽤可)
hostモード
• Dockerの組み込み仮想ネットワークをバイパスし、コンテナポートがホ
ストEC2インスタンスのNICに直接マッピング
awsvpcモード
• ECS管理下のENIがタスクにアタッチされる
• セキュリティグループをENIに設定できる
• Fargate起動タイプでタスクを起動する場合の前提
コンテナネットワーク動作を設定
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability Zone
Public subnet
us-east-1c
Availability Zone
Public subnet
us-east-
1b
Availability Zoneus-east-1a
Public subnet
awsvpc ネットワークモード
タスク 毎に ENI を⾃動割り当て
セキュリティグループ を タスク 毎に設定可
VPC Flow Logs でのモニタリング
タスク 内のコンテナは localhost イ
ンターフェースを共有
Link 不要で互いにアクセス可能
VPC 内の他のリソースへ Private IP
で通信が可能
Fargate では Public IPの割当も可能
172.31.0.0/16
172.31.1.0/24
Other Entities in VPC
EC2 ELB RDS etc.
VPC
Internet
Elastic Network Interface
(ENI)
Public IP / Private IP
208.57.73.13 / 172.31.1.164
Task
参考 : https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task-networking.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
awsvpc ネットワークモードでのENI上限制約
• タスク毎に1ENIをEC2にアタッチすることで
実現しているので、EC2に配置可能なタスク
数が EC2 にアタッチ可能 ENI 数上限の影響を
受ける
• CPU やメモリに空きがあっても ENI 数上限に
達していると追加のタスクが配置できない
• 例: c5.large 2タスク/インスタンス
各インスタンスタイプのENIの上限数
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
インスタンスタイプ タスク上
限
t3.micro 1
c5.large 2
c5.xlarge 3
c5.2xlarge 3
c5.4xlarge 7
c5.9xlarge 7
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ENI トランキング
• ECSのアカウント設定でAWS VPC トランキン
グを有効にすることで、ENI密度の⾼いコンテ
ナインスタンスを利⽤できる
• awsvpc ネットワークモードを使⽤して、今ま
でより多くのタスクを配置可能に
• 例: c5.large 10タスク/インスタンス
AWSVPC Trunkingがサポートされる Amazon EC2 インスタンスタイプ、及びそのENI上限
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
インスタンスタイプ タスク上
限
t3.micro ⾮対応
c5.large 10
c5.xlarge 20
c5.2xlarge 40
c5.4xlarge 60
c5.9xlarge 80
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の詳細 – 代表的なパラメータ
必須
• ファミリー ( family )
• コンテナ定義 ( containerDefinitions )
オプション
• タスクロール( taskRoleArn )
• タスク実⾏ロール( executionRoleArn )
• ネットワークモード ( networkMord )
• ボリューム ( volumes )
• 起動タイプ(requiresCompatibilities )
• タスクサイズ( cpu / memory )
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
データを共有したり、永続化するためのボ
リュームのリスト。
Docker ボリューム、バインドマウント、EFS
ボリュームの3種類が利⽤可能。
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
データボリュームの使⽤
Docker ボリューム
• タスク間での共有や明⽰的なライフサイ
クル管理
• 3rd Party のボリュームドライバーの利⽤
• EC2 起動タイプのみ
バインドマウント
• ホストマシン上のファイル/ディレク
トリをコンテナにマウント
• EC2 or Fargate 起動タイプ
/var/lib/docker/volumes
scratch
/var/scratch
/scratch
/var/data
data
scope = task
scope = shared
/var/data
/var/lib/docker/volumes
fac362...80535
/var/scratch
/scratch
/var/data
/data/ecs
インスタンス
に残る
3時間後に削除
タスクの停⽌
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/devel
operguide/using_data_volumes.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic File System (Amazon EFS) との連携
Amazon EFS ボリューム
• Amazon EFS はスケーラブルな完全マネージド型のNFS ファイルシステム
• タスクはそれが配置されているコンテナインスタンスに関わらず、同じ永続的スト
レージにアクセスできるようになる
• EC2 起動タイプの場合、ECSコンテナ エージェントバージョン 1.35.0 以降(EFS アク
セスポイント/IAM 認証機能を使うには1.38.0 以降)、 Fargate 起動タイプの場合、プ
ラットフォームバージョン 1.4 以降である必要がある
/var/data
fs -1234
ファイルシステム
/var/scratch
AWS Fargate
参考: https://aws.amazon.com/jp/blogs/news/amazon-ecs-supports-efs/
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスク定義の詳細 – 代表的なパラメータ
必須
• ファミリー ( family )
• コンテナ定義 ( containerDefinitions )
オプション
• タスクロール( taskRoleArn )
• タスク実⾏ロール( executionRoleArn )
• ネットワークモード ( networkMord )
• ボリューム ( volumes )
• 起動タイプ(requiresCompatibilities )
• タスクサイズ( cpu / memory )
{
"family": "",
"taskRoleArn": "",
"executionRoleArn": "",
"networkMode": "none",
"containerDefinitions": […],
"volumes": […],
"placementConstraints": […],
"requiresCompatibilities": […],
"cpu": "",
"memory": "",
"tags": […],
"pidMode": "host",
"ipcMode": "host",
"proxyConfiguration": {..}
}
タスクに適⽤する、CPUとメモリのハード制限
を設定する。Fargate 起動タイプでは必須かつ、
決められた値を設定する必要がある。
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
より詳細な挙動や、ユースケースを知りたい⽅は
下記の「Amazon ECS Dive Deep」 のBlack Beltにてユースケースと詳細な挙
動、設定について解説しておりますので、ご参照ください。
[AWS Black Belt Online Seminar]
Amazon ECS Deep Dive( 2019/07/31 )
動画:
https://youtu.be/3bohQetK2OE
資料:
https://d1.awsstatic.com/webinars/jp/pdf/s
ervices/20190731_AWS-
BlackBelt_AmazonECS_DeepDive_Rev.pdf
Speaker 濵 真⼀
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本⽇のアジェンダ
• AWS のコンテナサービス概要
• Amazon ECS の基本
• Amazon ECS の主要要素
• コンテナの実⾏環境
• Amazon ECS の機能紹介
• タスク定義詳細
• コンテナ実⾏
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナの実⾏⽅法
タスク定義からコンテナを実⾏する⽅法は2つ
タスク
- タスク定義に従って実⾏されるアプリ
ケーションの実⾏単位
- タスク定義の⼀部のパラメータはタス
ク実⾏時に上書き可能
- バッチジョブなど処理が終わると停⽌
するワークロードなど
サービス
- 指定した数のタスクを維持する
- タスクが失敗/停⽌した場合は新しいタ
スクを起動して置き換え
- Web アプリケーションなど⻑時間実⾏
するアプリケーションで利⽤
- ELB との連携や、Auto Scaling
タスク定義
メインのコンテナが
終了するとタスクも停⽌
タスク
タスク
サービス
タスクが停⽌すると、
サービスが必要数を維持
desiredCount = 3run-task
count 2
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスクのライフサイクル
タスク定義を元にタスクが実⾏されると、
複数の状態を経由していく
Amazon ECS コンテナエージェントはタス
クの変更のリクエストを⽬的のステータス
( desiredStatus )と最後の既知のステータ
ス( lastStatus )を使って追跡する
各ステータスの作業の例
Provisioning / Deprovisioning
- ENI のプロビジョン/デタッチなど
Activating / Deactivating
- ELB のターゲットグループの登録/解除など
(サービスの⼀部の場合)
Provisioning
Pending
Activating
Running
Stopped
Deprovisioning
Stopping
Deactivating
参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task-lifecycle.html
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスクの配置
タスク配置の制約事項
• タスク配置中に考慮されるルール
• AZ やインスタンスタイプに基づいて制約を
かけられる
タスクの配置戦略
• タスク配置 / 終了時にインスタンスを選択
するアルゴリズム
• binpack | random | spread の3つの配置戦
略をサポート
※これらはEC2 起動タイプでのみ利⽤可能
タスク配置のプロセス
1. タスク定義で要求される要件を
満たすインスタンスを識別
2. タスク配置の制約事項を満たす
インスタンスを識別
3. タスク配置戦略を満たすインスタ
ンスを識別
4. タスクを配置するインスタンスを
選択
"placementConstraints": [ {
”expression“: ”attribute:ecs.instance-type =~ t3.*“,
"type": "memberOf"
} ]
t3 インスタンスに配置する例
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/dev
eloperguide/task-placement.html
参考:
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービススケジューラ戦略
サービスがタスクをスケジューリングする際の戦略は以下の2つ
レプリカ(REPLICA)
• クラスタ全体で必要数のタスクを維持
• デフォルトではAZ 間で分散される
• タスク配置戦略と制約によって配置をカスタマイズ可能
• 通常のアプリケーションではこちらを利⽤
デーモン(DAEMON)
• (タスク配置の制約事項を満たす)コンテナインスタンス毎に1つのタスクをデプロイ
する
• ロギングやモニタリングなど各コンテナインスタンスで実⾏したい共通機能を実⾏す
る際に利⽤
• Fargate 起動タイプでは利⽤不可
参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs_services.html#service_scheduler
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECS クラスターキャパシティープロバイダー
• タスク(コンテナ)の配置先を決定するための新しい⽅
法
• タスク配置先の柔軟なコントロールが可能に
• 例えば60%はオンデマンドで残りはスポット、等
• EC2 と Fargate の双⽅で利⽤可能
• EC2 の場合は作成済みの EC2 ASG にキャパシ
ティープロバイダー を紐付ける
• Fargate ⽤ キャパシティープロバイダー は⾃動的に
⽤意される (既存クラスターへは CLI で追加可能)
• 東京を含む、ECS を利⽤可能な全てのリージョンで利
⽤可能
Capacity Provider #1 Capacity Provider #2
Capacity Provider #1 Capacity Provider #2
Strategy : weight =3
https://aws.amazon.com/about-aws/whats-new/2019/12/amazon-ecs-capacity-
providers-now-available/
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービスのAuto Scaling
Application Auto Scaling サービスを活⽤し
てサービスの必要タスク数(desiredCount )を
⾃動的に増減させる
ターゲット追跡スケーリングポリシー
• 指定したメトリクスがターゲットの値に近づく
ように⾃動的に調整
ステップスケーリングポリシー
• アラームをトリガーに調整値に基づいて増減
• ターゲット追跡スケーリングポリシーと組み合
わせて⾼度なスケーリングも
スケジュールに基づくスケーリング
• ⽇付と時刻に基づいてタスク数を増減
CPU
DesiredCount
Traffic
Time
100%
0%
50%
10%
20%
30%
40%
60%
70%
80%
90%
5
30
10
15
20
25
Target CPU Utilization DesiredCount
ターゲット追跡スケーリングポリシー
の動作イメージ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナアプリケーションの監視について知りたい⽅は
コンテナで稼働しているアプリケーションやシステムの監視、モニタリング⽅
法について学びたい⽅は下記もご参照ください
[AWS Black Belt Online Seminar]
Amazon CloudWatch Container Insights で始
めるコンテナモニタリング⼊⾨( 2019/11/27 )
動画:
https://youtu.be/-w1nb99hxz8
資料:
https://d1.awsstatic.com/webinars/jp/pdf/ser
vices/20191127_AWS-
BlackBelt_Container_Insights.pdf
Speaker ⽔⾺ 拓也
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
まとめ – Amazon ECSの主要要素 振り返り
Docker
イメージ
Docker
イメージ
参照
タスクを構成するコンテナ群定義:
• コンテナ定義(イメージ場所等)
• 要求CPU & メモリ
• タスクに割当てるIAMロール
• ネットワークモード
• etc...
タスク定義
クラスター
• 実行環境の境界
• IAM権限の境界(クラスタに対する操作)
• スケジュールされたタスクの実行を設定可能
サービス
• タスク実行コピー数(n個)を定義
• 起動後、タスク実行コピー数を維持
• ELBと連携
• 起動タイプ(EC2, Fargate)を設定
参照 タスク
• タスク定義に基づき起動さ
れるコンテナ群
• Task内コンテナは
同一ホスト上で実行される
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
参考:AWS コンテナサービスの公開ロードマップ
https://github.com/aws/containers-roadmap
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS 公式 Webinar
https://amzn.to/JPWebinar
過去資料
https://amzn.to/JPArchive
ご視聴ありがとうございました

More Related Content

What's hot

20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep diveAmazon Web Services Japan
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems ManagerAmazon Web Services Japan
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAmazon Web Services Japan
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 ResolverAmazon Web Services Japan
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMRAmazon Web Services Japan
 
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / GlacierAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAmazon Web Services Japan
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon CognitoAmazon Web Services Japan
 
20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield Advanced20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield AdvancedAmazon Web Services Japan
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...Amazon Web Services Japan
 
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeployAmazon Web Services Japan
 
20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon NeptuneAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage GatewayAWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage GatewayAmazon Web Services Japan
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon Web Services Japan
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDutyAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorksAWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorksAmazon Web Services Japan
 

What's hot (20)

AWSからのメール送信
AWSからのメール送信AWSからのメール送信
AWSからのメール送信
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
 
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield Advanced20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield Advanced
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
 
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
 
20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune
 
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage GatewayAWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto Scaling
 
AWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorksAWS Black Belt Online Seminar 2017 AWS OpsWorks
AWS Black Belt Online Seminar 2017 AWS OpsWorks
 

Similar to AWS ECS Online Seminar: Introduction to Amazon Elastic Container Service

[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...Amazon Web Services Korea
 
Deep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep DiveDeep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep DiveAmazon Web Services
 
AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...
AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...
AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...Amazon Web Services Japan
 
SRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateSRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateAmazon Web Services
 
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...Amazon Web Services
 
AWSome Day Online 2020_Modul 2: Memulai dengan Cloud
AWSome Day Online 2020_Modul 2: Memulai dengan CloudAWSome Day Online 2020_Modul 2: Memulai dengan Cloud
AWSome Day Online 2020_Modul 2: Memulai dengan CloudAmazon Web Services
 
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS CloudAWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS CloudAmazon Web Services
 
Workshop: Deploy a Deep Learning Framework on Amazon ECS
Workshop: Deploy a Deep Learning Framework on Amazon ECSWorkshop: Deploy a Deep Learning Framework on Amazon ECS
Workshop: Deploy a Deep Learning Framework on Amazon ECSAmazon Web Services
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSGianluca Hotz
 
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKSExciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKSAmazon Web Services
 
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2Cobus Bernard
 
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
Getting started with Amazon ECS
Getting started with Amazon ECSGetting started with Amazon ECS
Getting started with Amazon ECSIoannis Polyzos
 
AWS SSA Webinar 7 - Getting Started on AWS
AWS SSA Webinar 7 - Getting Started on AWSAWS SSA Webinar 7 - Getting Started on AWS
AWS SSA Webinar 7 - Getting Started on AWSCobus Bernard
 

Similar to AWS ECS Online Seminar: Introduction to Amazon Elastic Container Service (20)

[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
 
Deep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep DiveDeep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep Dive
 
Deep dive - AWS Fargate
Deep dive - AWS FargateDeep dive - AWS Fargate
Deep dive - AWS Fargate
 
AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...
AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...
AWS Black Belt Online Seminar 2018 re:Invent Recap: Compute, Container and Ne...
 
Deep dive into AWS fargate
Deep dive into AWS fargateDeep dive into AWS fargate
Deep dive into AWS fargate
 
SRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateSRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS Fargate
 
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
 
AWS Container services
AWS Container servicesAWS Container services
AWS Container services
 
AWSome Day Online 2020_Modul 2: Memulai dengan Cloud
AWSome Day Online 2020_Modul 2: Memulai dengan CloudAWSome Day Online 2020_Modul 2: Memulai dengan Cloud
AWSome Day Online 2020_Modul 2: Memulai dengan Cloud
 
AWSome Day - Israel
AWSome Day - IsraelAWSome Day - Israel
AWSome Day - Israel
 
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS CloudAWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
 
Workshop: Deploy a Deep Learning Framework on Amazon ECS
Workshop: Deploy a Deep Learning Framework on Amazon ECSWorkshop: Deploy a Deep Learning Framework on Amazon ECS
Workshop: Deploy a Deep Learning Framework on Amazon ECS
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWS
 
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKSExciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
 
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
 
Getting started with Amazon ECS
Getting started with Amazon ECSGetting started with Amazon ECS
Getting started with Amazon ECS
 
AWS SSA Webinar 7 - Getting Started on AWS
AWS SSA Webinar 7 - Getting Started on AWSAWS SSA Webinar 7 - Getting Started on AWS
AWS SSA Webinar 7 - Getting Started on AWS
 

More from Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
 
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFSAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device DefenderAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...Amazon Web Services Japan
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介Amazon Web Services Japan
 

More from Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 

Recently uploaded

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

AWS ECS Online Seminar: Introduction to Amazon Elastic Container Service

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS 公式 Webinar https://amzn.to/JPWebinar 過去資料 https://amzn.to/JPArchive Partner Solutions Architect ⾦森政雄 2020/04/22 Amazon Elastic Container Service サービスカットシリーズ [AWS Black Belt Online Seminar]
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Black Belt Online Seminar とは 「サービス別」「ソリューション別」「業種別」のそれぞれのテーマに分かれて、アマゾ ン ウェブ サービス ジャパン株式会社が主催するオンラインセミナーシリーズです。 質問を投げることができます︕ • 書き込んだ質問は、主催者にしか⾒えません • 今後のロードマップに関するご質問は お答えできませんのでご了承下さい ① 吹き出しをクリック ② 質問を⼊⼒ ③ Sendをクリック Twitter ハッシュタグは以下をご利⽤ください #awsblackbelt
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ⾃⼰紹介 ⾦森 政雄 Ø 所属/役職 : パートナー技術本部/ パートナーソリューションアーキテクト Ø 好きなサービス Ø リモートワークの過ごし⽅ - 午後に20 分間の仮眠 - 定期的な⼩休憩 Amazon Elastic Container Service AWS Step Functions
  • 4. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 内容についての注意点 • 本資料では2020年04⽉22⽇現在のサービス内容および価格についてご説明しています。最新の 情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。 • 資料作成には⼗分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相 違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。 • 価格は税抜表記となっています。⽇本居住者のお客様には別途消費税をご請求させていただきま す。 • AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.
  • 5. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本セミナーの概要 ❏ 本セミナーで学習できること ❖ AWS が提供するコンテナオーケストレーションツールである、 Amazon Elastic Container Service (ECS )の基本と機能概要 ❏ 対象者 ❖ コンテナ( docker )をクラウドでの本番環境で利⽤することを検討さ れている⽅ ❖ コンテナのオーケストレーションツールに興味のある⽅
  • 6. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 前置き ※本セッションでは、「コンテナとは何か」や、コンテナを活⽤するための基 本的な開発/運⽤の考え⽅については取り扱いません。そのような情報が必要 の⽅は、下記のAWS Summit の講演資料などをご参照ください。 AWS Summit 2019 【初級】AWS コンテナサービス⼊⾨ 動画: https://youtu.be/L4bLDNRSYC8 資料: https://pages.awscloud.com/rs/112-TZM- 766/images/C3-01.pdf Speaker Hara Tori
  • 7. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本⽇のアジェンダ • AWS のコンテナサービス概要 • Amazon ECS の基本 • Amazon ECS の主要要素 • コンテナの実⾏環境 • Amazon ECS の機能紹介 • タスク定義詳細 • コンテナ実⾏
  • 8. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本⽇のアジェンダ • AWS のコンテナサービス概要 • Amazon ECS の基本 • Amazon ECS の主要要素 • コンテナの実⾏環境 • Amazon ECS の機能紹介 • タスク定義詳細 • コンテナ実⾏
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. サーバ上でのコンテナ実⾏(docker の場合) $ ssh … イメージレジストリ Docker Engine EC2 インスタンス # docker run ... コンテナ イメージのダウンロード コンテナ イメージ
  • 10. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ⼿作業でのコンテナイメージダウンロードと実⾏は ⾮効率かつミスオペレーションを招く このEC2インスタンスの クラスターでコンテナを実⾏ このコンテナを3つのAZに 分散させて10個デプロイして、 ロードバランサーにつないで、、、
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナオーケストレーションの仕組み API イメージレジストリ Container Runtime EC2 インスタンス コンテナ イメージのダウンロード コンテナ イメージ Orchestrator Agent API (コンテナの作成 …)
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナオーケストレーションによるクラスター管理 API Container Runtime Orchestrator Agent Container Runtime Agent Container Runtime Agent Container Runtime Agent クラスター
  • 13. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSのコンテナ関連サービス オーケストレーション デプロイ、スケジューリング、 スケーリング、クラスター管理 実⾏環境 コンテナ実⾏ イメージレジストリ コンテナイメージのレポジトリ Amazon Elastic Container Registry (Amazon ECR) Amazon Elastic Container Service (Amazon ECS) Amazon Elastic Kubernetes Service (Amazon EKS) AWS Fargate Amazon Elastic Compute Cloud (Amazon EC2)
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Container Service
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Container Service (ECS) • クラウドでコンテナを本番環境利⽤す るためのオーケストレーター • 各種 AWS サービスとの⾼度な連携 • 多様なワークロードをサポートする 「タスク」「サービス」というシンプ ルなリソース表現 • Linux/Windows サポート https://aws.amazon.com/jp/ecs/ サービス紹介ページ
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本⽇のアジェンダ • AWS のコンテナサービス概要 • Amazon ECS の基本 • Amazon ECS の主要要素 • コンテナの実⾏環境 • Amazon ECS の機能紹介 • タスク定義詳細 • コンテナ実⾏
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ECSの主要要素 コンテナ イメージ コンテナ イメージ 参照 タスクを構成するコンテナ群定義︓ • コンテナ定義(イメージ場所等) • 要求CPU & メモリ • タスクに割当てるIAMロール • ネットワークモード • etc... タスク定義 クラスター • 実⾏環境の境界 • IAM権限の境界(クラスタに対する操作) • スケジュールされたタスクの実⾏を設定可能 サービス • タスク実⾏コピー数(n個)を定義 • 起動後、タスク実⾏コピー数を維持 • ELBと連携 • 起動タイプ(EC2, Fargate)を設定 参照 タスク • タスク定義に基づき起動さ れるコンテナ群 • Task内コンテナは 同⼀ホスト上で実⾏される
  • 18. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本⽇のアジェンダ • AWS のコンテナサービス概要 • Amazon ECS の基本 • Amazon ECS の主要要素 • コンテナの実⾏環境 • Amazon ECS の機能紹介 • タスク定義詳細 • コンテナ定義詳細 • コンテナ実⾏
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナの実⾏環境 Amazon EC2 AWS Fargate ECS で管理されるコンテナはどこで動く? →選択肢はEC2 起動タイプとFargate 起動タイプの2つ
  • 20. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 起動タイプ – ECS コンテナインスタンス • ECS コンテナエージェントを実⾏しクラスターに登録されているEC2 インスタンス • EC2 起動タイプを使⽤して実⾏されたタスクはアクティブなコンテナインスタンス に配置される • Amazon ECS コンテナインスタンス IAM ロールが設定されている必要がある Cluter_AAmazon ECS Cluter_B ECS コンテナエージェント /etc/ecs/ecs.config … ECS_CLUSTER=Cluster_B … … インスタンスをクラスターに登録 コンテナインスタンス IAM ロール Amazon ECS-optimized AMI クラスターに登録されるまでの流れ(イメージ) https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_instances.html
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ECS-optimized AMI と ECS コンテナエージェント Amazon ECS-optimized AMI • コンテナインスタンスに求められる要件/推奨事項にしたがって事前構成され たAMI。下記のようなものがインストール済み Docker デーモン ECS コンテナエージェント etc … • Amazon Linux 1/Amazon Linux 2/Windows / GPU などのAMI を⽤意 ECS コンテナエージェント • ECS コントロールプレーンと通信し、コンテナインスタンスの管理やタスク の実⾏/停⽌を⾏う • Amazon ECS-optimized AMI を元に起動した場合、事前にインストールされ ている。そうではない場合、⾃⾝でインストールする必要がある • このエージェント⾃体もコンテナで実⾏される 参考 : https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs-optimized_AMI.html 参考 : https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_agent.html
  • 22. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナインスタンスのドレイン クラスターからコンテナインスタンスを削除 する必要がある場合 p システム更新 p エージェント/Docker デーモンの更新 p AutoScaling のスケールイン etc コンテナインスタンスをDRAINING に設定 p 新規タスクは配置されない p PENDING 状態のサービスタスクは即時停⽌ p RUNNING 状態のサービスタスクはサービ スのデプロイ設定に従って停⽌し、代替さ れていく service / desiredCount = 6 PENDING RUNNING RUNNING RUNNING RUNNING RUNNING DRAINING 即時停⽌ RUNNING PENDING 必要数揃ったら停⽌ 参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide /container-instance-draining.html
  • 23. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナインスタンスのライフサイクル ACTIVE/TRUE ACTIVE/FALSE IVACTIVE/FALSE DRAINING/TRUE 1時間後に ⼀覧から消える ① ①コンテナエージェントがインスタン スをクラスターに登録 ②インスタンスを停⽌(終了ではない) ③再起動で再接続 ④インスタンスのドレインを実施 ⑤ACTIVE に戻すとタスクが再度スケ ジュールされるように ⑥コンテナインスタンスを登録解除ま たは終了 ② ③ ④ ⑤ ⑥⑥ ⑥ インスタンスステータス /エージェント接続ステータス 凡例 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_instan ces.html#container_instance_life_cycle 参考
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 インスタンス ECS Agent Docker Engine OS 実⾏環境 EC2 インスタンスの運⽤業務 OS やエージェント類へのパッチ当て・更新 実⾏中のコンテナ数に基づく、最適なリソース 使⽤率を保つための EC2 インスタンス数のス ケーリング EC2 起動タイプの課題
  • 25. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS マネージド EC2 インスタンスのプロビジョン、スケール、管理不要 コンテナネイティブ 仮想マシンを意識しないシームレスなスケーリング コンテナの起動時間・使⽤リソースに応じた料⾦設定 AWS サービスとの連携 VPC ネットワーキング、Elastic Load Balancing、IAM、 CloudWatch、etc. AWS Fargate サービス紹介ページ https://aws.amazon.com/jp/fargate/
  • 26. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 27. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fargate : タスク割り当てCPUとメモリ設定 柔軟な設定の選択肢 50 パターンのCPU/メモリ の組み合わせから選択 CPU Memory 256 (.25 vCPU) 0.5GB, 1GB, 2GB → 3種類 512 (.5 vCPU) 1GB to 4GB (1GB 刻み) → 4種類 1024 (1 vCPU) 2GB to 8GB (1GB 刻み) → 7種類 2048 (2 vCPU) 4GB to 16GB (1GB 刻み) → 13種類 4096 (4 vCPU) 8GB to 30GB (1GB 刻み) → 23種類 1 vCPU/時 = $0.05056 1 GB Mem/時 = $0.00553 https://aws.amazon.com/jp/fargate/pricing/ (※東京リージョン、2020/04/22現在)
  • 28. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Fargate についてもっと詳しく知りたい⽅は AWS Fargate についてもっと詳しく知りたい⽅は、下記のBlack Beltにて、詳 しく説明されておりますので、そちらをご覧ください。 [AWS Black Belt Online Seminar] AWS Fargate ( 2019/09/25 ) 動画: https://youtu.be/rwwOoFBq2AU 資料: https://d1.awsstatic.com/webinars/jp/pdf/s ervices/20190925_AWS- BlackBelt_AWSFargate.pdf Speaker 川崎 ⼀⻘
  • 29. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本⽇のアジェンダ • AWS のコンテナサービス概要 • Amazon ECS の基本 • Amazon ECS の主要要素 • コンテナの実⾏環境 • Amazon ECS の機能紹介 • タスク定義詳細 • コンテナ実⾏
  • 30. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義 • アプリケーションを構成する1つ以上(最 ⼤10個) のコンテナを定義するJSON 形 式のテキストファイル • 使⽤するコンテナ、起動タイプ、コンテ ナの実⾏⽅法など様々なパラメータを定 義できる • アプリケーションを実⾏するときは、タ スク定義をインスタンス化したタスクを 実⾏する { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} } 参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide /task_definitions.html
  • 31. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の詳細 – 代表的なパラメータ 必須 • ファミリー ( family ) • コンテナ定義 ( containerDefinitions ) オプション • タスクロール( taskRoleArn ) • タスク実⾏ロール( executionRoleArn ) • ネットワークモード ( networkMord ) • ボリューム ( volumes ) • 起動タイプ( requiresCompatibilities ) • タスクサイズ( cpu / memory ) { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} }
  • 32. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の詳細 – 代表的なパラメータ 必須 • ファミリー ( family ) • コンテナ定義 ( containerDefinitions ) オプション • タスクロール( taskRoleArn ) • タスク実⾏ロール( executionRoleArn ) • ネットワークモード ( networkMord ) • ボリューム ( volumes ) • 起動タイプ(requiresCompatibilities ) • タスクサイズ( cpu / memory ) { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} } タスク定義の名前のようなもの。タスク定義 を登録する際に必ず指定する。 ファミリーとリビジョン番号(最初は1)で1つ のタスク定義が特定される。
  • 33. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の更新⽅法 タスク定義の更新 • タスク定義はイミュータブル(変更できない) • 変更する場合はファミリーの新しいリビジョ ンを作成する 実⾏中のタスク/サービスへの影響 • 実⾏中のタスクは更新されない • サービスから利⽤している場合、サービスを 更新する必要がある revision:1ver1 ver2 revision:2 service コンテイメージ タスク定義 “family” : “Sample” 参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/update-task-definition.html
  • 34. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の詳細 – 代表的なパラメータ 必須 • ファミリー ( family ) • コンテナ定義 ( containerDefinitions ) オプション • タスクロール( taskRoleArn ) • タスク実⾏ロール( executionRoleArn ) • ネットワークモード ( networkMord ) • ボリューム ( volumes ) • 起動タイプ(requiresCompatibilities ) • タスクサイズ( cpu / memory ) { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} } タスク実⾏時コンテナランタイムに渡されるコ ンテナ定義。コンテナのイメージやポートマッ ピング、メモリ制限などを指定する
  • 35. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナ定義の代表的なパラメータ 名前 ( name ) コンテナの名前。タスク内で複数のコンテナをリ ンクする場合、この名前を利⽤(※)。 (※ ネットワークモードがbridge の時のみ) イメージ( image ) 使⽤するコンテナのイメージを指定する メモリ ( memory / memoryReservation ) memory – コンテナに適⽤されるメモリのハード リミット memoryReservation – コンテナ⽤に予約されるメ モリのソフト制限 etc…. Registry image image “name”:”aaa” “name”:“bbb” “links”:[“bbb:bbb”] $docker container stats … … … MEM USAGE / LIMIT … … … … 100MiB/ 300 MiB …
  • 36. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナ定義: logConfiguration パラメータ コンテナのログ設定を指定する • ログドライバーの指定 ( logDriver ) • ログドライバーに送信する設定( options, secretOptions ) ログドライバーの例: awslogs ログドライバー ü コンテナアプリのログはSTDOUT/STDERRを利用 ü ローカルの開発環境でもデバッグが容易 ü ログの出力ストリームの送り先は実行環境側でコントロールすべき ü awslogs ログドライバを利用することでSTDOUT /STDERR がCloudWatch Logsに出力される 参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/using_awslogs.html 参考 : https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html
  • 37. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナ定義: environment 、secrets パラメータ コンテナに環境変数を渡す⽅法は2つ environment • コンテナに環境変数として設定する • 定義ファイルに平⽂で記述されるので機密情 報には向かない secrets • 機密データを環境変数に設定する場合に利⽤ • AWS Secrets Manager シークレット、 AWS Systems Manager パラメータストアの パラメータを参照可能 • それぞれタスク実⾏ロールに適切なIAM アク セス許可の設定が必要 "environment" : [ { "name" : "string", "value" : "string" }, { "name" : ”hoge", "value" : ”huga" } ] environmentの例 "secrets": [ { “name”: “environment_variable_name”, "valueFrom":"arn:aws:secretsmanager:region:aws_a ccount_id:secret:secret_name-AbCdEf" }] secretsの例 参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/specifying-sensitive-data.html
  • 38. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナでの機密情報の取り扱い コンテナの環境変数(secrets ) 、ログ設定(logConfiguration のsecretOptions )では 下記のいずれかに格納されたデータを利⽤可能 AWS Secrets Manager シークレット • EC2 起動タイプではJSON キーやバージョンを指定可能(Fargate 起動タイプは未サポート) AWS Systems Manager パラメータストア パラメータ • 同じリージョンの場合は名前のみでも可だが別リージョンの場合、完全なARN が必要 arn:aws:secretsmanager:region:aws_account_id:secret:secret-name:json-key:version-stage:version-id シークレットを指定するAmazon リソースネーム (ARN)の構⽂ バージョンラベルかバージョンIDは どちらか⽚⽅のみ指定可能 JSONキーシークレット名 arn:aws:ssm:region:aws_account_id:parameter/parameter_name パラメータを指定するAmazon リソースネーム (ARN)の構⽂ パラメータ名
  • 39. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナ定義: dependsOnパラメータ • 事前処理を完了してからコンテナを起動したかったり、監視⽤のコンテナ が正常に動いてから起動したいなどの実⾏順序の制御を⾏いたい時に利⽤ • タスク内のコンテナ間の依存関係を制御し、起動順や停⽌順を明⽰的に設 定できる • “condition ” に設定できる値→ START | COMPLETE | SUCCESS | HEALTHY コンテナA コンテナB 起動開始 起動開始 depends on コンテナA コンテナA コンテナB 起動開始 起動開始 depends on コンテナA 終了 検知 検知 “condition” : “START” の例 “condition” : “COMPLETE” の例
  • 40. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の詳細 – 代表的なパラメータ 必須 • ファミリー ( family ) • コンテナ定義 ( containerDefinitions ) オプション • タスクロール( taskRoleArn ) • タスク実⾏ロール( executionRoleArn ) • ネットワークモード ( networkMord ) • ボリューム ( volumes ) • 起動タイプ(requiresCompatibilities ) • タスクサイズ( cpu / memory ) { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} } コンテナが利⽤できる IAM ロールを指定する。 アプリケーションはこのIAMロールで許可さ れたAWS サービスのAPIを実⾏できる。 ECS コンテナエージェントが利⽤する IAM ロールを指定する。 この権限を使ってコンテナのイメージをpull したりCloudWatch Logs に書き込んだりする 。
  • 41. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ECS とIAM の連携整理 クラスター パーミッション タスクロール タスク実⾏ロール ECS クラスター クラスターパーミッション 誰がクラスター内でタスクを起動/参照できるのかを制御 コンテナインスタンスロール コンテナインスタンスの ECS のAPI へのアクセスを許可する アプリケーション: タスクロール アプリケーションのコンテナがAWSリソースに安全にアクセスする ことを許可する ハウスキーピング: タスク周りの下働きの実行を許可 タスク実⾏ロール • プライベートレジストリのイメージを取得 • CloudWatch Logs への書き込み ECS のサービスにリンクされたロール • Elastic network interfaceの作成 • ELBへのターゲットの登録/解除 ECS のサービスにリ ンクされたロール タスク コンテナインスタンス コンテナ インスタンスロール
  • 42. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の詳細 – 代表的なパラメータ 必須 • ファミリー ( family ) • コンテナ定義 ( containerDefinitions ) オプション • タスクロール( taskRoleArn ) • タスク実⾏ロール( executionRoleArn ) • ネットワークモード ( networkMord ) • ボリューム ( volumes ) • 起動タイプ(requiresCompatibilities ) • x { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} } タスクのコンテナが使⽤するDocker ネットワー クモードを指定する。 none | bridge | host | awsvpc のいずれかを設定。 (Windows コンテナの場合、指定しない)
  • 43. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ネットワークモード noneモード • 外部と接続しない bridgeモード (EC2起動タイプのデフォルト) • Dockerの組み込み仮想ネットワークを使⽤して外部ネットワークと通信 (コンテナリンク利⽤可) hostモード • Dockerの組み込み仮想ネットワークをバイパスし、コンテナポートがホ ストEC2インスタンスのNICに直接マッピング awsvpcモード • ECS管理下のENIがタスクにアタッチされる • セキュリティグループをENIに設定できる • Fargate起動タイプでタスクを起動する場合の前提 コンテナネットワーク動作を設定
  • 44. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability Zone Public subnet us-east-1c Availability Zone Public subnet us-east- 1b Availability Zoneus-east-1a Public subnet awsvpc ネットワークモード タスク 毎に ENI を⾃動割り当て セキュリティグループ を タスク 毎に設定可 VPC Flow Logs でのモニタリング タスク 内のコンテナは localhost イ ンターフェースを共有 Link 不要で互いにアクセス可能 VPC 内の他のリソースへ Private IP で通信が可能 Fargate では Public IPの割当も可能 172.31.0.0/16 172.31.1.0/24 Other Entities in VPC EC2 ELB RDS etc. VPC Internet Elastic Network Interface (ENI) Public IP / Private IP 208.57.73.13 / 172.31.1.164 Task 参考 : https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task-networking.html
  • 45. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. awsvpc ネットワークモードでのENI上限制約 • タスク毎に1ENIをEC2にアタッチすることで 実現しているので、EC2に配置可能なタスク 数が EC2 にアタッチ可能 ENI 数上限の影響を 受ける • CPU やメモリに空きがあっても ENI 数上限に 達していると追加のタスクが配置できない • 例: c5.large 2タスク/インスタンス 各インスタンスタイプのENIの上限数 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI インスタンスタイプ タスク上 限 t3.micro 1 c5.large 2 c5.xlarge 3 c5.2xlarge 3 c5.4xlarge 7 c5.9xlarge 7
  • 46. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ENI トランキング • ECSのアカウント設定でAWS VPC トランキン グを有効にすることで、ENI密度の⾼いコンテ ナインスタンスを利⽤できる • awsvpc ネットワークモードを使⽤して、今ま でより多くのタスクを配置可能に • 例: c5.large 10タスク/インスタンス AWSVPC Trunkingがサポートされる Amazon EC2 インスタンスタイプ、及びそのENI上限 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI インスタンスタイプ タスク上 限 t3.micro ⾮対応 c5.large 10 c5.xlarge 20 c5.2xlarge 40 c5.4xlarge 60 c5.9xlarge 80
  • 47. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の詳細 – 代表的なパラメータ 必須 • ファミリー ( family ) • コンテナ定義 ( containerDefinitions ) オプション • タスクロール( taskRoleArn ) • タスク実⾏ロール( executionRoleArn ) • ネットワークモード ( networkMord ) • ボリューム ( volumes ) • 起動タイプ(requiresCompatibilities ) • タスクサイズ( cpu / memory ) { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} } データを共有したり、永続化するためのボ リュームのリスト。 Docker ボリューム、バインドマウント、EFS ボリュームの3種類が利⽤可能。
  • 48. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. データボリュームの使⽤ Docker ボリューム • タスク間での共有や明⽰的なライフサイ クル管理 • 3rd Party のボリュームドライバーの利⽤ • EC2 起動タイプのみ バインドマウント • ホストマシン上のファイル/ディレク トリをコンテナにマウント • EC2 or Fargate 起動タイプ /var/lib/docker/volumes scratch /var/scratch /scratch /var/data data scope = task scope = shared /var/data /var/lib/docker/volumes fac362...80535 /var/scratch /scratch /var/data /data/ecs インスタンス に残る 3時間後に削除 タスクの停⽌ https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/devel operguide/using_data_volumes.html
  • 49. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic File System (Amazon EFS) との連携 Amazon EFS ボリューム • Amazon EFS はスケーラブルな完全マネージド型のNFS ファイルシステム • タスクはそれが配置されているコンテナインスタンスに関わらず、同じ永続的スト レージにアクセスできるようになる • EC2 起動タイプの場合、ECSコンテナ エージェントバージョン 1.35.0 以降(EFS アク セスポイント/IAM 認証機能を使うには1.38.0 以降)、 Fargate 起動タイプの場合、プ ラットフォームバージョン 1.4 以降である必要がある /var/data fs -1234 ファイルシステム /var/scratch AWS Fargate 参考: https://aws.amazon.com/jp/blogs/news/amazon-ecs-supports-efs/
  • 50. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスク定義の詳細 – 代表的なパラメータ 必須 • ファミリー ( family ) • コンテナ定義 ( containerDefinitions ) オプション • タスクロール( taskRoleArn ) • タスク実⾏ロール( executionRoleArn ) • ネットワークモード ( networkMord ) • ボリューム ( volumes ) • 起動タイプ(requiresCompatibilities ) • タスクサイズ( cpu / memory ) { "family": "", "taskRoleArn": "", "executionRoleArn": "", "networkMode": "none", "containerDefinitions": […], "volumes": […], "placementConstraints": […], "requiresCompatibilities": […], "cpu": "", "memory": "", "tags": […], "pidMode": "host", "ipcMode": "host", "proxyConfiguration": {..} } タスクに適⽤する、CPUとメモリのハード制限 を設定する。Fargate 起動タイプでは必須かつ、 決められた値を設定する必要がある。
  • 51. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. より詳細な挙動や、ユースケースを知りたい⽅は 下記の「Amazon ECS Dive Deep」 のBlack Beltにてユースケースと詳細な挙 動、設定について解説しておりますので、ご参照ください。 [AWS Black Belt Online Seminar] Amazon ECS Deep Dive( 2019/07/31 ) 動画: https://youtu.be/3bohQetK2OE 資料: https://d1.awsstatic.com/webinars/jp/pdf/s ervices/20190731_AWS- BlackBelt_AmazonECS_DeepDive_Rev.pdf Speaker 濵 真⼀
  • 52. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本⽇のアジェンダ • AWS のコンテナサービス概要 • Amazon ECS の基本 • Amazon ECS の主要要素 • コンテナの実⾏環境 • Amazon ECS の機能紹介 • タスク定義詳細 • コンテナ実⾏
  • 53. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナの実⾏⽅法 タスク定義からコンテナを実⾏する⽅法は2つ タスク - タスク定義に従って実⾏されるアプリ ケーションの実⾏単位 - タスク定義の⼀部のパラメータはタス ク実⾏時に上書き可能 - バッチジョブなど処理が終わると停⽌ するワークロードなど サービス - 指定した数のタスクを維持する - タスクが失敗/停⽌した場合は新しいタ スクを起動して置き換え - Web アプリケーションなど⻑時間実⾏ するアプリケーションで利⽤ - ELB との連携や、Auto Scaling タスク定義 メインのコンテナが 終了するとタスクも停⽌ タスク タスク サービス タスクが停⽌すると、 サービスが必要数を維持 desiredCount = 3run-task count 2
  • 54. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスクのライフサイクル タスク定義を元にタスクが実⾏されると、 複数の状態を経由していく Amazon ECS コンテナエージェントはタス クの変更のリクエストを⽬的のステータス ( desiredStatus )と最後の既知のステータ ス( lastStatus )を使って追跡する 各ステータスの作業の例 Provisioning / Deprovisioning - ENI のプロビジョン/デタッチなど Activating / Deactivating - ELB のターゲットグループの登録/解除など (サービスの⼀部の場合) Provisioning Pending Activating Running Stopped Deprovisioning Stopping Deactivating 参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task-lifecycle.html
  • 55. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスクの配置 タスク配置の制約事項 • タスク配置中に考慮されるルール • AZ やインスタンスタイプに基づいて制約を かけられる タスクの配置戦略 • タスク配置 / 終了時にインスタンスを選択 するアルゴリズム • binpack | random | spread の3つの配置戦 略をサポート ※これらはEC2 起動タイプでのみ利⽤可能 タスク配置のプロセス 1. タスク定義で要求される要件を 満たすインスタンスを識別 2. タスク配置の制約事項を満たす インスタンスを識別 3. タスク配置戦略を満たすインスタ ンスを識別 4. タスクを配置するインスタンスを 選択 "placementConstraints": [ { ”expression“: ”attribute:ecs.instance-type =~ t3.*“, "type": "memberOf" } ] t3 インスタンスに配置する例 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/dev eloperguide/task-placement.html 参考:
  • 56. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. サービススケジューラ戦略 サービスがタスクをスケジューリングする際の戦略は以下の2つ レプリカ(REPLICA) • クラスタ全体で必要数のタスクを維持 • デフォルトではAZ 間で分散される • タスク配置戦略と制約によって配置をカスタマイズ可能 • 通常のアプリケーションではこちらを利⽤ デーモン(DAEMON) • (タスク配置の制約事項を満たす)コンテナインスタンス毎に1つのタスクをデプロイ する • ロギングやモニタリングなど各コンテナインスタンスで実⾏したい共通機能を実⾏す る際に利⽤ • Fargate 起動タイプでは利⽤不可 参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs_services.html#service_scheduler
  • 57. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ECS クラスターキャパシティープロバイダー • タスク(コンテナ)の配置先を決定するための新しい⽅ 法 • タスク配置先の柔軟なコントロールが可能に • 例えば60%はオンデマンドで残りはスポット、等 • EC2 と Fargate の双⽅で利⽤可能 • EC2 の場合は作成済みの EC2 ASG にキャパシ ティープロバイダー を紐付ける • Fargate ⽤ キャパシティープロバイダー は⾃動的に ⽤意される (既存クラスターへは CLI で追加可能) • 東京を含む、ECS を利⽤可能な全てのリージョンで利 ⽤可能 Capacity Provider #1 Capacity Provider #2 Capacity Provider #1 Capacity Provider #2 Strategy : weight =3 https://aws.amazon.com/about-aws/whats-new/2019/12/amazon-ecs-capacity- providers-now-available/
  • 58. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. サービスのAuto Scaling Application Auto Scaling サービスを活⽤し てサービスの必要タスク数(desiredCount )を ⾃動的に増減させる ターゲット追跡スケーリングポリシー • 指定したメトリクスがターゲットの値に近づく ように⾃動的に調整 ステップスケーリングポリシー • アラームをトリガーに調整値に基づいて増減 • ターゲット追跡スケーリングポリシーと組み合 わせて⾼度なスケーリングも スケジュールに基づくスケーリング • ⽇付と時刻に基づいてタスク数を増減 CPU DesiredCount Traffic Time 100% 0% 50% 10% 20% 30% 40% 60% 70% 80% 90% 5 30 10 15 20 25 Target CPU Utilization DesiredCount ターゲット追跡スケーリングポリシー の動作イメージ
  • 59. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナアプリケーションの監視について知りたい⽅は コンテナで稼働しているアプリケーションやシステムの監視、モニタリング⽅ 法について学びたい⽅は下記もご参照ください [AWS Black Belt Online Seminar] Amazon CloudWatch Container Insights で始 めるコンテナモニタリング⼊⾨( 2019/11/27 ) 動画: https://youtu.be/-w1nb99hxz8 資料: https://d1.awsstatic.com/webinars/jp/pdf/ser vices/20191127_AWS- BlackBelt_Container_Insights.pdf Speaker ⽔⾺ 拓也
  • 60. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ – Amazon ECSの主要要素 振り返り Docker イメージ Docker イメージ 参照 タスクを構成するコンテナ群定義: • コンテナ定義(イメージ場所等) • 要求CPU & メモリ • タスクに割当てるIAMロール • ネットワークモード • etc... タスク定義 クラスター • 実行環境の境界 • IAM権限の境界(クラスタに対する操作) • スケジュールされたタスクの実行を設定可能 サービス • タスク実行コピー数(n個)を定義 • 起動後、タスク実行コピー数を維持 • ELBと連携 • 起動タイプ(EC2, Fargate)を設定 参照 タスク • タスク定義に基づき起動さ れるコンテナ群 • Task内コンテナは 同一ホスト上で実行される
  • 61. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 参考:AWS コンテナサービスの公開ロードマップ https://github.com/aws/containers-roadmap
  • 62. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS 公式 Webinar https://amzn.to/JPWebinar 過去資料 https://amzn.to/JPArchive ご視聴ありがとうございました