第6回勉強会
はじめてのAWS
JAWS-UG Japan IWATA
AWSを使ってみよう ~ELB編~
Agenda
2
①自己紹介
②資料について
③前回の振り返り ~EC2の概念~
④初めてのAWS ~ELB~
①自己紹介
3
◆鈴木善久(すずき よしひさ)
◆JWAS-US磐田 3リーダーの1人
◆AWS歴 約1年4ヶ月
◆最近想うこと。
磐田UG登壇者求む!!
疲れましたw(~。~)w
②資料の説明
4
資料について
筆者の独断と偏見を
含むため要注意。
※5部引用あり。
5
6
Amazon EC2(Elastic Compute cloud)
仮想サーバ(Citrix Xenベース)
マルチテナント
任意のAZに設置できる。
約5分でサーバが起動できる。
1時間ごとの重要課金制
特定のOS、言語、フレームワークに縛られ
ない。
多彩なインスタンス
EC2のイメージ
7
EBS
EBS
AWS管理コンソール
コマンドライン
SSH/RDP
(鍵認証)
ハイパーバイザー
物理環境
(サーバ/ストレージ)
NetWork
OS※1
ミドルウエア
(データベース・言語)
アプリケーション
Iaas
8
AWS 物理サーバ領域
EC2の提供レベル
t2.small
m3.medium
t2.micro
・・・・・・
9
任意のAZに設置できる。
※現在は9つのリージョン
10
特定のOS、言語、フレームワークに縛られない。
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.1
PrivateIP:192.168.0.2
17
ELBの基本的な概要説明
18
ELBとは・・・。
単純な負荷分散
19
Elastic Load Balancing(ELB)機能
①ELBでできること。
・ロードバランシング: 複数のインスタンスに負荷分散
・可用性: 正常なインスタンスに振り分け
②ELBの特徴
・ELB自体が拡張性
・価格: 従量課金
・管理: 管理が不要
・連携: Route53、CloudFront、AutoScaling、S3
ELBの用語
DNSラウンドロビン
一つのドメイン名に複数のIPアドレスを割り当てる負荷分散
Least Conns(最少接続数)
ELBノードがクライアントから受け取ったトラフィックをどの
EC2インスタンスに転送するかを決める。
低負荷なインスタンスに転送する。
Routing
ELBノードがどのAZのEC2インスタンスに転送するかの手法
・Same-Zone Routing
・Cross-Zone Routing
20
ELBのイメージ Same-Zone Routing
**elb.****.elb.amazonaws.com
AWS Management
Console
21
ELBのイメージ Cross-Zone Routing
**elb.****.elb.amazonaws.com
22
ELBを利用するVPC設定
Availability Zone#A
Availability Zone#A
Availability Zone#C
Availability Zone#C
Web
Server
Web
Server
ELBの配置するサブネットに複数AZを作成すること。
サブネットは最少/27bit、20IP分の空きが必要。
(スケーラブルを考慮)
ELBを配置する
サブネット
23
ELBを配置する場所
Availability Zone#A
Availability Zone#A
Availability Zone#C
Availability Zone#C
Web
Server
Web
Server
Availability Zone#A
Availability Zone#A
Availability Zone#C
Availability Zone#C
Web
Server
Web
Server
社内
Internet
24
スケーラブル(拡張)
Availability Zone
Availability Zone
CPUアップ
(;◑д◐)
CPUアップ
(;◑д◐)
追加
追加
インスタンスの拡張 ELBの拡張
25
ELBは急激なアクセスには対応できない。
26
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
ヘルスチェックの詳細
29
ELBの料金
・時間当たりの利用料は、複数のAZでも料金は同じ。
・SSLを利用しても同じ。
30
独自ドメインの利用
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
のみからリクエストを
受けるように設定
する必要がある。
80
443
80
443
80
443
80
443
32
33
Internet
34
35
36
項目名 内容
timestamp クライアントからアクセスされた時間。
elb ELBの名前
client:port クライアントのIPアドレスとポート番号
backend:port ELBによって通信が振り分けられたインスタンスのIPアドレスとポート番号
request_processing_ti
me
ELBがクライアントからリクエストを受けてからインスタンスにリクエストを
送信するまでの時間
backend_processing_t
ime
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を編集
39
終わり・・・。

第6回はじめてのAws jaws ug-iwata