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

39
第6回勉強会 はじめてのAWS JAWS-UG Japan IWATA AWSを使ってみよう ~ELB編~

Upload: iwata-jaws-ug

Post on 17-Jan-2017

230 views

Category:

Education


0 download

TRANSCRIPT

第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

EBSEBS

AWS管理コンソール

コマンドライン

SSH/RDP

(鍵認証)

ハイパーバイザー

物理環境(サーバ/ストレージ)

NetWork

OS※1

ミドルウエア(データベース・言語)

アプリケーション

Iaas

8

AWS 物理サーバ領域

EC2の提供レベル

t2.small

m3.m

edium

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.1PrivateIP: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インスタンスに転送するかを決める。低負荷なインスタンスに転送する。

RoutingELBノードがどのAZのEC2インスタンスに転送するかの手法・Same-Zone Routing・Cross-Zone Routing

20

ELBのイメージ Same-Zone Routing

**el

b.**

**.e

lb.a

maz

ona

ws.

com

AWS Management Console

21

ELBのイメージ Cross-Zone Routing

**el

b.**

**.e

lb.a

maz

ona

ws.

com

22

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は急激なアクセスには対応できない。

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のみからリクエストを受けるように設定する必要がある。

80443

80443

80443

80443

32

33

Internet

34

35

36

項目名 内容

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を編集

39

終わり・・・。