Presentation Title Here

Similar documents
Presentation Title Here

PowerPoint プレゼンテーション

Presentation Title Here

プロダクト仕様書 SLB

AWS Deck Template

PowerPoint Presentation

Microsoft Word - 楽天㇯ㅩ㇦ㅛIaaSㇵㅼã…fiã‡¹ä»Łæ§Ÿ.doc

Presentation Title Here

ングにその条件をセットします そうすれば Amazon EC2 インスタンスが 2 つ未満になったことを検出すると 自動的に必要な数の EC2 インスタンスをオートスケーリンググループに追加します もう一つの例をあげましょう もしインスタンスのどれか一つのレイテンシーが 15 分間にわたって 4 秒

SIOS Protection Suite for Linux v9.3.2 AWS Direct Connect 接続クイックスタートガイド 2019 年 4 月


Elastic Load Balancing - Application Load Balancer

更新履歴 Document No. Date Comments 次 D JP 2017/05/01 初版 1. 概要 はじめに 情報源 A10 Lightning Application Delivery Service(ADS) 導 構成 動作概要 構築概要 2. 事

2. サービス仕様 2.1. 基本仕様 内容 システム構成 アクティブ / アクティブの冗長構成 ロードバランサーの構成は最小 2 台 ~ 最大 5 台となります FQDN のホスト名部分を任意の文字列で指定 ILB 名 半角英数字 (a~z,0~9) で 24 文字以内 ハイフン (-) は先頭お

Twitterで AWS Summitに参加しよう!

そこが知りたい!AWSクラウドのセキュリティ

よくある問題を解決する~ 5 分でそのままつかえるソリューション by AWS ソリューションズビルダチーム

R80.10_FireWall_Config_Guide_Rev1

リバースプロキシー(冗長構成)構築手順

PowerPoint Presentation

PowerPoint プレゼンテーション

サービス仕様 1. 提供機能一覧楽天クラウド IaaS では以下の機能をユーザに対し提供します 機能名 1 管理コンソール 2 仮想マシン 概要 ユーザが楽天クラウド IaaS の各機能を操作するための Web インターフェースです 以下の全ての機能を操作できます ユーザが占有でき

製品概要

PowerPoint Presentation

2

D. Amazon EC2 のインスタンスストアボリュームへ 1 時間ごとに DB のバックアップ取得を行うと共に Amazon S3 に 5 分ごとのトランザクションログを保管する 正解 = C 会社のマーケティング担当ディレクターから " 何気ない親切 " と思われる善行を目にしたら 80 文字

Elastic MapReduce bootcamp

Presentation Title Here

McAfee SaaS Protection 統合ガイド Microsoft Office 365 と Exchange Online の保護

Mobile Access簡易設定ガイド

_AWS-Blackbelt-Organizations

UNIVERGE SG3000 から SG3600 Ver.6.2(2012 年モデル ) への 移行手順 All Rights Reserved, Copyright(C) NEC Corporation 2017 年 11 月 4 版

Slide 1

Microsoft PowerPoint - AWS-RatesSystem-JP_ pptx

MIRACLE LoadBalancerを使用したネットワーク構成と注意点

CDNを最大限活用する為の ZenlogicCDN導入チェックリスト

2014 年電子情報通信学会総合大会ネットワークシステム B DNS ラウンドロビンと OpenFlow スイッチを用いた省電力法 Electric Power Reduc8on by DNS round- robin with OpenFlow switches 池田賢斗, 後藤滋樹

AWS 上でのサーバーレスアーキテクチャ 入 門 AWS Black Belt Online Seminar 2016 アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクト清 水崇之 , Amazon Web Services, Inc. or its Aff

WebEx を使用したリモート調査とは お客様のデスクトップ画面を共有し 障害調査を共同で実施するサービスです リモート調査は 精度の高い調査により 障害の早期解決を図るために実施します 対象の機器にアクセスできる中継端末をご用意頂く必要があります インターネット接続が可能な中継端末を経由して調査を

Getting Started with AWS Computing[Osaka_ ]

リバースプロキシー (シングル構成) 構築手順

SeciossLink クイックスタートガイド Office365 とのシングルサインオン設定編 2014 年 10 月株式会社セシオス 1

AWS Shield と AWS で構築するセキュアで柔軟性の高いアプリケーション

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料

利用約款別紙 SkyCDP for AWS 基本サービス仕様書 この仕様書は SkyCDP for AWS の基本サービスに関する内容 方法について記述したものです 尚 SkyCDP for AWS オプションサービスをご利用のお客様は各 SkyCDP for AWS オプションサービスのご契約内容

CloudEdgeあんしんプラス月次レポート解説書(1_0版) _docx

Office 365 とのドメイン間フェデレーション

目次 第 1 章 環境構築 システム概要 ロードバランサ ジーンコードサーバー コンテンツサーバー (PC サイトサーバー ) コンテンツサーバー (PC サイトサーバー ) DNS... 6

クラスタ構築手順書

Oracle DatabaseとIPv6 Statement of Direction

VPN 接続の設定

本製品に接続された端末の IPv6 情報が表示されます 端末に割り当てられた IPv6 アドレス IPv6 アドレスを取得した端末の MAC アドレスが確認できます 注意 : 本ページに情報が表示されるのは本製品が 上位から IPv6 アドレスを取得した場合のみとなります DDNSサービス :DDN

PowerPoint プレゼンテーション

Amazon Route53

次 はじめに ブラウザーサポート デフォルトのIPアドレスについて

PowerPoint Presentation

_BlackBelt_ApplicationAuthPatterns

metis ami サービス仕様書

_mokuji_2nd.indd

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

PowerPoint Presentation

クラウドネイティブにセキュリティを 活用する!API を連携して実装する方法



Mobile Access IPSec VPN設定ガイド

PowerPoint Presentation

1. 概要 この章では HDE Controller X LG Edition をお使いの方に向けて LGWAN 接続に特化した設定の説明をします HDE Controller X LG Edition 以外の製品をご利用のお客様はこの章で解説する機能をお使いになれませんのでご注意ください 452

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

1. サーバーの作成 本ガイドの Photon の構成は バランシングを行うフロントサーバーとして Master Server 用のサーバーを 1 つ 実際にゲームを動かすサーバーとして Game Server 用のサーバーを必要数作成します 本ガイドの構成例 GMO アプリクラウド ロードバランサ

1. サーバーの作成 本ガイドの Photon の構成は バランシングを行うフロントサーバーとして Master Server 用のサーバーを 1 つ 実際にゲームを動かすサーバーとして Game Server 用のサーバーを必要数作成します 本ガイドの構成例 GMO アプリクラウド ロードバランサ

目次 1. Azure Storage をインストールする Azure Storage のインストール Azure Storage のアンインストール Azure Storage を使う ストレージアカウントの登録... 7

SMTP ルーティングの設定

Agenda! Amazon Web Services (AWS)の 概 要! 大 規 模 分 散 システム AWS の 使 い 方 Asynchronous IO Retries with Exponential Backoff Idempotency Eventual Consistency!

AWS Deck Template

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

Web GIS Template Uploader 利用ガイド

Oracle DatabaseとIPv6 Statement of Direction

9 WEB監視

シナリオ:DMZ の設定

Juniper Networks Corporate PowerPoint Template

PowerPoint Presentation

Presentation Title Here

IIS8でのクライアント証明書の設定方法

タイトルを1~2行で入力 (長文の場合はフォントサイズを縮小)

Packet Tracer: 拡張 ACL の設定 : シナリオ 1 トポロジ アドレステーブル R1 デバイスインターフェイス IP アドレスサブネットマスクデフォルトゲートウェイ G0/ N/A G0/

Microsoft Word - AWSBlueprint final.docx

目次 1. はじめに SSL 通信を使用する上での課題 SSL アクセラレーターによる解決 SSL アクセラレーターの導入例 SSL アクセラレーターの効果... 6 富士通の SSL アクセラレーター装置のラインナップ... 8

Office 365 管理者マニュアル

DigiCert SSL/TLS 証明書 Microsoft IIS 8.0/8.5 証明書コピー/サーバー移行手順書

Confidential

10年オンプレで運用したmixiをAWSに移行した10の理由

V.O.Anywhere ご利用の手引き ~ macOS編 ~

Amazon Web Services 向け先進のセキュリティ! Amazon パブリック クラウド用仮想アプライアンス Public Cloud チェック ポイントの Software Blade が Amazon Public Cloud 上で展開可能となりました 2014 Check Poin

Symantec Endpoint Protection 12.1 の管理練習問題 例題 1. 管理外検出でネットワーク上のシステムを識別するとき 次のどのプロトコルが使用されますか a. ICMP b. TCP c. ARP a. UDP 2. ある管理者が Symantec Endpoint P

ロイロノートスクールクラウド版表 クラウド サービス利 弊社が 意しているクラウドサービスへ接続し利 するシンプルなプランです サービスだけで利 することができます プラン 保存可能な容量 / ユーザー 額の場合 / ユーザー 年額の場合 / ユーザー 共 タブレット向け 1 0.8GB 40 円

ExamTorrent Best exam torrent, excellent test torrent, valid exam dumps are here waiting for you

ESET Smart Security 7 リリースノート

FUJITSU Cloud Service for OSS 認証サービス サービス仕様書

McAfee Web Gateway Cloud Service インストール ガイド

アジェンダ はクラウド上でも十分使えます 1. の概要 とは の導入事例 で利用される構成 2. をクラウドで使う クラウドサービスの分類 Amazon Web Services による構成例 2

プロキシ・ファイアウォール       通信許可対象サーバリスト

Transcription:

AWS Black Belt Online Seminar Elastic Load Balancing (ELB) アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 辻 正史 2016.10.12 1

AWS Black Belt Online Seminar とは AWSJのTechメンバがAWSに関する様々な事を紹介するオンラインセミナーです 火曜 12:00~13:00 主にAWSのソリューションや 業界カットでの使いどころなどを紹介 (例 IoT 金融業界向け etc.) 水曜 18:00~19:00 主にAWSサービスの紹介や アップデートの解説 (例 EC2 RDS Lambda etc.) 最新の情報は下記をご確認下さい オンラインセミナーのスケジュール&申し込みサイト 2 http://aws.amazon.com/jp/about-aws/events/#webinar

内容についての注意点 本資料では2016年10月12日時点のサービス内容および価格についてご説明しています 最新の情報は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. 3

Agenda ALBリリースと従来のELB ELBの基本 各種機能 ELBの機能 CLBの機能 ALBの機能 ELBと各種サービスの連携 ELB負荷試験時のTips まとめ 4

5 ALB リリースと従来の ELB

AWS Summit New York 2016 - Keynote Werner Vogels が Application Load Balancer を発表!! https://www.youtube.com/watch?v=b7yqd7z1rbq 6

Application Load Balancer (ALB) レイヤー7のコンテントベースのロードバランサー ユーザー 特徴 mylb-xxx.elb.amazonaws.com ALB (https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/) レイヤー7のコンテントベースで ターゲットグループに対してルーティング コンテナベースのアプリケーションのサポート WebSocket と HTTP/2 のサポート 複数のアベイラビリティゾーンに跨って 高レベルの 耐障害性を実現 ALB自体が自動的にキャパシティを増減 価格体系 EC2 EC2 ターゲットグループ アベイラビリティ ゾーン a 7 EC2 ターゲットグループ アベイラビリティ ゾーン b (https://aws.amazon.com/jp/elasticloadbalancing/applicationloadbalancer/pricing/) ALBの起動時間 Load Balancer Capacity Units (LCU)の使用量

従来の ELB の位置づけ Elastic Load Balancing ELB L4 および一部 L7 機能を提供する ロードバランサ Elastic Load Balancing ELB 意味として ALB/CLB を含んだ総称 Application Load Balancer ALB アプリケーションロードバランサ L7 のコンテントベースのロードバランサ 名称変更 Classic Load Balancer CLB 標準ロードバランサ L4 および一部 L7 機能を提供するロードバランサ 8

9 ELB の基本

Elaastic Load Balancing (ELB) とは AWSクラウド上のロードバランシングサービス ELBで実現できるシステム スケーラブル : 複数のEC2インスタンス/ECS Service に負荷分散 高い可用性 : 複数のアベイラビリティゾーンにある複数のEC2インスタンス ECS Service の中から正常なターゲットにのみ振り分け ELB自体の特徴 10 スケーラブル 安価な従量課金 運用管理が楽 豊富な連携機能 : : : : ELB自体も負荷に応じてキャパシティを自動増減 従量課金で利用可能 マネージドサービスなので管理が不要 Auto Scaling, Route 53, Cloud Formation などと連携

ELBの使い方イメージ Application Load Balancer ALB ユーザー Classic Load Balancer ユーザー mylb-xxx.elb.amazonaws.com mylb-xxx.elb.amazonaws.com ALB EC2 EC2 ターゲットグループ アベイラビリティ ゾーン a 11 CLB EC2 ターゲットグループ アベイラビリティ ゾーン b CLB EC2 アベイラビリティ ゾーン a EC2 アベイラビリティ ゾーン b

負荷分散してスケーラブルなシステムを バックエンドのEC2インスタンスのリクエスト数やコネクション数が 均等になるよう負荷分散 新サーバ追加 接続が少ない新インスタンスに 新しい接続を振り分ける 過負荷 過負荷 12

ELB自体もスケーラブル ELB自体も負荷の増減に応じて自動でスケール キャパシティが自動で増加する [注意] ELBがスケールするときには IPアドレスが変化します ELBへアクセスするときには必ずDNS名で DNSに登録することで独自ドメインでのアクセスも可能 13

複数アベイラビリティゾーン(AZ)に分散 2段階で負荷分散 1) DNSラウンドロビンで各AZ内のELBに振り分け 2) 負荷が均等になるようにバックエンドのEC2に振り分け DNS ラウンドロビンで 振り分け AZ - a mylb-xxx.elb.amazonaws.com AZ - b 14 ELB 負荷分散

ヘルスチェック ELBは指定した設定に基づき バックエンドの インスタンスのヘルスチェックを行う Pingプロトコル 例 HTTP (200番が返るのを確認 Pingポート 例 80番 Pingパス HTTP/S利用時 例 /index.html タイムアウト時間 例 20秒 ヘルスチェック間隔 例 30秒 異常判定までの回数 例 4回 正常判定までの回数 例 2回 正常との判定が遅いと追加したインスタンスが 使えるまでに時間がかかる 逆に異常との判定が厳しすぎても 過負荷時に処理できるインスタンスを減らしてしまうことにも 15

安価な従量課金 時間当たりの利用料は 複数AZ配置構成でも同じ ELBにリザーブドプランはなし 処理量の課金は 合計処理量 CLB Load Balancer Capacity Units (LCU) ALB 16

17 各種機能

ELBの機能 ELB利用時のTips 18 独自ドメイン名で利用 クライアントのIPアドレス取得 AZとバックエンドキャパシティの関係 ELBとバックエンドとのコネクション SSLサポート スティッキー セッション Connection Draining アクセスログのS3保管 ELB自身のスケーリング VPCでの利用 ELBとSecurity Group

独自ドメイン名で利用 Route 53以外のDNSを使用する場合はCNAMEで登録 www.example.com CNAME mylb-xxxx.ap-northeast-1.elb.amazonaws.com Route 53を使用する場合は Route 53エイリアスレコードで登録 CNAMEでの登録も可能 Zone Apex (www.exapmple.com ではなく example.com を指定) の場合 通常のDNSサーバではCNAME設定不可 Route 53のエイリアスレコードを 使うことで実現可能 19

クライアントのIPアドレス取得 バックエンドサーバへの接続は ソースIPアドレスがELBのIPアドレスとなる クライアント ELB, ELB バックエンドの接続はそれぞれ独立しているため アクセスログにはELBのIPアドレスが記録される HTTP/HTTPSならHTTPヘッダ上のX-Forwarded-Forで参照可 利用例 - アクセスログにクライアントのIPアドレスを記録 - IPアドレスによるアクセス制限 経由するルート 送信元 X-Forwarded-For: 203.0.113.7, 10.12.33.44, 10.12.23.88 Client IP address 20

AZとバックエンドキャパシティの関係 リージョン内の複数AZに負荷分散可能 複数リージョンへの分散にはRoute 53を併用できる 各EC2インスタンスのタイプは同じに AZごとのEC2インスタンス数はできれば均等に クロスゾーン負荷分散でAZ間を越えて負荷を均等にできる 良くない例 AZ間でキャパシティが不均等 50% 2台 もう一方より 負荷が高くなる クロスゾーン負荷分散が有効であれば 50% AZ-a AZ-a 50% 3台 AZ-b 21 2台 負荷を基に 均等に 50% 3台 AZ-b

ELBのコネクションタイムアウト 無通信状態が続くとそのコネクションを自動で切断する デフォルトではコネクションタイムアウト値は60秒 コネクションタイムアウト値を変更可能 1~3600秒の間で自由に設定可能 22

ELB自体のスケーリング ELBは負荷に応じて自動でスケールする 但し ELBへの接続 リクエストが瞬間的に急増したために ELBのス ケーリングが間に合わない場合 HTTP 503を返す 新サービス開始 TVやメディアによるサービス紹介 負荷テスト 等 回避方法は事前にELBをスケールさせておく Pre-Warming 暖機運転 の申請を行う Business/Enterpriseサポート要 負荷を段階的にかける 23 参照 http://d36cz9buwru1tt.cloudfront.net/jp/documentation/bestpracticesinevaluatingelbja-final.pdf

VPCでの利用 ELBを配置するサブネットをAZごとに1つ指定 サブネットは最小 /27 CIDRブロックで 8個以上の空きIPが必要 ELBサブネット Webサブネッ ト AZ - a mylb-xxx.elb.amazonaws.com AZ - b 24

Internet-Facing ELB / Internal ELB Internet-Facing ELB インターネットからアクセスできるELB Internet-Facing ELB Internal ELB VPC内やオンプレミス環境からのみ アクセスできればよいELB プライベートサブネットにも配置できる Webサーバ Internal ELB APサーバ どちらのELBもDNSレコードはパブリックで解決可能 25

ELBとSecurity Group ELBに任意のSecurity Groupを指定可能 ICMP Echo Request/Replyを許可 すれば ELBがpingにも応答 バックエンドのEC2インスタンスは ELBからのみリクエストを 受け付ける設定を推奨 sg-ec2 80: sg-elb 22:10.0.0.0/24 80 443 sg-elb 443: 0.0.0.0/0 26 80 80 80 22

ELBの機能 ELB利用時のTips 27 独自ドメイン名で利用 クライアントのIPアドレス取得 AZとバックエンドキャパシティの関係 ELBとバックエンドとのコネクション SSLサポート スティッキー セッション Connection Draining アクセスログのS3保管 ELB自身のスケーリング VPCでの利用 ELBとSecurity Group

SSLサポート ELBでSSL Terminationできる a) ELBでSSL Terminationし バックエンドとはSSLなし バックエンドのEC2インスタンスでSSL処理せずに済むため 負荷をオフロードできる b) ELBでSSL Terminationし バックエンドとは別途SSL c) SSLをバイパスしてバックエンドにTCPで送信 CLB クライアント証明書認証などを利用するためにはTCPとして扱う 28 a) HTTPS HTTP b) HTTPS / SSL HTTPS / SSL c) TCP TCP

HTTPS/SSL利用時のサーバ証明書 ELBにサーバ証明書をアップロード HTTPS/SSL利用にはサーバ証明書のアップロードが必須 AWS Certificate Manager との統合 複数ホスト名には別名 ワイルドカードか複数ELBで対応 SNI未対応 バックエンドとの通信にSSLを用いないなら証明書の管理が容易 マネージメントコンソール or CLI or IAM APIで設定 サーバ証明書 29 SSL証明書のライセンスに関し ては サーバ単位/ドメイン単位 で発行などそれぞれ異なるので 発行元に問い合わせの事

SSLのセキュリティ強化 TLS 1.1, 1.2のサポート Perfect Forward Secrecy (PFS) のサポート Server Order Preference 新しい定義済みのセキュリティポリシー 新しく作ったELBではELBSecurity-Policy-2015-03がデフォルト 既存のELBには互換性確認の上 ELBSecurity-Policy-2015-03 の適用を 30

ELBの機能 ELB利用時のTips 31 独自ドメイン名で利用 クライアントのIPアドレス取得 AZとバックエンドキャパシティの関係 ELBとバックエンドとのコネクション SSLサポート スティッキー セッション Connection Draining アクセスログのS3保管 ELB自身のスケーリング VPCでの利用 ELBとSecurity Group

スティッキー セッション (stickness) 同じユーザから来たリクエストを全て同じEC2インスタンスに送信 デフォルトで無効 利用するためには有効に アプリケーションでのセッション情報 一時ファイルなどを EC2インスタンスが保持する構成の場合に必要 HTTP/HTTPSでのみ利用可能 ELBは独自のセッションCookieを挿入 EC2インスタンスの増減を柔軟にできるように セッション情報などは別のDBサーバやキャッ シュサーバに持たせるのが望ましい この場合スティッキー セッションは不要 32

スティッキー セッションの有効期間 有効期間の制御方法は以下2パターン Application Generated Cookie Stickiness アプリケーション制御 CLB アプリケーションが作成したCookieにあわせる アプリケーションが作成するCookie名を指定 Cookieの有効パスもあわせる Load Balancer Generated Cookie Stickiness 期間ベース セッション開始からの有効期間を指定してELBで制御 秒単位で指定 無期限にする事も可 無期限でもブラウザを閉じれば終了 33

ELBの機能 ELB利用時のTips 34 独自ドメイン名で利用 クライアントのIPアドレス取得 AZとバックエンドキャパシティの関係 ELBとバックエンドとのコネクション SSLサポート スティッキー セッション Connection Draining アクセスログのS3保管 ELB自身のスケーリング VPCでの利用 ELBとSecurity Group

Connection Draining バックエンドのEC2インスタンスをELBから登録解除したり ヘルスチェッ クが失敗した時に 新規割り振りは中止して 処理中のリクエストは終わる まで一定期間待つ 新しく作成したELBではデフォルトで有効 タイムアウト 300秒 タイムアウト最大 3600秒 Connection Draining 動作中 Management Consoleではインスタンスの表示が消える CLB ターゲットグループの状態が draining に変化 ALB API/SDK/CLIでは状況がわかる 35

登録解除時のAWS CLIでの表示 $ aws elb describe-instance-health --load-balancer-name (ELB Name) { "InstanceStates": [ { "InstanceId": "i-xxxxxxxx", "ReasonCode": "N/A", "State": "InService", "Description": N/A } State Description ] InService N/A 正常時 } 36 Connection Draining 動作中 InService Instance deregistration currently in progress. 全接続終了後 or タイムアウト後 OutOfService Instance is not currently registered with the LoadBalancer.

ELBの機能 ELB利用時のTips 37 独自ドメイン名で利用 クライアントのIPアドレス取得 AZとバックエンドキャパシティの関係 ELBとバックエンドとのコネクション SSLサポート スティッキー セッション Connection Draining アクセスログのS3保管 ELB自身のスケーリング VPCでの利用 ELBとSecurity Group

アクセスログのS3保管 ELBのアクセスログを指定したS3に自動保管 簡単にログのS3保管が実現できる ログに含まれる項目の例 timestamp elb_status_code backend_status_code CLB target_status_code ALB received_bytes sent_bytes 38 request user_agent ssl_cipher ssl_protocol

CLBの機能 TCP/SSL プロトコルによる負荷分散 バックエンドインスタンスのサーバ証明書認証 39

TCP/SSL プロトコルによる負荷分散 CLB は HTTP/HTTPS に加えて TCP/SSL セキュアTCP による 負荷分散が可能 TCPのポートは 1 65535 Proxy Protocol による発信元IPアドレスの識別 40 CLB

CLBの機能 TCP/SSL プロトコルによる負荷分散 バックエンドインスタンスのサーバ証明書認証 41

バックエンドインスタンスのサーバ証明書認証 ELBとバックエンドのEC2インスタンス間でHTTPS/SSL使用時に 特定の証明書を使用しているかどうかバックエンドを認証 42 CLB

ALBの機能 コンテントベースルーティング 複数ポート対応と動的ポートマッピング その他のアップデート 43

ALBの機能 コンテントベースルーティング 複数ポート対応と動的ポートマッピング その他のアップデート 44

CLB によるコンテントベースルーティング CLB のバックエンドインスタンスは 全て同一の機能を 持ったインスタンスが必要であり 異なる機能に対してコ ンテントベースルーティングは出来ない 代替策として主に次の方式が利用されている サブドメインによるセグメンテーション Nginx によるセグメンテーション 45 CLB

サブドメインによるセグメンテーション方式 products.example.com CLB 46 CLB products 機能 products 機能 order.example.com order 機能 CLB order 機能 アプリケーションを複数の サブ機能 サービス に分 割する場合 従来は複数の ELB を利用しサブドメイ ンで Endpoint の分割を 行う等が必要

Nginx によるセグメンテーション方式 products 機能 Nginx Proxy www.example.com パスによる ルーティング CLB Internal CLB products 機能 order 機能 Nginx Proxy CLB Internal 47 order 機能 CLB

ALB によるコンテントベースルーティング 単一のロードバランサーで異なるアプリケーションへ リクエストをルーティング可能 EC2インスタンスはターゲットグループに登録され ルールに従いリクエストをターゲットグループに ルーティング ターゲットグループ内で負荷分散 48 ALB

ALB によるコンテントベースルーティング ALB http://www.example.com/products products 機能 パス部分のパターンでターゲットグループに 振り分ける /products products 機能 www.example.com ALB を利用することで 一つの ALB の背後に 複数の機能 サービス を 提供することが可能 order 機能 /order order 機能 ターゲットグループ 49

ALBの機能 コンテントベースルーティング 複数ポート対応と動的ポートマッピング その他のアップデート 50

コンテナ化されたアプリケーションの制限 CLB コンテナ化されたアプリケーションは 1つのサーバー上で アプリケーションごとに特定のポートを使ってサービスを提供 ポートを分けることで 1つのEC2インスタンス上で 同じア プリケーションを複数実行 これまでのELBでは コンテナ化されたアプリの利用に制限が あった リスナーポートとアプリケーションが1対1でマッピング 個々のアプリケーションが使うポートを管理する必要性 EC2インスタンス毎に1タスクにしか負荷分散できず ECS クラスタの利用効率性が低い 51

コンテナ化されたアプリケーションの制限 CLB インスタンス A インスタンス A Port 80 Port 80 タスクA タスクA インスタンス B CLB Port 100 タスクA CLB Port 80 52 タスクA

複数ポートと動的ポートマッピング ALB EC2インスタンスをターゲットグループに割り当てる際 複数 のポートを個別のターゲットとして登録することが可能 1つのEC2インスタンスに対して 複数ポートで負荷分散が可能 ECSのServiceは タスクがEC2上でスケジュールされる時点で 未使用のポートを選択 ECSのServiceは 自動的にそのポートでタスクをロードバラン サに登録 53

複数ポートと動的ポートマッピング ターゲットグループ インスタンス A Port 80 インスタンス A ALB Port 100 個別のターゲットとして ターゲットグループに登録 タスクA 異なるポートにバランス可能 タスクA インスタンス A Port 80 タスクA Port 100 タスクA Port 120 タスクA 動的に追加可能 54 ALB

ALB のコンテナベースアプリケーション対応 ALB EC2 EC2 55 Task Task ECS Container Task Task ECS Container ターゲットグループはECS コンテナをサポート ロードバランサーのバック エンドで EC2とECSコン テナの混在も可能 ターゲットグループ

ALBの機能 コンテントベースルーティング 複数ポート対応と動的ポートマッピング その他のアップデート 56

プロトコルの追加サポートとメトリクスの改善 Websocket WebSocket は株価やスポーツの得点などページ内の動的な データを配信するのに利用可能 HTTP/2 HTTP 1.1プロトコルから多数の改善が行われ 1つのコネク ションで上で複数のリクエストをサポート メトリクスの改善 ヘルスチェックをポートベースで実施し 許容するHTTPのレ スポンスのレンジを指定でき 詳細なエラーコードも含まれる 57 ALB

ALB のリソース 58 ロードバランサー ロードバランサーを表す最上位のリ ソース (CLBでは唯一のリソース) リスナー LB側の他の接続設定と同様に ロードバラン サでListenするポートとプロトコルを含む ターゲットグループ EC2インスタンスなどのターゲッ トの集合 インスタンス側の設定として インスタンス で公開するポート プロトコル 設定を含む ターゲット ロードバランサーがトラフィックを転送す るリソースやエンドポイント ルール リクエストがどのように転送されるかを条件と アクションで定義 パスベースの条件で リクエストを 転送するアクションがサポートされる ALB

ALB のリソース ALB ルール リスナー products 機能 ターゲットグループ /products products 機能 HTTP:80 ターゲット HTTPS:443 order 機能 /order order 機能 59

料金 ALB ALB の使用時間と Load Balancer Capacity Units LCU の使用量で課金 $0.0225/時間 $0.008/LCU/時間 時間単価はCLBより 10% 安価 60

Load Balancer Capacity Units LCU 以下の 3 つのディメンションを測定し 使用量が最も高い ディメンションのみ請求 新規接続数: 1 秒あたりの新しく確立された接続数 アクティブ接続数: 1 分あたりのアクティブ接続数 帯域幅: ロードバランサーで処理されたトラフィック量 Mbps 1 LCU には次のものが含まれる 2 KBの証明書の場合 1 秒あたり最大 25 個の新規接続 4 KBの証明書の場合 1 秒あたり最大 5 個の新規接続 1 分あたり最大 3000 個のアクティブ接続 最大 2.22 Mbps の帯域幅 61 ALB

移行ツール ALB 既存のクラシックロードバランサと同じ設定で 新しいアプリケーションロードバランサを作成可能 Classic load balancer to Application load balancer copy utility https://github.com/aws/elastic-load-balancing-tools 62

63 ELB と各種サービスの連携

Auto Scalingとの連携 Auto Scalingによるインスタンス増減時にELBへの追加 削除が可能 ELBのヘルスチェックの結果をAuto Scalingに反映可能 インスタンス削減時は Connection Drainingでの処理中の接続を待つ 利用例 一定間隔でレスポンスをチェックし 遅延が増加したらインスタンスを 自動追加 ELBのヘルスチェックが成功したEC2インスタンスを常にX台以上 増減 Auto scaling Group 64

EC2 Container Service(ECS)のALB対応 ALBによりECSのコンテナを またがった負荷分散が可能 EC2インスタンス1 Task 8080 80 Container1 9080 80 Container2 EC2インスタンス2 xxx.elb.amazonaws.com:80 Task ターゲットグループ 65 参照 https://aws.amazon.com/jp/ecs/ 8080 80 Container1 9080 80 Container2 ALB

AWS Certificate Manager との統合 AWS Certificate Manager(ACM)を使用して 証明書のリクエストと管理 を容易に実施 無料で利用可能 ELB Amazon CloudFront に対し ELB に対する証明書の設定を数クリックで完了 SSL/TLS証明書 HTTPS HTTP 66 参照 https://aws.amazon.com/jp/certificate-manager/

CloudWatchとの連携 CloudWatchによりELBの以下のメトリクスを1分単位で監視可能 67 正常なバックエンドのホスト数 (HealthyHostCount) 異常なバックエンドのホスト数 (UnHealthyHostCount) リクエスト数 (RequestCount) 監視 遅延時間 (Lantency) ELBが返した4xx,5xxのレスポンス数 (HTTPCode_ELB_4xx) バックエンドが返した2xx,3xx,4xx,5xxレスポンス数 (HTTPCode_Backend_2xxx) バックエンドへの接続エラー回数 (BackendConnectionError) バックエンドへの送信保留中の件数 (SurgeQueueLength) キュー溢れのため拒否した件数 (SpilloverCount)

Route 53 DNSフェイルオーバ対応 Route 53のヘルスチェック機能とELBが連携 例 アプリケーション障害時にSorryページヘ誘導 3. ELB配下に正常なEC2 インスタンスなし 正常時 フェイルオーバ時 5. Sorry ページ 4. フェイルオーバ 2. AppサーバのELB ヘルスチェック失敗 S3 Bucket 1. DBに問題発生 68

OpsWorksのELB対応 OpsWorksでELBをレイヤーにアタッチして 負荷分散が可能 ①スタックの作成 ②レイヤーの作成 スタック ELBを追加可能 ③レシピの作成 設定 ビルトイン レシピ利用可 ④レイヤーにインスタ ンス追加 起動 App Serverレイヤー レシピ ⑤レシピによって パッケージインス トール 設定 Databaseレイヤー レシピ User 69 Web /App Web /App DB AWS Management Console 参照 http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/layers-elb.html

AWS Trusted AdvisorによるELBのチェック ELBのセキュリティとフォールトトレランスを チェック ELBリスナーのセキュリティ ELBセキュリティグループ ELBクロスゾーン負荷分散 ELB Connection Draining ELBリスナーのセキュリティの例 70 参照 http://aws.typepad.com/aws_japan/2015/03/new-elastic-load-balancer-checks-for-awstrusted-advisor.html

71 ELB 負荷テストに関する Tips

ELBを負荷テストする必要性について ELBのいくつかの特長がテストシナリオに影響を与える可能性がある ELB のスケーリング ELB の初期キャパシティ アイドル時のコネクションタイムアウト バックエンドインスタンスのヘルスチェック Sticky セッション 等 利用状況に合わせたシナリオでテストが必要 72

ELBの負荷テスト方法の種類 シングルクライアントテスト 負荷生成 クライアント バックエンド インスタンス 例 Apache Bench(ab) マルチクライアントテスト 例 curl-loader (都度DNS解決を行うツールが望ましい) 分散テスト 例 Fabricフレームワーク BeesWithMachineGuns クライアントの負荷が足りない場合はクライアント数を増やす等で対応可 73

推奨テストアプローチ 想定する最大負荷のテスト 通常のトラフィック時のテスト 負 荷 トラフィックの多い時 時間 トラフィックの少ない時 トラフィックの傾向に変化がある時 朝や昼の時間帯など 短い時間でトラフィックが大きく変化する場合のテスト ELB以外にも負荷生成クライアント バックエンドEC2インスタンスも 監視すべき アプリケーション内部の動作も要確認 どこかボトルネックになっているか把握しておく 74

負荷テストの注意事項 ELBの初期スケールに注意 スケールするまでに HTTP 503レスポンスを返す期間があり得る 回避策 ELBの暖気運転 Pre-Warming 申請をする 5分間隔で50%以上のトラフィック増加をしないよう負荷テストを設定 DNSクエリの仕方に注意 テストクライアント側で少なくとも1分に1回DNSの再解決をする スティッキーセッション利用時の割り振り方 同じCookieでリクエストを続けた場合などは振り分けに偏りが発生 バックエンドインスタンスのアイドルタイムアウト ELBのタイムアウト値以上に設定しないとELBが誤って不健全なホストと見なす可能性 あり 75 詳細 http://d36cz9buwru1tt.cloudfront.net/jp/documentation/bestpracticesinevaluatingelb-ja-final.pdf

76 まとめ

CLBとALBの機能比較 機能 Classic Load Balancer Application Load Balancer HTTP HTTPS TCP SSL EC2-Classic EC2-VPC HTTP HTTPS EC2-VPC スティッキーセッション (Cookie) ロードバランサーが生成したCookie バックエンドサーバー認証 バックエンドサーバー暗号化 アイドル接続のタイムアウト コネクションドレイニング クロスゾーン負荷分散 常に有効 ヘルスチェックする間隔を秒で入力します 向上 CloudWatch メトリックス アクセスログ パスベースのルーティング 単一のインスタンスで複数のポートにルーティング 向上 向上 プロトコル プラットフォーム HTTP/2 サポート Websockets サポート ロードバランサーの削除の保護 77 ALBではクロスゾーン負荷分散は常に有効 ALBでは ヘルスチェックでHealthyとみなすHTTPレスポンスコードを設定可能 ALBではヘルスチェック失敗の情報提供を改善

まとめ ELBはAWSが提供するロードバランシングサービス 運用管理コストを抑えながら スケーラブルで高可用なインフラを構築可能 L7 の負荷分散は ALB を利用 各種サービスとの連携もスムーズ 随時拡充 負荷試験時はその特性を理解した上で実施 急激な負荷の増大が想定される場合には サポート加入の上で暖機申請 Pre-Warming 78

参考資料 Elastic Load Balancing ユーザーガイド http://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/userguide/what-is-loadbalancing.html Elastic Load Balancing アプリケーションロードバランサ http://docs.aws.amazon.com/elasticloadbalancing/latest/application/ Elastic Load Balancing クラシックロードバランサ http://docs.aws.amazon.com/elasticloadbalancing/latest/classic / FAQ https://aws.amazon.com/jp/elasticloadbalancing/applicationloadbalancer/faqs/ https://aws.amazon.com/jp/elasticloadbalancing/classicloadbalancer/faqs/ 料金 https://aws.amazon.com/jp/elasticloadbalancing/classicloadbalancer/pricing/ https://aws.amazon.com/jp/elasticloadbalancing/applicationloadbalancer/pricing/ 79

Q&A 80

オンラインセミナー資料の配置場所 AWS クラウドサービス活用資料集 http://aws.amazon.com/jp/aws-jp-introduction/ AWS Solutions Architect ブログ 最新の情報 セミナー中のQ&A等が掲載されています http://aws.typepad.com/sajp/ 81

公式Twitter/Facebook AWSの最新情報をお届けします 検索 @awscloud_jp もしくは http://on.fb.me/1vr8ywm 最新技術情報 イベント情報 お役立ち情報 お得なキャンペーン情報などを日々更新しています 82

AWSの導入 お問い合わせのご相談 AWSクラウド導入に関するご質問 お見積り 資料請求を ご希望のお客様は以下のリンクよりお気軽にご相談ください https://aws.amazon.com/jp/contact-us/aws-sales/ AWS 問い合わせ で検索してください 83

ご参加ありがとうございました 84

85

Appendix

ELB Updates Application Load Balancer のリリース AWS Certificate Manager のサポート 停止および再起動したバックエンドインスタンスの自動再登録をサポート 全ポートに対する負荷分散とアクセスログへのフィールドの追加 EC2 Container ServiceのELB対応 AWS Trusted AdvisorによるELBチェック項目の追加 ELBのタグ対応 ELBのコネクションタイムアウト変更 CloudTrail対象に追加 接続のストリーミング アクセスログのS3保管 SSLサポート強化 Perfect Forward Secrecy(PFS) Server Order Preference ELBSecurityPolicy-2014-01ポリシー追加 2013.11 クロスゾーン負荷分散 2013.10 CloudWatchのメトリック追加 BackendConnectionError SurgeQueueLength SpilloverCount 2014.7 Proxy Protocol 2013.5 全てのHTTPメソッド対応 2013.5 Route 53のフェールオーバ連携 2012.6 Internal ELB 2016.8 2016.1 2015.12 2015.9 2015.4 2015.3 2014.8 2014.7 2014.4 2014.3 2014.3 2014.2