第6回はじめてのaws jaws ug-iwata
TRANSCRIPT
6
Amazon EC2(Elastic Compute cloud)
仮想サーバ(Citrix Xenベース)マルチテナント任意のAZに設置できる。約5分でサーバが起動できる。1時間ごとの重要課金制特定のOS、言語、フレームワークに縛られない。多彩なインスタンス
ハイパーバイザー
物理環境(サーバ/ストレージ)
NetWork
OS※1
ミドルウエア(データベース・言語)
アプリケーション
Iaas
8
AWS 物理サーバ領域
EC2の提供レベル
t2.small
m3.m
edium
t2.micro
・・・・・・
Instance Type VCPU メモリ(GiB) ストレージ(GB)
t2.micro 1 1 EBS のみ
t2.small 1 2 EBS のみ
t2.medium 2 4 EBS のみ
m3.medium 1 3.75 1 x 4
m3.large 2 7.5 1 x 32
m3.xlarge 4 15 2 x 40
m3.2xlarge 8 30 2 x 80
c4.large 2 3.75 EBS のみ
c4.xlarge 4 7.5 EBS のみ
c4.2xlarge 8 15 EBS のみ
c4.4xlarge 16 30 EBS のみ
c4.8xlarge 36 60 EBS のみ
11
EC2のインスタンスタイプ
※インスタンスの種類は30以上
12
EBS(Amazon Elastic Block Store)
仮想外付けHDD最大16TBまでの容量
課金対象は、I/O、期間、サイズ
Availability Zone#CAvailability Zone#A
S3にバックアップ
snapshot
S3
約100GB(汎用SSD) 月$9
HDDの寿命がない
複数のEBSを利用可能
EBSからリストアできる
最近増えた
データは永続的に保存
13
EC2物理のローカルHDD
インスタンスストア(Instance Store)
インスタンスタイプごとにサイズ、個数、種類が決まっている
お金がかからない
ネットワークの影響なし
AWS 物理サーバ領域
Instance Storeサーバを停止させるとデータが消える
再起動では消えないEphemeral Disk
他のEC2への付け替えができない
バックアップ機能なし
14
サーバへのアクセス
鍵認証(公開鍵・秘密鍵)
Availability Zone#A
AWS管理コンソール
EC2作成
自動的にコピー
Keypairを作成
秘密鍵を
ダンロード
SSHログイン
①②
③
③④ インスタンス
SecurityGroups
15
EC2を守るFWのこと
インスタンス
Availability Zone#A
インスタンス
80、22
それ以外のポート
22、443
それ以外のポートデフォルトは、全拒否
許可するポート、IPレンジ及びSecurityGroupIDをインスタンスごとに指定する。
・プロトコル:TCP/UDP例:TCP・ポート番号:例:80・アクセス元:(IPレンジ、SG)例:1.1.1.0
IP:1.1.1.0
IP:1.1.1.0
Elastic IP アドレス(EIP)
16
仮想サーバに割り当てられる静的IPのこと
Availability Zone#A
PrivateIP:192.168.0.1
AWS管理コンソール
PublicIP:1.1.1.2
EIP:1.1.1.4
EIP:1.1.1.5
EIP:1.1.1.6
起動時にはプライベートIPとパブリックIP(動的IP)が割り当てられる。
①IPアドレスをリリース
サーバA サーバC
②EIPをサーバに紐付け
パブリックIPはサーバを停止すると変動する。
PublicIP:1.1.1.1PrivateIP:192.168.0.2
19
Elastic Load Balancing(ELB)機能
①ELBでできること。
・ロードバランシング: 複数のインスタンスに負荷分散
・可用性: 正常なインスタンスに振り分け
②ELBの特徴
・ELB自体が拡張性
・価格: 従量課金
・管理: 管理が不要
・連携: Route53、CloudFront、AutoScaling、S3
ELBの用語
DNSラウンドロビン一つのドメイン名に複数のIPアドレスを割り当てる負荷分散
Least Conns(最少接続数)ELBノードがクライアントから受け取ったトラフィックをどのEC2インスタンスに転送するかを決める。低負荷なインスタンスに転送する。
RoutingELBノードがどのAZのEC2インスタンスに転送するかの手法・Same-Zone Routing・Cross-Zone Routing
20
ELBを利用するVPC設定
Availability Zone#A
Availability Zone#A
Availability Zone#C
Availability Zone#C
WebServer
WebServer
ELBの配置するサブネットに複数AZを作成すること。サブネットは最少/27bit、20IP分の空きが必要。(スケーラブルを考慮)
ELBを配置するサブネット
23
ELBを配置する場所
Availability Zone#A
Availability Zone#A
Availability Zone#C
Availability Zone#C
WebServer
WebServer
Availability Zone#A
Availability Zone#A
Availability Zone#C
Availability Zone#C
WebServer
WebServer
社内
Internet
24
スケーラブル(拡張)
Availability Zone
Availability Zone
CPUアップ
(;◑д◐)
CPUアップ
(;◑д◐)
追加
追加
インスタンスの拡張 ELBの拡張
25
ELB暖気運転について(pre-warming)
瞬間的なアクセスに対するELB自身のスケーラブルは対応できない。HTTP503エラーを返す。
AWSサポートプランBusiness / Enterpriseに加入しているユーザに対して事前にスケールさせておく操作方法AWSに申請が必要
暖気運転しない場合は、スケーラブルに、1分~7分かかる。
27
ヘルスチェック登録されたEC2に対して、定期的な ping の送信、接続の試行、またはリクエストの送信により、EC2 インスタンスをテストとして、合格したインスタンスのみトラフィックをルーティングする。
フィールド 説明 値
ping プロトコル インスタンスと接続するために使用するプロトコル
TCP、HTTP、HTTPS、およよび SSL
ping ポート インスタンスに接続するために使用するポート(protocol:port )。
Ping プロトコル: TCP、HTTP、HTTPS、SSL、Ping Ping ポート範囲: 1~65535
ping パス HTTP または HTTPS リクエストの送信先 /index.html
応答タイムアウト ヘルスチェックからの応答を受け取るまで待つ時間(秒単位)
有効な値: 2 ~ 60
HealthCheck 間隔 個々のインスタンスのヘルスチェックの間隔(秒単位)。
有効な値: 5 ~ 300
非正常のしきい値 EC2 インスタンスで異常が発生していることを宣言する前に連続して失敗したヘルスチェックの数。
有効な値: 2 ~ 10
正常のしきい値 EC2 インスタンスが正常であることを宣言する前に連続して成功したヘルスチェックの数。
有効な値: 2 ~ 1028
独自ドメインの利用
ELBのドメイン名(CNAME)が発行される。
myelb-****.ap-northeast-1.elb.amazonaws.com
利用したいドメイン名とELBのドメイン名をCNAMEに登録する。
Route53を利用する際は、エイリアスレコードに登録する。
www.exsample.com IN CNAME
myelb-****.ap-northeast-1.elb.amazonaws.com
31
ELBのセキュリティグループ
セキュリティグループ
セキュリティグループ
セキュリティグループ
ELBにセキュリティグループの設定が可能。
EC2インスタンスはELBのみからリクエストを受けるように設定する必要がある。
80443
80443
80443
80443
32
項目名 内容
timestamp クライアントからアクセスされた時間。
elb ELBの名前
client:port クライアントのIPアドレスとポート番号
backend:port ELBによって通信が振り分けられたインスタンスのIPアドレスとポート番号
request_processing_time
ELBがクライアントからリクエストを受けてからインスタンスにリクエストを送信するまでの時間
backend_processing_time
ELBがインスタンスにリクエストを送信し、インスタンスからレスポンスが戻ってくるまでの時間
response_processing_time
ELBがインスタンスからレスポンスを受け取ってから、クライアントにレスポンスを返すまでの時間
elb_status_code ELBのレスポンスステータスコード
backend_status_code ELBがリクエストを送信したインスタンスのレスポンスステータスコード
37
38
ELBを作ってみよう。
今回構築するサーバの想定・リージョン: TOKYO
・AZ: アベイラビリティゾーン# A
アベイラビリティゾーン# C
・インスタンスタイプ: t2.micro 2台Amazon Linux
・EIPのAttach
・インスタンスへのSSH接続・SG(セキュリティグループ)の設定・外部からのHTTP接続・index.htmlを編集