Weitere ähnliche Inhalte
Ähnlich wie Kubernetesを使う上で抑えておくべきAWSの基礎概念 (20)
Mehr von Shinya Mori (@mosuke5) (20)
Kubernetesを使う上で抑えておくべきAWSの基礎概念
- 2. Who are you?
2
名前: もーすけ (@mosuke5)
仕事:
DevOps系とかやってる人。
元Alibaba Cloud日本リージョンの中の人。
元システム開発系エンジニア。
ところで:
「お前、元Alibaba Cloudの中の人だろ?AWS知ってんのか?」
AWS Solution Architect Professionalも持ってます!競合(大先輩)調査です。
人気記事:サンプル問題集付き!AWSソリューションアーキテクトプロフェッショナル勉強方法
※Twitterアイコンは
一時的に別のものになっています。
- 5. 主な登場サービス
5
EC2 Elastic Compute
Cloud
いわゆる一般的な仮想サーバのサービス。様々なインスタンスタイプをもちあらゆる
ワークロードに対応できるのが特徴。 KubernetesではMaster NodeやWorker Node
などサーバが必要な場面で必ず利用される基本サービス。
VPC Virtual Private Cloud クラウド上に、ユーザが定義したプライベートなネットワーク空間を作成することので
きるサービス。このVPC内部にEC2やELBなどのリソースを配置していくことになる。
その他、トラフィックのルーティング設定なども可能。
ELB Elastic Load
Balancer
ロードバランササービス。 Kubernetesでは外部からPodやAPIへアクセスするための
経路として用いられることが多い。 ELBの中にもCLB, ALB, NLBの3種類のタイプを
もつ。
EBS Elastic Block
Storage
EC2にアタッチ、マウントすることのできるブロックストレージサービス。 Kubernetes
では主にPersistent Volume(PV)として利用される。
IAM Identity and Access
Management
AWS全体のアカウント、権限管理を担うサービス。 AWSコンソールにアクセスするた
めのユーザ発行や、 API Key発行、実行できるアクションの制限・管理などができ
る。
Auto Scaling - 名前の通り負荷などに応じて EC2をスケールアウト・インさせるためのサービス。単
にスケールのためだけでなく、期待した数のインスタンスが可動しているか管理する
用途としても利用される。
- 7. リージョンとAZ
7
<リージョン一覧 (2019/6/17現在)>
us-east-1 米国東部(バージニア北部)
us-east-2 米国東部 (オハイオ)
us-west-1 米国西部 (北カリフォルニア)
us-west-2 米国西部 (オレゴン)
ca-central-1 カナダ (中部)
eu-central-1 欧州 (フランクフルト)
eu-west-1 欧州 (アイルランド)
eu-west-2 欧州 (ロンドン)
eu-west-3 EU (パリ)
eu-north-1 欧州 (ストックホルム)
ap-east-1 アジアパシフィック (香港)
ap-northeast-1 アジアパシフィック (東京)
ap-northeast-2 アジアパシフィック (ソウル)
ap-northeast-3 アジアパシフィック (大阪: ローカル)
ap-southeast-1 アジアパシフィック (シンガポール)
ap-southeast-2 アジアパシフィック (シドニー)
ap-south-1 アジアパシフィック (ムンバイ)
sa-east-1 南米 (サンパウロ)
※中国リージョンは別アカウント
リージョンは国や都市のレベルで、他のリージョンとは完
全に分離されたもの。世界で20くらい。
出典: https://aws.amazon.com/jp/about-aws/global-infrastructure/
- 10. VPCネットワークの基礎
10
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-nat-gateway.html
VPC
Availability Zone 1 Availability Zone 2
Public subnet
Private subnet
Public subnet
Private subnet
Internet gateway
(igw)
Router
NAT gatewayInstance
Instance Instance
AWSの教科書的VPC設計は、各AZに
PublicとPrivateのサブネットを作ること。
VPC内にはRouterと呼ばれるルーティン
グを担当するコンポーネントがある。
ルートテーブルを各サブネットに対して
設定することができる。
Publicサブネットのルートテーブルでは、
すべてのアドレスをInternet Gateway向
きに設定することでインターネットとの接
続を可能にする。
Privateサブネットのインスタンスは、
NAT Gatewayを通してインターネットに
接続できるようにすることが望ましい。
0.0.0.0/0 igw
0.0.0.0/0 igw
0.0.0.0/0 natgw
0.0.0.0/0 no setting
インターネットには
出れない
- 11. その他、確認しておくといい項目
11
1. セキュリティグループとNetwork ACLについて
2. 責任共有モデル
3. AWS Well Architected
4. AWSサービスの配置場所
AWSではサービスごとに配置される場所が異なる。VPC内部に配置できるも
のや、リージョンにあるのもの、エッジロケーションにあるものなど。
5. オブジェクトストレージのS3
ブロックストレージとは違うので要確認。そしてよく出てくる
参考:万能じゃない。オブジェクトストレージの仕組みと利用を正しく理解する
- 17. PV/PVCとEBSボリューム
17
10GB 50GB 100GB
EBS
EBS Volumeを事前に用意
Master API
1. 30GBのストレージ
がほしい (PVC)
2. 要求を満たす一番近
いストレージが50GBな
のでこれをあげるよ。
30GB
EBS
EBS Volumeは事前に用意しない
Master API
1. 30GBのストレージ
がほしい (PVC)
3. 30GBのストレージでき
たからこれを使ってね。
2. 30GBのストレージい
ま作るね。(API経由で
EBS Volumeを作る)
通常のPV, PVCのフロー
クラウドの良さを利用した
Dynamic Provisioningのフロー
- 18. Auto Scaling Groupを使ったノードの管理
18
Auto ScalingというEC2インスタンスを負荷などに応じてスケールアウト・インする
ことのできるサービスがある。負荷状況に応じたスケールだけではなく、期待する
インスタンス数を維持することにも利用ができる。(スケールアップ・ダウンではな
いので注意)
これを利用して、WorkerノードなどのKubernetesを構成するEC2はAuto Scaling
Groupを作って所属させておくこともできる。なにかしらの原因によってインスタン
スが落ちた場合にもAuto Scalingが期待する台数までもどしてもらえる。
参考としてEKSのアーキテクチャ図でもWorkerノード及び踏み台サーバはAuto
Scaling Groupに所属させている。
- 20. なぜKubernetesはAWSリソースを操作できるのか
20
【正解】
マスターノードのEC2にIAM Roleを割り当てている。Kubernetesインストール時
にAPI Keyをもたせることもできるはずだが、一般的にはMaster NodeのEC2に
IAM Roleを割り当てることが一般的。IAM Roleにはどのリソースに対してどのよ
うな操作ができるかの権限が設定できる。
AWSも公式でアクセスキー管理のベストプラクティスとして、IAM Roleを使った
STSの利用を推奨している。(公式ドキュメント)
AWS STS
metadata
IAM Role
ELB EBS
$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<rolename>
{
"Code" : "Success",
"LastUpdated" : "2012-04-26T16:39:16Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
"SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"Token" : "token",
"Expiration" : "2017-05-17T15:09:54Z"
}1. metadataからクレデンシャルを取得。
右はサンプルリクエスト。
2. クレデンシャルを使って他
AWSリソースを操作。