Slide 1

Slide 1 text

AWS のコンテナ ウォークスルー 2019/06/28 fun-tech meetup #11 コンテナ/クラウド シリーズ 第2回 ~クラウド編その1~ Masataka Yoshida

Slide 2

Slide 2 text

吉田 匡孝(Masataka Yoshida) 株式会社オープンストリーム 戦略技術推進本部 目に見えるモノを作る + 新しい技術に触れるおしごとがしたいなー >2 Web 
 CakePHP, Spring, Vue.js… iOS/Android
 Ionic, Objective-C, Java… AWS, 
 Python…

Slide 3

Slide 3 text

なんとなくでもいいから AWSのコンテナを 使えるようになりたい! 使った気になりたい!

Slide 4

Slide 4 text

はなすこと • AWSのコンテナサービスについて • ECS/Fargate/EKS の使い方 >4 はなさないこと • ECRの使い方 • プロダクションレベルでECS/EKSをどう動かすか
 コンテナのデプロイ戦略など…

Slide 5

Slide 5 text

AWSのコンテナサービス について

Slide 6

Slide 6 text

何をするか理解していますか? >6 ECR ECS EKS Fargate

Slide 7

Slide 7 text

何をするか理解していますか? >7 Amazon Elastic Container Registry Amazon Elastic Container Service Amazon Elastic Container Service for Kubernetes AWS Fargate

Slide 8

Slide 8 text

順番に説明…… >8 Amazon Elastic Container Registry Amazon Elastic Container Service Amazon Elastic Container Service for Kubernetes AWS Fargate

Slide 9

Slide 9 text

順番に説明…… >9 Amazon Elastic Container Registry Amazon Elastic Container Service Amazon Elastic Container Service for Kubernetes AWS Fargate

Slide 10

Slide 10 text

だいたいこうなっています >10 コントロールプレーン データプレーン Amazon EC2 AWS Fargate Amazon Elastic Container 
 Service Amazon Elastic Container 
 Service for Kubernetes Amazon Elastic Container 
 Registry

Slide 11

Slide 11 text

だいたいこうなっています >11 コントロールプレーン データプレーン Amazon EC2 Amazon Elastic Container 
 Service Amazon Elastic Container 
 Registry コンテナイメージを 保管する コンテナを管理する コンテナを動かす AWS Fargate Amazon Elastic Container 
 Service for Kubernetes

Slide 12

Slide 12 text

なぜEC2? ECSがコンテナを動かすCPUなどを貸してく れるわけではない! ECSなどのコントロールプレーンは
 コンテナの管理に注力 >12 Amazon EC2 Amazon Elastic Container 
 Service そのため、コンテナを動かす場所が必要
 EC2かFargateが使われる

Slide 13

Slide 13 text

なぜEC2? ECSがコンテナを動かすCPUなどを貸してく れるわけではない! ECSなどのコントロールプレーンは
 コンテナの管理に注力 >13 Amazon EC2 Amazon Elastic Container 
 Service そのため、コンテナを動かす場所が必要
 EC2かFargateが使われる このEC2インスタンスにコンテナを置いてもらおう… ECSに頼まれたコンテナ動かしたるでー!

Slide 14

Slide 14 text

EC2 V.S. Fargate >14 Amazon EC2 AWS Fargate 構築 EC2インスタンスを作って ECSに登録してから コンテナの環境を
 決めるだけ コンテナ内に 入れるか ✔ ✘ 料金 安め 高め (2019年1月に値下げ!) nginxのコンテナ 2 vCPU RAMは4GiB nginxのコンテナ 2 vCPU RAMは4GiB c5.xlargeを5台
 ECSクラスターに登録 × 10 × 10

Slide 15

Slide 15 text

EC2 V.S. Fargate >15 Amazon EC2 AWS Fargate データプレーン の管理 必要
 (例えばEC2インスタンスに 脆弱性が出たら自分で対処する) 不要 データプレーン の種類 豊富なEC2インスタンス
 から選択可 0.25-4 vCPU 0.5-30GB RAM 余剰リソース 出ちゃうかも… 出ない GPU/Windows コンテナ ✔ ✘

Slide 16

Slide 16 text

EKSでFargateは使えない Q: Amazon EKS は AWS Fargate と連携していますか?
 A: いいえ。現在は Amazon EKS と AWS Fargate の間にはネ イティブな AWS 統合はありません。 https://aws.amazon.com/jp/eks/faqs/ >16

Slide 17

Slide 17 text

コンテナ動かし方のまとめ >17 コントロールプレーン データプレーン Amazon EC2 Amazon Elastic Container 
 Service Amazon Elastic Container 
 Registry コンテナイメージを 保管する コンテナを管理する コンテナを動かす AWS Fargate Amazon Elastic Container 
 Service for Kubernetes

Slide 18

Slide 18 text

ECS with EC2

Slide 19

Slide 19 text

流れ >19 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 3 2 1

Slide 20

Slide 20 text

ECS with EC2の構成要素 >20 タスク定義 どのコンテナを動かすかを決める サービス タスク定義を選択して、コンテナーを どこのECSクラスターに置くか・何個置 くのかを決める ECSクラスタ− EC2インスタンスを登録して
 コンテナを動かす場所を作る nginxのタスクを c5.xlargeのクラスターに 10個置きたい もちろんロードバランサー付きで nginxのコンテナ 2 vCPU RAMは4GiB

Slide 21

Slide 21 text

ECSのコンソール入りましたね? >21

Slide 22

Slide 22 text

タスク定義の作成 >22

Slide 23

Slide 23 text

起動タイプ: EC2 >23

Slide 24

Slide 24 text

タスクとコンテナ定義の設定 タスクロール コンテナ内でS3などを 操作したいときに権限 を追加する >24

Slide 25

Slide 25 text

タスクの実行IAMロール 新しいロールの作成を選択 • ECSがECRからコンテナイメージを取得したり CloudWatchにログを残したりするための権限 • ロールにリソースが指定できるため、リソースを制限す る目的が想定される >25

Slide 26

Slide 26 text

タスクサイズ >26

Slide 27

Slide 27 text

タスクとコンテナ >27 余剰リソース 1タスクに複数のコンテナを入れることができる • コンテナの合計vCPU/メモリはタスクのvCPU/メモリ に収める必要がある • 1タスク単位でECSクラスターに配置される

Slide 28

Slide 28 text

コンテナの追加 >28 イメージ Docker Hubの公 開イメージ名 or ECRに保存したイ メージのURL

Slide 29

Slide 29 text

タスク定義の作成はおしまい >29

Slide 30

Slide 30 text

流れ >30 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 3 2 ✔

Slide 31

Slide 31 text

ECSクラスターの作成 >31

Slide 32

Slide 32 text

EC2 Linux + ネットワーキング >32

Slide 33

Slide 33 text

クラスターの設定 >33 空のクラスターの作成 別にEC2インスタンス・VPCを作ってECSで使う場合は チェック

Slide 34

Slide 34 text

インスタンスの設定 >34 キーペア 動作中のコンテナ内に入って作業する必要が出てきたときに 使用する
 EC2インスタンスにSSHしてdocker execするイメージ

Slide 35

Slide 35 text

ネットワーキング >35

Slide 36

Slide 36 text

コンテナインスタンス IAM ロール >36 新しいロールの作成を選択 • コンテナを動かすEC2インスタンスに設定するロール

Slide 37

Slide 37 text

IAMロールのおさらい >37 タスクロール タスクの実行IAM ロール コンテナインスタン スIAMロール 対象 コンテナ ECS EC2インスタンス

Slide 38

Slide 38 text

ECSクラスターの作成はおしまい >38 クラスターの表示ボタンが押せるようになるまで待つ

Slide 39

Slide 39 text

流れ >39 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 3 ✔ ✔

Slide 40

Slide 40 text

サービスの作成 >40 サービスのタブが開いているのでそのまま作成ボタンをクリックする

Slide 41

Slide 41 text

サービスの設定 >41

Slide 42

Slide 42 text

Deployments/タスクの配置 >42

Slide 43

Slide 43 text

ネットワーク構成 >43 何も変更せず次のステップをクリックする

Slide 44

Slide 44 text

Auto Scaling (オプション) >44

Slide 45

Slide 45 text

サービスの作成はおしまい >45 サービスの作成ボタンをクリックし、サービスの表示ができるまで待つ

Slide 46

Slide 46 text

サービスの作成はおしまい >46 サービスの作成ボタンをクリックし、サービスの表示ができるまで待つ

Slide 47

Slide 47 text

流れ >47 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 ✔ ✔ ✔

Slide 48

Slide 48 text

サービス内のタスク >48

Slide 49

Slide 49 text

サービスの確認 >49 1. タスクのIDをクリックしてタスクを開く 2. EC2インスタンスのIDをクリックしてEC2インスタンスを開く

Slide 50

Slide 50 text

サービスの確認 >50 3. 開かれたインスタンスのIPv4パブリックIPで接続してみる 4. Welcome to nginx!

Slide 51

Slide 51 text

流れ >51 タスク定義を作成する ECSクラスターを作成する サービスを作成する ✔ 完 ✔ ✔ ✔

Slide 52

Slide 52 text

止めたいときは… >52 タスクの停止は押さない • サービスを作成すると必要な数のコンテナを動かそうと する • サービスの停止でコンテナが止まっても再び動き出す

Slide 53

Slide 53 text

ECSサービスの停止 >53 1. サービスを選択して更新 2. タスクの数を0にしてから全て次に進む

Slide 54

Slide 54 text

ECSサービスの停止 >54 3. タスクが綺麗さっぱりになくなる

Slide 55

Slide 55 text

削除の流れ >55 サービスを削除する ECSクラスターを削除する タスク定義を削除する 4 完 3 2 1

Slide 56

Slide 56 text

ECSサービスの削除 >56 1. 実行中のタスクが0になっているか確認 1つでも残っているとサービスを削除できない 2. サービスを選択して削除

Slide 57

Slide 57 text

ECSサービスの削除 >57 Delete the service discovery service created with this service.に チェックを入れ “delete me” と入力して削除ボタンをクリック

Slide 58

Slide 58 text

ECSクラスターの削除 >58

Slide 59

Slide 59 text

クラスターの削除には時間がかかる >59 EC2インスタンスやネットワーキング(VPC)が削除される

Slide 60

Slide 60 text

タスク定義の削除 >60 タスク定義名をクリックしてタスク定義を開く

Slide 61

Slide 61 text

タスク定義を登録解除する >61 Revisionを選択して「登録解除」

Slide 62

Slide 62 text

タスク定義が消えます >62

Slide 63

Slide 63 text

お疲れ様でした

Slide 64

Slide 64 text

ECS with Fargate

Slide 65

Slide 65 text

流れ >65 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 3 2 1

Slide 66

Slide 66 text

流れ タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 3 2 1

Slide 67

Slide 67 text

ECS with Fargateの構成要素 >67 タスク定義 どのコンテナを動かすかを決める サービス タスク定義を選択して、コンテナーを どこのECSクラスターに置くか・何個置 くのかを決める ECSクラスタ− 「ネットワーキングのみ」で VPCだけ作る nginxのタスクを クラスターに 10個置きたい もちろんロードバランサー付きで nginxのコンテナ 2 vCPU RAMは4GiB

Slide 68

Slide 68 text

タスク定義の作成 >68

Slide 69

Slide 69 text

起動タイプ: Fargate >69

Slide 70

Slide 70 text

タスクとコンテナの定義の設定 >70

Slide 71

Slide 71 text

タスクの実行IAMロール 新しいロールの作成を選択 • ECSがECRからコンテナイメージを取得したり CloudWatchにログを残したりするための権限 • ロールにリソースが指定できるため、リソースを制限す る目的が想定される >71

Slide 72

Slide 72 text

IAMロールのおさらい >72 タスクロール タスクの実行IAMロール 対象 コンテナ ECS

Slide 73

Slide 73 text

タスクサイズ >73

Slide 74

Slide 74 text

コンテナの追加 >74 イメージ Docker Hubの公 開イメージ名 or ECRに保存したイ メージのURL

Slide 75

Slide 75 text

タスク定義の作成はおしまい >75

Slide 76

Slide 76 text

流れ >76 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 3 2 ✔

Slide 77

Slide 77 text

ECSクラスターの作成 >77

Slide 78

Slide 78 text

ネットワーキングのみ >78

Slide 79

Slide 79 text

クラスターの作成 >79

Slide 80

Slide 80 text

ECSクラスターの作成はおしまい >80 クラスターの表示ボタンが押せるようになるまで待つ

Slide 81

Slide 81 text

流れ >81 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 3 ✔ ✔

Slide 82

Slide 82 text

サービスの作成 >82 サービスのタブが開いているのでそのまま作成ボタンをクリックする

Slide 83

Slide 83 text

サービスの設定 >83

Slide 84

Slide 84 text

Deployments >84

Slide 85

Slide 85 text

VPCとセキュリティグループ >85

Slide 86

Slide 86 text

ネットワーク構成 >86 ほかは何も変更せず次のステップをクリックする

Slide 87

Slide 87 text

Auto Scaling (オプション) >87

Slide 88

Slide 88 text

サービスの作成はおしまい >88 サービスの作成ボタンをクリックし、サービスの表示ができるまで待つ

Slide 89

Slide 89 text

サービスの作成はおしまい >89 サービスの作成ボタンをクリックし、サービスの表示ができるまで待つ

Slide 90

Slide 90 text

流れ >90 タスク定義を作成する ECSクラスターを作成する サービスを作成する 4 完 ✔ ✔ ✔

Slide 91

Slide 91 text

タスク >91

Slide 92

Slide 92 text

Welcome to nginx! >92 タスクIDをクリックするとPublic IPが出るので
 ブラウザで動作確認できる

Slide 93

Slide 93 text

流れ >93 タスク定義を作成する ECSクラスターを作成する サービスを作成する ✔ 完 ✔ ✔ ✔

Slide 94

Slide 94 text

止め方・削除の仕方 >94 サービスを作成しているため、同様の方法になります

Slide 95

Slide 95 text

削除が引っかかることがあります >95 必要に応じてCloudFormationスタックを開いて
 問題を突き止めます

Slide 96

Slide 96 text

削除が引っかかることがあります >96 VPCを手動で消しました

Slide 97

Slide 97 text

EKS with EC2

Slide 98

Slide 98 text

ちょっと とっつきにくい _:(´ཀ`」 ∠):_.

Slide 99

Slide 99 text

流れ >99 ワーカーノード(EC2インスタンス)を作成する 3 EKSクラスターを作成する 2 開発環境としてAWS CLI / kubectl を導入する 1 5 完 4 アプリケーションを起動する

Slide 100

Slide 100 text

AWS CLIを導入する >100 pip3 install awscli --upgrade --user [default] aws_access_key_id= aws_secret_access_key= Pythonが使える環境で awscli をインストールする ~/.aws/credentialsを編集する [default] region=us-east-1 output=json ~/.aws/configを編集する

Slide 101

Slide 101 text

kubectl を導入する >101 curl -o kubectl https://amazon-eks.s3-us- west-2.amazonaws.com/1.12.7/2019-03-27/bin/darwin/amd64/ kubectl chmod +x ./kubectl mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH AWS用のkubectlをインストールする Docker for Macなどで既にkubectlが導入されている場合は、 $PATH の最初にAWSのkubectlが読み込まれるようにする

Slide 102

Slide 102 text

流れ >102 ワーカーノード(EC2インスタンス)を作成する 3 EKSクラスターを作成する 2 開発環境としてAWS CLI / kubectl を導入する ✔ 5 完 4 アプリケーションを起動する

Slide 103

Slide 103 text

EKSのコンソール >103

Slide 104

Slide 104 text

クラスターを作成するには足りない >104 EKSが使う… クラスターが使う… ロール VPC サブネット セキュリティグループ

Slide 105

Slide 105 text

EKSのロールを作成する >105 IAMのコンソールを開き、ロールを選択して新規作成する ロール VPC サブネット SG

Slide 106

Slide 106 text

EKSを選択 >106 ロール VPC サブネット SG

Slide 107

Slide 107 text

アクセス権限の確認 >107 タグはスキップする ロール VPC サブネット SG

Slide 108

Slide 108 text

ロール名を設定して作成 >108 ロール VPC サブネット SG

Slide 109

Slide 109 text

準備したVPCを用いる >109 EKS用に準備してあるVPCをCloudFormationで展開する ロール VPC サブネット SG

Slide 110

Slide 110 text

VPCのテンプレートを使う >110 https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/amazon-eks-vpc- sample.yaml ロール VPC サブネット SG

Slide 111

Slide 111 text

展開するVPCに名前をつける >111 ロール VPC サブネット SG

Slide 112

Slide 112 text

VPCを展開する >112 スタックオプションは何も設定せずに進める スタック作成後の出力をメモする ロール VPC サブネット SG

Slide 113

Slide 113 text

クラスターの作成に戻る >113 先ほど作成したロールを選択する

Slide 114

Slide 114 text

VPCなどを選択する >114

Slide 115

Slide 115 text

その他はスキップして作成 >115 クラスターの作成に10分程かかる

Slide 116

Slide 116 text

流れ >116 ワーカーノード(EC2インスタンス)を作成する 3 EKSクラスターを作成する ✔ 開発環境としてAWS CLI / kubectl を導入する ✔ 5 完 4 アプリケーションを起動する

Slide 117

Slide 117 text

kubectlをクラスター用に設定する >117 aws eks update-kubeconfig --name yoshida-eks-sample クラスター用の設定を取得する export KUBECONFIG=$KUBECONFIG:~/.kube/config 設定をkubectlで使えるようにする kubectl get all 設定ができたか確認する

Slide 118

Slide 118 text

ワーカーノード用のキーペアを作成 >118 EC2のコンソールを開き、キーペアを作成する

Slide 119

Slide 119 text

ワーカーノードを作成する >119 https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/amazon-eks- nodegroup.yaml 再びCloudFormationのコンソールを開き、次のテンプレートを 読み込む

Slide 120

Slide 120 text

ワーカーノードのパラメーター >120

Slide 121

Slide 121 text

ワーカーノードのパラメーター >121

Slide 122

Slide 122 text

ワーカーノードのパラメーター w Stack name: -worker-nodes w ClusterName: 作成したクラスターの名前 w ClusterControlPlaneSecurityGroup: CloudFormationで作成したセキュリティグループ w NodeGroupName: -worker-nodes w NodeAutoScalingGroupMinSize: スケーリンググループの最小数。デフォルトの1を設定 w NodeAutoScalingGroupMaxSize: スケーリンググループの最大数。デフォルトの3を設定 w NodeInstanceType: t2.small w NodeImageId: EKSワーカーノードで利用するAMIIDの指定 w US West (Oregon) (us-west-2):ami-73a6e20b w US East (N. Virginia) (us-east-1):ami-dea4d5a1 w KeyName: EC2アクセス用のキーペア名 w 作成したものを入力する w 省略するとエラーで中断するため必ず作成する w VpcId: CloudFormationで作成したVPCのID w Subnets: CloudFormationで作成したSubnet >122 【まずは触って体験】リリース直後のAmazon EKSでサンプルアプリケーションを動かしてみ た | DevelopersIO: https://dev.classmethod.jp/cloud/aws/eks-getting-started/

Slide 123

Slide 123 text

ワーカーノード作成の開始 >123 スタック作成の確認で最後にある
 IAMリソースに関するチェックボックスにチェックを入れて
 スタックを作成する 5分程で完成するので、出力をメモする

Slide 124

Slide 124 text

ワーカーノードの設定 >124 curl -O https://amazon-eks.s3-us-west-2.amazonaws.com/ 1.10.3/2018-06-05/aws-auth-cm.yaml あらかじめ用意された設定ファイルを取得する apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes 設定ファイル内の rolearn を先程出力されたARNに置き換える

Slide 125

Slide 125 text

設定ファイルの適用 >125 kubectl apply -f aws-auth-cm.yaml 設定ファイルをワーカーノードに適用する $ kubectl get nodes --watch NAME STATUS ROLES AGE VERSION ip-192-168-115-223.ec2.internal NotReady 0s v1.10.3 ip-192-168-211-91.ec2.internal NotReady 1s v1.10.3 ip-192-168-173-105.ec2.internal NotReady 0s v1.10.3 ip-192-168-211-91.ec2.internal Ready 89s v1.10.3 ip-192-168-115-223.ec2.internal Ready 89s v1.10.3 ip-192-168-173-105.ec2.internal Ready 89s v1.10.3 設定が適用されたか確認する(Ctrl+Cで終了)

Slide 126

Slide 126 text

流れ >126 ワーカーノード(EC2インスタンス)を作成する ✔ EKSクラスターを作成する ✔ 開発環境としてAWS CLI / kubectl を導入する ✔ 5 完 4 アプリケーションを起動する

Slide 127

Slide 127 text

アプリケーションの起動 >127 kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/ guestbook-go/redis-master-controller.json kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/ guestbook-go/redis-master-service.json kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/ guestbook-go/redis-slave-controller.json kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/ guestbook-go/redis-slave-service.json kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/ guestbook-go/guestbook-controller.json kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/ guestbook-go/guestbook-service.json サンプルアプリケーションを登録する(6つ)

Slide 128

Slide 128 text

流れ >128 ワーカーノード(EC2インスタンス)を作成する ✔ EKSクラスターを作成する ✔ 開発環境としてAWS CLI / kubectl を導入する ✔ 5 完 ✔ アプリケーションを起動する

Slide 129

Slide 129 text

アプリケーションの起動確認 >129 kubectl get services -o wide 外部公開されているアドレスを調べる LoadBalancerのEXTERNAL-IPに対して3000番ポートでアクセスする

Slide 130

Slide 130 text

アプリケーションの起動確認 >130 LoadBalancerのEXTERNAL-IPに対して3000番ポートでアクセスする

Slide 131

Slide 131 text

_人人人人人人人人人人_
 > 書き込みが出ない <
  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

Slide 132

Slide 132 text

No content

Slide 133

Slide 133 text

流れ >133 ワーカーノード(EC2インスタンス)を作成する ✔ EKSクラスターを作成する ✔ 開発環境としてAWS CLI / kubectl を導入する ✔ ✔ 完 ✔ アプリケーションを起動する

Slide 134

Slide 134 text

削除方法 >134 EKSクラスターを削除する 3 ワーカーノード(EC2インスタンス)を削除する 2 アプリケーションを削除する 1 4 完

Slide 135

Slide 135 text

アプリケーションの削除 >135 kubectl delete rc/redis-master rc/redis-slave rc/ guestbook svc/redis-master svc/redis-slave svc/guestbook 設定ファイルをワーカーノードに適用する $ kubectl get services -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kubernetes ClusterIP 10.100.0.1 443/TCP 68m $ kubectl get svc --all-namespaces NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.100.0.1 443/TCP 68m kube-system kube-dns ClusterIP 10.100.0.10 53/UDP,53/TCP 68m $ kubectl delete svc kubernetes service "kubernetes" deleted 同じCLUSTER-IPのサービスを削除する

Slide 136

Slide 136 text

ワーカーノードの削除 >136 CloudFormationで作ったワーカーノードのスタックを削除する

Slide 137

Slide 137 text

ワーカーノードの削除 >137 EC2のコンソールでキーペアを削除する

Slide 138

Slide 138 text

クラスターの削除 >138 EKSのコンソールに戻り、クラスターを削除する

Slide 139

Slide 139 text

クラスターの削除 >139 CloudFormationでVPCのスタックを削除する

Slide 140

Slide 140 text

まとめ AWSのコンテナサービスは次の2つ(+1つ)を組み合わせる • コンテナを管理するコントロールプレーン(ECS, EKS) • コンテナを動かすデータプレーン(EC2, Fargate) • コンテナイメージを保管するECR >140 ECSはタスク定義、クラスター、サービスの順で組み立てる EKSはクラスター、ワーカーノード、アプリケーションの順で
 組み立てる

Slide 141

Slide 141 text

参考 • 「それコンテナにする意味あんの?」迷える子羊に捧げるコンテナ環境徹底比較 #cmdevio2019 | DevelopersIO: • https://dev.classmethod.jp/cloud/aws/cmdevio2019-container/ • Amazon ECS入門 〜公式のDockerイメージを使って10分で構築してみる〜 | DevelopersIO: • https://dev.classmethod.jp/cloud/aws/amazon-ecs-entrance-1/ • 【まずは触って体験】リリース直後のAmazon EKSでサンプルアプリケーションを動かしてみ た | DevelopersIO: • https://dev.classmethod.jp/cloud/aws/eks-getting-started/ • [アップデート]EKSを使う際にaws-iam-authenticatorが不要になりました! | DevelopersIO: • https://dev.classmethod.jp/cloud/aws/eks-update-get-token-cmd/ >141