Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS 公式 Webinar
https://amzn.to/JPWebinar
過去資料
https://amzn.to/JPArchive
Solutions Architect 小川 貴士
2019/3/5
Amazon Elastic Compute Cloud (Amazon EC2)
サービスカットシリーズ
[AWS Black Belt Online Seminar]
自己紹介
名前:小川 貴士 (おがわ たかし)
所属:アマゾンウェブサービスジャパン
ソリューションアーキテクト
担当エリア: 製造業R&Dならびに
HPCのお客様
担当サービス:Amazon EC2、AWS Batch
などのComputeサービス
2
AWS Black Belt Online Seminar とは
• 「サービス別」「ソリューション別」「業種別」のそれぞれのテーマに分かれて、アマゾン ウェブ サービス ジャパン株式会社が主催するオンラインセミナーシリーズです。
• 質問を投げることができます!
• 書き込んだ質問は、主催者にしか見えません
• 今後のロードマップに関するご質問はお答えできませんのでご了承下さい
Twitter ハッシュタグは以下をご利用ください#awsblackbelt
① 吹き出しをクリック② 質問を入力③ Sendをクリック
3
内容についての注意点
• 本資料では2019年3月5日時点のサービス内容および価格についてご説明しています。最新の情報は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.
4
本日のセミナーの目的
AWSをこれから使う方
AWSの基本サービスであるAmazon EC2の基礎知識を身につける
AWSをすでに使っている方
Amazon EC2の忘れられがちな細かい機能やアップデート情報を身につける
5
アジェンダ
• Amazon EC2とは
• EC2インスタンスの種類
• EC2の機能・オプション
• EC2の運用管理
• EC2の費用
• まとめ
6
アジェンダ
• Amazon EC2とは
• EC2インスタンスの種類
• EC2の機能・オプション
• EC2の運用管理
• EC2の費用
• まとめ
7
Host Server
Hypervisor
Guest 1 Guest 2 Guest n
Amazon EC2とは
• 数分で起動し、1時間または秒単位の従量課金で利用可能なAWSクラウド上の仮想サーバー
• サーバーの追加・削除、マシンスペック変更も数分で可能
• 管理者権限(root / Administrator) で利用可能
EC2はElastic Compute Cloudの頭文字
8
EC2のシステム基盤 (AWS Nitro System)
独自のハードウェア/Hypervisorにより最適化された性能を提供
C5,M5,R5など最新のインスタンスは、EC2ソフトウェアスタック全体を専用ハードウェアへオフロード
最適化されたバージョンのLinux KVM をベースにした完全に新しいEC2 Hypervisor(C4,M4,R4より前はXenベースのHypervisorを使用)
Nit
ro
Syst
em
9
EC2を利用できるAWSのデータセンター拠点
AZ
AZ
AZ AZ AZ
Transit
Transit
AWSクラウドは世界中の 20 の地理的リーションにある 61 のアベイラビリティーゾーン(AZ)で運用
EC2は任意のリージョンならびにアベイラビリティーゾーンを選択して起動することができる
※ただしリージョンによって選択できるインスタンスの種類は一部異なる
https://aws.amazon.com/jp/about-aws/global-infrastructure/
アベイラビリティーゾーン(AZ)概念図
AWSのリージョン (2019年3月時点)※丸中の数字はAZの数※白抜きの丸印は今後開設予定のリージョン
10
EC2はお客様毎に独立したネットワーク空間に配置• Amazon Virtual Private Cloud (Amazon VPC) によりクラウド内にお客様毎に独立した
プライベートネットワーク空間を構築
• AWSと既存環境のハイブリッド構成も実現可能
既存システムインターネット
分離したNW領域を作成
ゲートウェイ
VPN接続専用線
http://aws.amazon.com/jp/vpc/ https://www.slideshare.net/AmazonWebServicesJapan/20180418-aws-black-belt-online-seminar-amazon-vpc
11
AWS 東京リージョン
VPC ( 172.16.0.0/16)
プライベートサブネット
パブリックサブネット
EC2で選択できるプロセッサとアーキテクチャ
アプリケーションとワークロードに応じて
最適なコンピューティング環境を選択
Intel Xeon processor(x86_64 arch)
AMD EPYC processor(x86_64 arch)
> 10% コスト低減 ※1
AWS Graviton Processor(64-bit Arm arch)
> 最大 45% コスト低減 ※1
12 ※1:同等なCPU数ならびにメモリ量を搭載したIntel Xeonプロセッサ搭載EC2インスタンスとのコスト比較
既存のOS/アプリ/ミドルウェアが利用可能
HTML5
×
開発言語フロントUI
×
ミドルウェア
OS
13
APIでインフラの自動化が可能
$ aws ec2 run-instances ¥
--image-id ami-xxxxxx ¥
--instance-count 10 ¥
--region us-west-2 ¥
--instance-type r5.4xlarge
$ aws ec2 run-instances ¥
--image-id ami-zzzzzz ¥
--instance-count 3 ¥
--region ap-northeast-1 ¥
--instance-type m5.2xlarge
14
EC2に関連する主要コンポーネント
リージョン
Amazon CloudWatch
Auto Scaling
Amazon Elastic Block
Storage (EBS)
Amazon Machine Image(AMI)
Elastic IP
Amazon Virtual Private Cloud
(VPC)
Application Load Balancer
Snapshot
Amazon Elastic
Compute Cloud
(EC2)
Key Pairs
AWS Management Console
Security
Groups
VM Import/Export
https://aws.amazon.com/jp/aws-jp-introduction/
多くのサービスがEC2と連携して動作している
アベイラビリティゾーン
15
アジェンダ
• Amazon EC2とは
• EC2インスタンスの種類
• EC2の機能・オプション
• EC2の運用管理
• EC2の費用
• まとめ
16
EC2インスタンスタイプ
17
インスタンス世代
c5d.xlarge
インスタンスファミリー
インスタンスサイズ
EC2インスタンスのネーミングポリシー
各インスタンスの詳細は下記を参照https://aws.amazon.com/jp/ec2/instance-types/
(追加機能)
インスタンスタイプ
18
EC2インスタンスファミリーメモリ・I/O・CPUクロック重視、GPU・FPGA搭載、価格重視など特徴を持ったインスタンスファミリーを提供。処理するワークロードに合わせて選択が可能
T3
F1
P3
G3
M5
M5a
H1
D2
C5
C5n
X1
R5
Z1d
A1
I3
X1e
R5a
High
Memory
インスタンス世代
c5d.xlarge
インスタンスファミリー
インスタンスサイズ
(追加機能)
19
EC2インスタンス世代
CC1 CC2 C3 C4 C5
vCPU 16 32 32 36 72
RAM (GiB) 23 60.5 60 60 144
CPU Xeon X55702.93GHz(Nehalem)
Xeon E5-26702.6GHz(Sandy Bridge)
Xeon E5-2680v22.8GHz(Ivy Bridge)
Xeon E5-2666v32.9GHz(Haswell)
Xeon Platinum 8000 3.0GHz(Skylake)
Network 10Gbps 10Gbps 10Gbps 10Gbps 25Gbps
Launch Date
Jul, 2010 Nov, 2011 Nov, 2013 Jan, 2015 Nov, 2017
例)コンピューティング最適化インスタンスの変遷
同じインスタンスファミリーでも世代が進むにつれ数字が大きくなる。世代が新しい方が高性能でコストパフォーマンスも高いため、極力最新世代のインスタンス利用が推奨
旧世代 新世代
インスタンス世代
c5d.xlarge
インスタンスファミリー
インスタンスサイズ
(追加機能)
20
EC2インスタンス追加機能のオプション表記
標準インスタンに対して内蔵ストレージ(インスタンスストア)付加
追加機能の表記には現時点で下記のようなものが存在
M5d
M5a
C5d
C5n
R5d Z1d
R5a
インスタンス世代
c5d.xlarge
インスタンスファミリー
インスタンスサイズ
(追加機能)
標準インスタンスに対してネットワークを強化
AMDのCPUを搭載
P3dn
P3dn
21
その他 (従来よりCPU,メモリ搭載量が異なる etc.)
X1e G3s
EC2インスタンスサイズCPU、メモリ、ネットワークのキャパシティによって、インスタンスサイズが分類されている。アプリケーションが必要とするリソース量に合わせて選択する。
タイプ vCPU メモリ EBS帯域幅 NW帯域幅
c5.large 2 4GiB 最大2.25Gbps 最大10Gbps
c5.xlarge 4 8GiB 最大2.25Gbps 最大10Gbps
c5.2xlarge 8 16GiB 最大2.25Gbps 最大10Gbps
c5.4xlarge 16 32GiB 2.25Gbps 最大10Gbps
c5.9xlarge 36 72GiB 4.5Gbps 10Gbps
c5.18xlarge 72 144GiB 9Gbps 25Gbps
例)C5インスタンスのサイズとキャパシティ
インスタンス世代
c5d.xlarge
インスタンスファミリー
インスタンスサイズ
(追加機能)
22
<参考>EC2インスタンスファミリー (最新世代スペック一覧) 1/2Family CPU(クロックGHz) vCPU数メモリ[GiB] ストレージ アクセラレータほか ユースケース
汎用
A1AWS Graviton (64bit-Arm)
1〜16 2〜32 EBSのみ ARMアーキテクチャ開発環境、Web、マイクロサービス
T3Intel Xeon SP (2.5GHz)
2〜8 0.5〜32 EBSのみ CPUバースト可能
M5Xeon Plutinum8175(MAX3.1GHz)
2〜96 8〜384
EBSのみ なし
小中規模のDB、キャッシュサーバ
M5d最大3.6TB NVMe SSD
なし
M5aAMD EPYC 7000(2.5GHz)
EBSのみ なし
コンピューティング最適化
C5
Xeon Plutinum8000(Max3.5GHz)
2〜724〜144
EBSのみ なし
HPC、バッチ処理、動画エンコーディング
C5d最大1.8TB NVMe SSD
なし
C5n 5.25〜192 EBSのみ 最大100Gbps通信対応
ストレージ最適化
H1Xeon E5-2686v4(2.3GHz)
8〜64 32〜256最大16TB HDD
なしBigData処理、分散型ファイルシステム
I3 2〜6415.25〜488
最大15.2TB NVMe SSD
なしNoSQLデータベース、DWH
※vCPUはIntel XeonのHyperThreadsコアです(T3,A1を除く)
23
<参考>EC2インスタンスファミリー (最新世代スペック一覧) 2/2Family CPU(クロックGHz) vCPU数メモリ[GiB] ストレージ アクセラレータほか ユースケース
メモリ最適化
R5Xeon Plutinum8175(Max3.1GHz)
2〜96 16〜768
EBSのみ なし
ハイパフォーマンスDB、BigData処理
R5d最大3.6TB NVMe SSD
なし
R5aAMD EPYC 7000(2.5GHz)
EBSのみ なし
X1Xeon E7-8880v3(2.3GHz)
64〜128
976〜1952
最大3840GB SSD
なし
インメモリDB、ハイパフォーマンスDB
X1e4〜128
122〜3904
最大3840GB SSD
なし
ハイメモリXeon Plutinum8176M
448 6,9,12TB EBSのみ なし
Z1dXeon Plutinum8000(Max4.0GHz)
2〜48 16〜384最大1.8TB NVMe SSD
なし 電子設計(EDA)、RDB
アクセラレーテッド
G3(s)Xeon E5-2686v4(Max2.7GHz)
4〜64 30.5〜488 EBSのみNVIDIA Tesla M60 GPU (最大4)
3Dビジュアライゼーション、レンダリング、動画処理
P3 8〜64 61〜488 EBSのみNVIDIA Tesla V100 (16GB版) GPU (最大8)
機械学習/深層学習、HPCP3dn
Xeon Plutinum8175(Max3.1GHz)
96 768合計1.8TB NVMe SSD
NVIDIA Tesla V100 (32GB版) GPU (最大8)
F1Xeon E5-2686v4(Max2.7GHz)
8〜64 122〜976最大3760GB SSD
Xilinx Virtex UltraScale+ VU9P FPGA (最大8)
ゲノム分析、リスク計算、リアルタイムビデオ処理
※vCPUはIntel XeonのHyperThreadsコアです(T3を除く)24
少し特殊なインスタンスタイプ
25
Amazon EC2 Bare Metal• ハードウェアへのダイレクトアクセスを提供する新しいEC2
インスタンスのシリーズ
• AWSの各種サービスとの連携が可能で、AWSクラウドのメリットを失うことなく、OSが直接下層のハードウェアにアクセス可能
• ユースケース– 仮想化環境上からは利用できない、パフォーマンスカウンターやエミュレーターの
実行など、ローレベルなハードウェア機能の利用
– 独自にハイパーバイザーを導入・管理し、CPU/メモリをより柔軟に仮想サーバに割当てたり、高集約化を実施 etc.
• Bare Metalインスタンスとして下記のインスタンスタイプが提供中– i3.metal
– m5.metal、m5d.metal
– r5.metal、r5d.metal
– z1d.metal
26
バースト可能パフォーマンスインスタンス
<CPUクレジットの基本動作>
CPUクレジット1つにつきCPUコアの最大パフォーマンス(バースト性能)を1分間提供する
インスタンスがバースト時(ベースラインCPU性能を上回る時)にクレジットを消費する
ベースラインCPU性能を下回っている時にインスタンスは一定の割合でCPUクレジットを獲得する
<T2,T3 Unlimited時のクレジット動作>
Unlimitedにすると最大24時間分のCPUクレジットを前借りして利用できる
前借りクレジットも使い切った状態においてバーストする際は、vCPU時間あたりLinuxで$0.05/h、Windowsで$0.096/h が加算請求される
前借りクレジットが残っている状態でUnlimited→Standardモードに戻すと、前借りクレジット量に応じて費用が発生する
ベースラインレート
クレジットバランス
バーストレート
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html
ベースラインのCPUパフォーマンスに加えて、負荷に応じて高いレベルまでCPU性能がバーストする機能を持ったインスタンス。T2,T3インスタンスが該当する。バースト性能はCPUクレジットを消費することで得られる。
T3T2
27
<参考>T3(Unlimited)クレジットのメトリクス動作
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/unlimited-mode-examples.html
CPUクレジットの残量などはCloudWatchで監視が可能。下記は t3.nano におけるCPUクレジット動作例
CPU負荷がベースラインを下回っているとCPUクレジットを獲得
CPU負荷がベースラインを上回るとCPUクレジットを消費
クレジットを使い切るとクレジットの前借りがはじまる
前借りクレジットの最大(=貯金できる最大クレジット)まで達して、さらにバーストが続くと追加料金発生
CPU負荷がベースラインを下回ると前借りクレジットの返済とCPUクレジットの貯金が行われる
28
<参考>T2とT3の比較
サイズvCPUsT2→T3
ベースラインパフォーマンス/vCPU
T2→T3
メモリT2→T3
価格/1 時間あたり(Linux)T2→T3
価格/1 時間あたり(Windows)
T2→T3
nano 1→2 5%→5% 0.5 GiB→0.5 GiB $0.0076→$0.0068 $0.0099→$0.0114
micro 1→2 10%→10% 1 GiB→1 GiB $0.0152→$0.0136 $0.0198→$0.0228
small 1→2 20%→20% 2 GiB→2 GiB $0.0304→$0.0272 $0.0396→$0.0456
medium 2→2 20%→20% 4 GiB→4 GiB $0.0608→$0.0544 $0.0788→$0.0728
large 2→2 30%→30% 8 GiB→8 GiB $0.1216→$0.1088 $0.1496→$0.1364
xlarge 4→4 22.5%→40% 16 GiB→16 GiB $0.2432→$0.2176 $0.2842→$0.2912
2xlarge 8→8 17%→40% 32 GiB→32 GiB $0.4864→$0.4352 $0.5484→$0.5824
1、スペックならびに価格の違い
2、その他 機能的な違い-T3は無償枠対象ではない-T3ではデフォルトでUnlimitedモード-T3は起動クレジット無し (T2はインスタンス初期起動時にvCPUあたり30クレジット付与(standardモード))-T3はインスタンス停止後 7日間までは獲得クレジットが保持される-T3はハードウェアとしてCPU世代が新しい(Intel Skylake)他、Nitro Hypervisorを採用、OSの前提条件に注意(T2→T3への乗換え時は特に注意) OSの前提条件詳細は下記リリースノート参照https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/general-purpose-instances.html#general-purpose-instances-limits
※東京リージョンの価格
29
64bit ARMアーキテクチャ A1インスタンス
• AWSカスタムのサーバー向けARM NeoverseコアのCPU “AWS Gravitonプロセッサ” 2.3GHzを搭載
• 他ファミリと比較して最大45%のコスト削減を期待できる
• マイクロサービスや、ウェブサーバ、キャッシュサーバなど、多数の小規模インスタンスを使う用途に最適
• Amazon Linux 2, RHEL 7.6以降, Ubuntu16.04以降 (いずれも64bit Arm版) などのAMIが利用可能
• バージニア、オレゴン、アイルランド、オハイオの各リージョンで利用可
a1ファミリ vCPU メモリ(GiB)
EBS帯域(Gbps)
NW帯域(Gbps)
コスト($/時)
a1.medium 1 2 Max 3.5 Max 10 0.0255
a1.large 2 4 Max 3.5 Max 10 0.0510
a1.xlarge 4 8 Max 3.5 Max 10 0.1020
a1.2xlarge 8 16 Max 3.5 Max 10 0.2040
a1.4xlarge 16 32 3.5 Max 10 0.4080
30
<参考>汎用インスタンスの使い分けについて
時々高いCPU使用率を必要とする多くのワークロード
CPU、メモリおよびネットワークリソースそれぞれをバランスよく使用するワークロード
複数のCPUコアを複数インスタンスに跨ってスケールアウトし、広範なARMエコシステムによってサポートされるワークロード
M5/M5a Instances
T3 Instances
A1 Instances
31
アジェンダ
• Amazon EC2とは
• EC2インスタンスの種類
• EC2の機能・オプション
• EC2の運用管理
• EC2の費用
• まとめ
32
EC2の通信とセキュリティ
33
Key Pair
EC2インスタンス上のOSに対する安全な認証を提供する機能
• 鍵認証は、ユーザ名・パスワードの認証よりも安全な認証方式
• AWSでは公開鍵のみ保持し、起動時に公開鍵をコピーする
• 秘密鍵は、ユーザにて適切に管理・保管する
ダウンロードされた秘密鍵
①キーペア作成
②インスタンス起動時に公開鍵をコピー
③公開鍵・秘密鍵のペアが合致するとログイン可能
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-key-pairs.html
34
Security Group
EC2インスタンスへのトラフィックを制限するファイアウォール機能
• デフォルトでは全トラフィックが閉じた状態
• 必要な受信アクセスに対してアクセスルールを定義する• プロトコル( TCP/UDP)
• 宛先ポート
• アクセス元IP / Security Group
• ルールをひとまとめにしたテンプレートをSecurity Groupと呼ぶ
EC2 インスタンス
ポート22(SSH)
ポート80(HTTP)
EC2ファイアウォール
Security Group
ポート25(SMTP)
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-network-security.html35
AWS上でのIPの種類
Private IP• 必ず割り当てられるIPアドレス
• EC2作成時にIPを指定可能(VPCのみ)
• Stop/StartしてもIPは変わらず固定(VPCのみ)
Public IP• ランダムに割り当てられるPublic IP
• Stop/Startすると別のIPが割当てられる
• 割当ての有無を変更することも可能(VPCのみ)
Elastic IP (EIP)• 別インスタンスへ再マップも可能な静的Public IP
• Stop/StartしてもIPアドレスが維持される(VPCのみ)
• 利用していない場合は課金発生
− Elastic IP
− Public IP
− Private IP
EC2
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-instance-addressing.html36
AWS Cloud
VPC
Subnet
Elastic Network Interfaces (ENI)
VPC上で実現する仮想ネットワークインタフェース
以下をENIに紐づけて維持可能
• Private IP
• Elastic IP
• MACアドレス
• セキュリティグループ
インスタンスによって割り当て可能な数が異なる。
eth0: 192.168.1.10
eth0:172.16.3.1
eth1:10.3.5.2
利用例2:1インスタンスに複数NIC
利用例1:インスタンス障害時に待機インスタンスにNICを付け替え
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html
37
• Intel 82599VF (ixgbevf)• M4(m4.16xlarge以外),C3,C4,D2,I2,R3
• 最大10Gbpsのネットワーク速度をサポート
• パケット毎秒(PPS)が非常に大きく、ネットワークレイテンシが低くなるオプション
• Elastic Network Adapter (ENA)• C5(d,n),F1,G3(s),H1,I3,M5(a,d),P2,P3(dn),R4,
X1(e),R5(a,d),T3,m4.16xlarge,Z1d,ハイメモリ
• 最大100Gbpsのネットワーク速度
• マルチキューデバイスインタフェース
• ハードウェアによるIPv4ヘッダーならびに一部のTCP/UDPチェックサム生成をサポート
拡張ネットワーキング
VMM
NIC NIC
VF1 VF2 VF3
Switch
通常 Enhanced Network
VMM
EC2インスタンスの持つ通信性能を最大化する機能今現在、拡張ネットワーキング機能には下記2タイプが存在
https://aws.amazon.com/jp/premiumsupport/knowledge-center/enable-configure-enhanced-networking/38
Amazon EC2インスタンス ネットワークの進化
C1
• 1 Gbps
CC1
• 10 Gbps
C3
• Enhanced
Networking
• 20x PPS
• <100 µs
latency
C4
• EBS
optimized
by default
C5
• ENA
• 25 Gbps
• 2x PPS
• <50 µs
latency
C5n
• EFA
• 100 Gbps
• 2x+ PPS
• EC2のネットワーク帯域は1G,10G,20G,25Gと拡張され、現在最大で100Gに対応
• 100Gbpsに対応するインスタンスとしてC5n、P3dnが発表済み
39
Elastic Fabric Adapter (EFA)
• MPI(Message Passing Interface)を利用したアプリケーションをより高速に実行するために開発された新しいネットワークデバイス
• libfabricライブラリと統合されており、AWS向けにアプリケーションを書き換えることなく現在利用中のMPIフレームワークをそのまま利用することが可能
• 100Gbpsの高速なNWを備えたインスタンスで利用可能
HPCワークロードを高速化する新しいネットワークデバイス
40
(EFA発表時点でc5n.18xlarge , c5n.9xlarge , p3dn.24xlarge のインスタンスタイプが対応予定)
<参考>EC2インスタンスのネットワーク帯域について
• EC2間のトラフィックには下記の制限がある
• シングルフロー通信:最大5Gbps または 10Gbps (同一Cluster Placement Groupの場合)
• マルチフロー通信:各インスタンスタイプが持つ通信帯域の最大
(例えば c5n.18xlargeであれば 最大100Gbps)
通信方式通信先
同一Cluster Placement Group 同一AZ 別AZ リージョン外
シングルフロー 最大10Gbps 最大5Gbps 最大5Gbps最大5Gbps
マルチフロー 各インスタンスタイプが持つ通信帯域の最大
https://aws.amazon.com/jp/blogs/news/the-floodgates-are-open-increased-network-bandwidth-for-ec2-instances/
EC2で5Gbps以上の帯域幅を実現する為には、通信の多重化とマルチコアへの分散を意識する必要がある (RPS/RFSの設定 etc.)
41
EC2のストレージ
42
EC2のストレージ 1、Amazon EC2 インスタンスストア
• ホストコンピュータに内蔵されたディスク• EC2インスタンスと不可分• EC2インスタンスをStop/Terminateすると
クリアされる• 性能・容量はインスタンスタイプごとに規定• 追加費用なし(無料)
2、Amazon Elastic Block Store (EBS)
• ネットワークで接続• EC2インスタンスとは独立管理• EC2インスタンスをStop/Terminateしても
EBSは保持可能• Volumeごとに性能・容量を定義可能• EBSの費用が別途発生• Snapshotを取得しS3に保存可能
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Storage.htmlEBSならびにS3の詳細については下記のページにある各BlackBeltの資料も参照ください
https://amzn.to/JPArchive
EBS volume
EBS Snapshot
gp2 io1
st1 sc1
SSD volumes
HDD volumes
Amazon S3
SSD HDD
43
通常のネットワークとは別にEBS専用帯域を確保するオプション
• 起動時に有効/無効を選択可能
• 帯域はインスタンスサイズによって異なる
• インスタンスタイプによってはデフォルトで有効(A1,C4,C5(d,n),D2,F1,G3(s),H1,I3,M4,M5(a,d),P2,P3(dn),R4,R5(a,d),X1(e),T3,ハイメモリ)
EC2w/o EBS
OptimizedNetwork
EC2with EBS
Optimized
Network
EBS最適化なし
EBS最適化あり
(*)インスタンス毎の帯域幅はこちらを参照くださいhttp://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSOptimized.html
EBS最適化オプション
44
EBS
EBS
OSイメージ(AMI)
45
AWS Cloud
AMI (Amazon Machine Image) とは
AMIはインスタンス起動に必要なOSイメージ
• イメージは内部的にS3に保存
AWS以外にサードパーティもAMIを提供
自由に自前のカスタムAMIを作成可能
• 作成したAMIは別アカウントと共有可能
• カスタムAMIから何台でもEC2インスタンスを起動可能
• 別リージョンへのコピーも可能
インスタンス
Amazon S3
AMI カスタムAMI
AMIからインスタンスを起動
カスタムAMIを使って、インスタンスを複数台起動
カスタムAMIを作成必要に応じて共有設定
46
Availability zone – 1a Availability zone – 1b
AMIの分類
アーキテクチャ• x86 とArm
ビット数• 32bit と64bit
仮想化方式• 準仮想化 ( Paravirtual : PV)
• 完全仮想化 (Hardware-assisted VM : HVM)
ブートストレージ• EBS Backed
• Instance Store-Backed (S3 Backed)
同じOSでも、上記種類で複数のパターンが存在一般的な推奨は 64bit HVM EBS-Backed例:Amazon Linux http://aws.amazon.com/jp/amazon-linux-ami/instance-type-matrix/
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/AMIs.html
32bit
64bit
PV HVM
PVは古い形式の為、利用は推奨されません
47
AMIを探す
コミュニティAMI• コンソールでEC2作成の画面で検索
• CLI/APIで describe-imagesを利用
AWS Marketplace• AWS上で実行されるソフトウェアやサー
ビスを見つけて購入しすぐに使用開始できるオンラインソフトウェアストア
• 多くのソフトウェアベンダー製品やOSSのソフトウェアがインストール済みOSイメージを公開中
• 有償ソフトウェアを従量課金で利用可能
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/usingsharedamis-finding.htmlhttps://aws.amazon.com/marketplace48
<参考>最新世代インスタンス(Nitro Hypervisor)の注意事項
Nitro Hypervisorで実行されるインスタンスでは、下記の機能をサポートするHVM AMIのみが利用できる
• ENAドライバ
• NVMeドライバ
• acpid
※現時点でNitro Hypervisorで実行されるインスタンスは下記の通り
C5(d,n)、M5(a,d)、R5(a,d)、Z1d、T3、A1、P3dn、ハイメモリ
※ENA,NVMeの機能要件を満たしているか確認するスクリプト(c5_m5_checks_script)と対応方法について
下記にて公開中
https://github.com/awslabs/aws-support-tools/tree/master/EC2/C5M5InstanceChecks
https://aws.amazon.com/jp/premiumsupport/knowledge-center/boot-error-linux-m5-c5/
なお、Amazonならびに各コミュニティが配布する下記最新のAMIはNitro Hypervisorをサポート済み
・Amazon Linux AMI ・Amazon Linux 2 ・Windows Server
・Ubuntu ・Debian ・Red Hat Enterprise Linux
・Suse Enterprise Linux ・CentOS ・FreeBSD
←これらのドライバが有効でない場合、OSのブートに失敗します
← 機能が有効でない場合、OSの停止が正しく行えません
49 https://aws.amazon.com/jp/ec2/faqs/#Nitro_Hypervisor
その他のオプション
50
物理ホストの専有オプション• 2つの方法
• ハードウェア専有インスタンス (Dedicated Instance)
• Amazon EC2 Dedicated Host
• 共通の機能• お客様専用の物理サーバにインスタンスを起動可能 (別のお客様のインスタンスは起動しない)• コンプライアンスやライセンス対応で、物理サーバ専有が必要なお客様向け• 従量課金やクラウドのメリットはそのまま確保 (従量課金での利用や瞬時に調達できる etc.)
• Dedicated Hostsの特徴• 物理ホストへのインスタンス配置が、制御・確認可能• 物理ホスト単位のソフトウェアライセンスを持ち込み(BYOL)可能• 物理ホスト単位での課金• AWS が提供、または AWS Marketplace で提供される RHEL、SUSE Linux、および Windows
AMI を専有ホストで使用することは出来ないので注意すること
https://aws.amazon.com/jp/ec2/purchasing-options/dedicated-instances/https://aws.amazon.com/jp/ec2/dedicated-hosts/
51
<参考>ハードウェア専有インスタンスとDedicated Hostsの比較
特徴 ハードウェア専有インスタンス Dedicated Hosts
物理サーバを専有する ○ ○
インスタンスあたりの課金 ○
ホスト当たりの課金 ○
ソケット、コア、ホストIDの可視性 ○
ホストとインスタンス間のアフィニティ
○
対象インスタンスの配置 ○
自動インスタンスの配置 ○ ○
割当リクエストでのキャパシティ追加 ○
http://aws.amazon.com/jp/ec2/dedicated-hosts/
52
Cluster Spread
EC2インスタンスの物理的な配置戦略オプション
• EC2インスタンスを密な場所に配置、ネットワークパフォーマンスを最適化
• 広帯域 (Full Bisection)で低レイテンシかつ高PPS (packets per seconds)なインスタンス間通信を実現
• 単一アベイラビリティゾーンに閉じ• 複数のプレイスメントグループには属せ
ない
• EC2インスタンスを別々のハードウェアに分散して配置、物理サーバ障害時に複数のインスタンスが同時に影響を受ける確率を軽減
• 同一AZにHAクラスタを展開している際などに有益
• AZをまたいで定義することが可能で、1AZあたり実行中のインスタンスは最大7つ
プレイスメントグループ オプション
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/placement-groups.html53
Partition Placement Group
<機能>
Partition Placement Groupではインスタンスを論理的なパーティションに配置
さらにパーティションが異なるインスタンスは同一のハードウェアを共有しないように分散してインスタンスが配置される
これによりハードウェアに障害が発生した場合に単独のパーティションに影響を抑える
<ユースケース>
EC2で実行するHDFS、HBase、Cassandraなどクラスタリングされた分散処理のワークロード
https://aws.amazon.com/jp/about-aws/whats-new/2018/12/amazon-ec2-ntroduces-partition-placement-groups/
EC2のハードウェア障害の影響を最小化する為の新しいPlacement Groupオプション
54
CPU最適化オプション
用途
• HPCアプリケーションなどHT無効化により性能向上が見込める場合
• vCPU数に応じたライセンスが発生するワークロード
注意事項:
• APIもしくはCLIのほかマネジメントコンソールにも対応
• 現行世代のインスタンスに対応
• 無指定時(フルサイズインスタンス)とインスタンス価格は変更なし
• 起動後の変更はできない
• ベアメタルインスタンスでは利用できない
• ライセンスの考え方は各ISVに要確認
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/instance-optimize-cpu.htmlhttps://aws.amazon.com/jp/about-aws/whats-new/2018/05/introducing-optimize-cpus-for-amazon-ec2-instances/
インスタンス起動時にCPUコア数、ハイパースレッディング(HT)の無効化を指定可能とするオプション
55
EC2にアタッチして利用するアクセラレータオプション
Amazon EC2 インスタンスにグラフィックスアクセラレーション機能を簡単に追加
t2インスタンスなど安価なインスタンスと組み合わせることでG2/G3インスタンスに比べて安価にGPUを用いた3Dグラフィックス機能が利用可能
OpenGL APIに対応
GPU Memory 1GiBから8GiBまで4つのGPUサイズが選択可能
Elastic Graphics
(旧称Elastic GPUs)
Elastic Inference
必要なvCPU/メモリを備えたEC2インスタンスにアタッチすることで推論処理を高速化するサービス
現在Apache MXNetとONNX、TensorFlowをサポート
特定ワークロードを高速化できるローコストに利用可能なアクセラレーター
56
アジェンダ
• Amazon EC2とは
• EC2インスタンスの種類
• EC2の機能・オプション
• EC2の運用管理
• EC2の費用
• まとめ
57
インスタンスのライフサイクル
起動したインスタンスは状態を持つ
Running• 実行中。課金される
• Stop操作でStoppedへ、Terminate操作でTerminatedに遷移
Stopped• 停止中。課金されない
• Start操作で再度Running状態に遷移
Terminated• 削除済み。Stop/Startはできない
Running
Terminated
Stopped
StartStop
Terminatelaunch
Terminate
Amazon
Machine
Image (AMI)
Amazon EC2インスタンス
EBS-Backed AMIは Stopped状態への遷移が可能Instance Store-Backed AMIはStopped状態に遷移できない
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html58
Amazon EC2がハイバネーション機能をサポート
• ハイバネーションの対応により、メモリ状態をディスクに書き出した上でインスタンスを停止可能に
• 実行中のアプリケーションなどを停止せず、インスタンスをハイバネート、再開することで、アプリケーションも再開できる
• ハイバネーション中のインスタンスサイズを変更することはできない。メモリサイズとEBS速度に応じて停止・復帰には処理時間を要するので注意
• EBSルートボリュームの暗号化が前提
• C3,C4,C5,M3,M4,M5,R3,R4,E5 の150GB以下のメモリサイズのインスタンスタイプをサポート、ベアメタルインスタンスは非対応
• 最新のAmazon Linux 1がサポート済み、Amazon Linux 2、Windows Serverも今後対応予定
59https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
Amazon CloudWatchによるモニタリング
各AWSサービスのメトリックス監視• メトリックス = 監視項目(例:CPU使用率)
• メトリックスはあらかじめ定義され、構成済み• サービス開始時から監視開始• EC2ではハイパーバイザーから監視できる項目
• メトリックスを追加定義も可能• カスタムメトリックス
• メトリックス値を時系列にグラフ表示
各メトリックスに対してアラームを作成可能• しきい値を設定(例:CPU使用率60%以上)
• メトリックス値がしきい値を越えたら起こすアクションを定義(例:メールで通知)
EC2上のログ監視 ・・・Amazon CloudWatch Logs• メトリックスとアラームも作成可能
https://www.slideshare.net/AmazonWebServicesJapan/black-belt-online-seminar-amazon-cloudwatch60
スケジュールイベント
リタイア• インスタンスをホストしているハードウェ
アで回復不可能な障害が検出された場合、インスタンスリタイヤが予定される
• スケジュールされたインスタンスには、時計マークが表示される
• EC2のEventsメニューで一覧表示
• DescribeInstanceStatus APIで取得可能
取るべきアクション• リタイア日までにstop→start を実行
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/instance-retirement.html61
Auto recoveryインスタンスの異常を検知し復旧
• インスタンスの異常を2つに分けて検知
• StatusCheckFailed_System:インスタンスをホストしているハードウェア側の障害
• StatusCheckFailed_Instance:EC2インスタンス内部で障害が発生している場合
• CloudWatch アラームにて 「Recover this Instance」アクションを設定
• アラーム発生時に、自動的にインスタンス再起動を行う。インスタンスID、IPアドレス(Public IPv4アドレス)などは維持される
条件
• 特定のインスタンスタイプのみ対応(A1,C3,C4,C5(n),M3,M4,M5(a),R3,R4,R5(a),T2,T3,X1(e))
• VPC内のEBS-Backed インスタンスのみ対応
• テナント属性がdefaultまたはdedicatedのインスタンス (Dedicated hostsは対応無し)
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-recover.html62
自動化ツールと機能
インフラの自動化を支援する機能やサービス群
User dataLaunch TemplatesInstance Meta DataEC2 FleetAWS CLIAWS SDKAmazon EC2 Systems ManagerAmazon EC2 Auto ScalingAWS CloudFormationAWS Elastic BeanstalkAWS OpsWorksその他サードパーティ製品
各BlackBeltの資料を参照ください
63
https://amzn.to/JPArchive
User data
起動時にスクリプト実行を行う機能
2種類の形式でインスタンスに渡す• シェルスクリプト
• cloud-initディレクティブ
利用用途• AMIでカバーできない起動時の設定変更
• 起動時に実行するスクリプトやchef, puppetへ、外部からパラメータとして値を渡す
応用• 複数台の自動構成などは CloudFormation, OpsWorksも組み合わせて利用する
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/user-data.html
64
Launch Template
• EC2インスタンス起動時に設定すべき項目をテンプレート化して、インスタンスの起動をシンプル化することができるように
• オートスケーリングやスポットフリート、オンデマンドインスタンスでサポートされる。社内標準の設定を適用したり、ベストプラクティスに従ったインスタンスの起動を容易にする
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-launch-templates.html
65
インスタンスメタデータ
自インスタンスに関するデータを取得するための方法
User-dataも取得可能
利用例• インスタンスタイプに応じて、設定ファ
イルのメモリ量などを調整
• リージョンに応じて、タイムゾーンを自動設定
• ネットワーク情報を取得して、DNSへ動的登録
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
ami-id
ami-launch-index
ami-manifest-path
block-device-
mapping/
hostname
instance-action
instance-id
Instance-type
kernel-id
local-hostname
local-ipv4
mac
network/
placement/
profile
public-hostname
public-ipv4
public-keys/
reservation-id
66
EC2 Fleet
特徴• EC2 Fleetによって、複数のインスタンスタイプ・AZから必要なキャパシティ(総vCPU
数や総メモリ量)を指定してインスタンスを起動することが可能
• オンデマンドならびにスポットインスタンスを混在して必要なキャパシティの起動リクエストを実施することが可能
用途• ステートレスなWebサーバ、ビッグデータクラスタ、ゲノム分析、リスク分析、レンダ
リングなど
価格:• EC2 Fleet機能は無料。起動したインスタンスの費用のみ
注意事項:• Autoscaling, ECS, EKS, Batchとの連携は未対応。(今後対応予定)
• API or CLIのみ対応https://aws.amazon.com/jp/blogs/news/ec2-fleet-manage-thousands-of-on-demand-and-spot-instances-with-one-request/https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-fleet.html
1回のリクエストで大量のオンデマンドおよびスポットインスタンスの起動が可能に
67
上限と制限緩和
EC2は、誤って大量に起動しないよう、アカウント開設当初はリージョンごとに20インスタンスまでしか起動できないように設定されている
• http://docs.aws.amazon.com/ja_jp/general/latest/gr/aws_service_limits.html
各種上限は Trusted Advisorで確認可能(Service Limits)
• EC2管理画面の「Limits」メニューでも確認可能
上限緩和申請はAWSサイト最下のメニューから
• EC2管理画面の「Limits」メニューからも申請可能
http://www.slideshare.net/AmazonWebServicesJapan/aws-4288566868
アジェンダ
• Amazon EC2とは
• EC2インスタンスの種類
• EC2の機能・オプション
• EC2の運用管理
• EC2の費用
• まとめ
69
EC2の課金の内訳
インターネット
EC2
EBS
S3
データ転送量(out)
インスタンスタイプ別利用料
EBSの利用料
AMI/スナップショットの保管料
EC2の費用が大半を占める!
例) 汎用SSD使用料: $0.12/GB/月
例) S3に対するsnapshot: $0.05/GB/月
例) EC2からインターネットへの通信料: $0.114/GB
例) m5.large(Linux)使用料: $0.124/GB/時間
※いづれも東京リージョンでの価格例70
EC2の購入オプション
オンデマンドインスタンス• 初期費用無し、従量課金
リザーブドインスタンス• 1年間または3年間、常に利用可能なキャパシティ予約により、最大75%の割引
• スケジュールされたリザーブドインスタンス• 1年間、日次・週次・月次で、指定した時間帯のみのキャパシティ予約により、5%-10%の割引
スポットインスタンス• 未使用キャパシティを時価で提供、最大90%の大幅な割引で利用可能
専用ホスト(Dedicated Hosts)• インスタンス実行用物理ホストの単位で支払い。
ハードウェア専有インスタンス( Dedicated Instance)• シングルテナント
EC2の価格に関するそれぞれの詳細ならびに最新情報は下記ページを参照https://aws.amazon.com/jp/ec2/pricing/
71
1秒単位課金について
EC2インスタンスおよびEBSボリュームは1秒単位の課金• 対象サービス:EC2, EBS
• 対象OS:追加課金のないLinux OS (Amazon Linux, Ubuntuなど)
• 対象リージョン:全リージョン
• オンデマンド、リザーブド、スポットに対応
注意事項• 価格表記は1時間単位のまま(実際は秒単位の請求)
• 最小請求期間は1分
• 請求書には小数点を含む時間で表記
https://aws.amazon.com/jp/blogs/news/new-per-second-billing-for-ec2-instances-and-ebs-volumes/https://aws.amazon.com/jp/ec2/pricing/72
OS・ソフトウェアの料金
無料OS AMI• インスタンス費用のみ($/s) ←秒課金に対応
• Amazon Linux AMI, Amazon Linux 2, Ubuntu, etc.
商用OS AMI • 従量課金: インスタンス費用+ソフトウェア費用($/h)
• Windows Server (Windows + SQLServer)
• Red Hat Enterprise Linux
• SuSE Linux Enterprise
• 構成によってはライセンス持ち込みも可能 :インスタンス費用($/s) ←秒課金に対応
AWS Marketplace• 完全従量課金: インスタンス費用($/h)+ソフトウェア費用($/h)
• ソフトウェアライセンス持ち込み(BYOL):インスタンス費用($/s) ←秒課金に対応
73
課金管理の方法
タスク 対応するAWSサービス
コスト管理 利用料確認 • 請求書• Detailed Billing Report• Cost Explorer
利用管理 傾向分析 • Cost Explorer
過剰利用対策コスト最適化
• 予算• Trusted Advisor
74
<参考>Cost Explorer
• AWSリソースの使用量を時系列でグラフ化するツール
• EC2の利用状況などコストの把握に役立つ傾向を分析
• リザーブドインスタンスのレコメンド機能
• EC2コンソールの「レポート」メニューまたはアカウントメニュー内「コストエクスプローラー」より確認
https://console.aws.amazon.com/billing/home?#/costexplorer
http://www.slideshare.net/AmazonWebServicesJapan/cost-explorerhttps://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/cost-explorer-what-is.html75
<参考>AWS Trusted Advisor
AWS Trusted Advisor• コスト最適化、セキュリティ、耐障害性、パ
フォーマンスをチェックし推奨事項をお知らせするサービス
AWS Trusted Advisorによるコスト最適化• 不要リソースやアイドル状態のリソースを検出
• リザーブドインスタンスの利用状況を可視化
チェック項目の例• CPU利用率10%および N/W通信が 4日以上
5MB以下のインスタンス
• リザーブドインスタンス最適化
• 未活用のEBSボリューム
• 未使用のEIP
https://aws.amazon.com/jp/premiumsupport/trustedadvisor/http://www.slideshare.net/AmazonWebServicesJapan/201507-aws-blackbeltsupportpublish
Trusted Advisorのフル機能を利用するためには、ビジネスまたはエンタープライズサポートプランに加入する必要があります
76
<参考>概算見積もりツール (Simple Monthly Calculator)
Web上で利用できる費用試算ツールhttp://calculator.s3.amazonaws.com/index.html?lng=ja_JP
詳しい使い方はこちらhttp://www.slideshare.net/AmazonWebServicesJapan/aws-simple-monthly-calculator-20130910
77
<参考>EC2価格データの入手
EC2の価格は、2種類の方法で取得できます。
価格ページ• https://aws.amazon.com/jp/ec2/pricing/
Price List API• JSON/CSVフォーマットで取得可能
[詳細ガイド] http://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/price-changes.html
• SNSで料金変更通知を受信することも可能
arn:aws:sns:us-east-1:278350005181:price-list-api
78
AWS無料利用枠
AWSサインアップ後12ヶ月間、AWSを無料で実際に利用可能。(自動的に設定済み)
無料枠対象サービスの無料利用条件の範囲内で無料。(超過した分は費用が発生)
http://aws.amazon.com/jp/free/http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-aws-aws79
アジェンダ
• Amazon EC2とは
• EC2インスタンスの種類
• EC2の機能・オプション
• EC2の運用管理
• EC2の費用
• まとめ
80
まとめ
• EC2は完全従量課金で世界中のAWSリージョンで利用できるクラウド上
の仮想サーバー
• ワークロードに合わせて様々なスペックのインスタンスタイプが選べる
• ストレージやOSなど多彩な組合せオプション
• 豊富な運用管理機能によりサーバー運用の簡易化、自動化をお手伝い
• コストを確認、最適化しやすくする様々なコスト管理機能を提供
81
Q&A
• お答えできなかったご質問については
• AWS Japan Blog 「https://aws.amazon.com/jp/blogs/news/」にて
• 資料公開と併せて、後日掲載します。
82
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS の日本語資料の場所「AWS 資料」で検索
https://amzn.to/JPArchive
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Webinar
https://amzn.to/JPWebinar https://amzn.to/JPArchive
ご視聴ありがとうございました