aws edge サービス入門
TRANSCRIPT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Solutions Architect
Takechika Kunimasa
AWS の Edge サービス入門
自己紹介
My Name国政 丈力 – Takechika Kunimasa
My Roleソリューションアーキテクト
My Clientsエンタープライズのお客様を担当、主に流通&サービス
My Favorite AWS ServicesVPC, Route 53, CloudFront, WorkSpaces
想定するオーディエンス
• Webサイトの高速化やセキュリティ対策に関心がある
• 基本的なWeb技術を理解している
• URL、HTTP/HTTPS、リクエスト/レスポンス、DNS、DDoS攻撃 等
セッションの目的
• AWSのEdgeサービスとは何か、概要とメリットが理解できる
• Edgeサービスをどのようなシステムに活用できるか理解できる
想定するオーディエンス と セッションの目的
• AWS の Edgeサービス
• Web アクセスの仕組みと課題
• Amazon CloudFront
• AWS WAF
• まとめ
Agenda
AmazonCloudFront
AWS WAF
AWS の Edge サービス
AWS の EdgeサービスAWSのエッジロケーションから提供されるサービス群ユーザーが最初にアクセスするサービスをユーザーに近い場所から提供
AWS RegionEdge Location
AWS WAF(WAF)
AmazonRoute 53
(DNS)
AmazonCloudFront
(CDN)
AWS Shield(DDoS対策)
AmazonEC2
AmazonVPC
AmazonRDS
AmazonS3
Internet
ユーザー
North AmericaCities: 19PoPs: 29
South AmericaCities: 2PoPs: 3
Europe / Middle East / Africa
Cities: 15PoPs: 24
CloudFront リージョナルエッジキャッシュ
Regional Edge Caches: 11
Edge Location
AWS Region / Regional Edge Cache
Regional Edge Cache
Asia PacificCities: 12PoPs: 21
77 Edge Locations
エッジロケーションユーザーに少ない待ち時間でサービスを提供するためグローバルに多くのエッジロケーションを配置
Web アクセスの仕組みと課題
Internet
Webアクセスの仕組み
Web Browser⑤IPアドレスへHTTPリクエスト
ブラウザからURLを指定してアクセス要求、名前解決を行い、インターネット経由でWebサーバーに接続しコンテンツを取得、ブラウザでレンダリングして表示
②ドメイン名問い合わせ
Web Server
DNS Server
①ブラウザでURLへアクセスを要求
③DNS名前解決
⑥Web Serverからレスポンスコンテンツ取得⑦コンテンツをブラウザで
レンダリングして表示
④対応するIPアドレスを応答
インターネットの仕組み
インターネットの内側はとても複雑
インターネットは、個別の組織によって管理されたネットワークを複数相互に接続することで実現されている
PC
Web Server
Cars
Devices モバイル
Data Center
Cloud
The Internet
• ネットワークのネットワーク (Inter-network)
• ISP同士がピアリングやトランジットにより接続。ISP毎のネットワークの品質 ※ は様々
• 宛先までの経路は時々の状況により変化、品質は常に一定ではない
• 特に、距離の離れた通信は遅延の影響を受けやすい
• 誰からでもアクセスできる
• 同じプロトコル(IP)でアクセスでき、誰からでも情報がやり取りできることが、インターネットの大きなメリット
• 逆に言うと、誰からでも攻撃される可能性があるということ
• 最近はアプリ脆弱性をついた攻撃、DDoS攻撃も多い
インターネットの仕組み高品質な通信の確保とセキュリティ脅威からの保護が課題
※品質とは、遅延、スループット、損失率などを表す
大規模なWebサイトでの課題
• レスポンスの遅延、不安定なレスポンス
• 大量アクセスへの対応
• アプリのセキュリティ対策
• DDoS 攻撃の対策
インターネット経由で大規模なWebサイトを利用する場合は、レスポンス、キャパシティ、アプリセキュリティ、DDoS対策が課題
レスポンスの遅延、不安定なレスポンス
• ネットワーク遅延は、(物理的、ネットワーク的な)距離に依存
• コンテンツの元サーバー(オリジン)が遠いと、応答に時間がかかる
• 応答時間の多くが、ネットワーク転送の待ち時間を占める場合も
インターネット経由でのアクセスにおけるネットワーク遅延の影響
WebServer
Client
大量アクセスへの対応
• Webコンテンツには、あまり変化しない静的なデータが多く含まれる(画像・動画、CSS、javascript 等のファイル)
• 同じデータを何度も取得するのは、ネットワーク帯域、サーバーリソースの無駄な消費
大量のアクセスをさばくためには、不要なトラフィックをオリジンに到達させない効率的な仕組みが必要
動的コンテンツ
画像
動画
User InputSSL
CSSJavascript
HTML
アプリケーションのセキュリティ対策
• アプリケーション脆弱性のスキャン: 攻撃を仕掛けるターゲットを見極める
• アプリケーション脆弱性をついた攻撃: SQLインジェクション、クロスサイトスクリプティング等
• アプリケーションに対するDDoS攻撃: 一見適切だが悪意のある要求でアプリリソースを枯渇させる (HTTP GET、DNSクエリフラッド)
社会的信用の失墜、サイト閉鎖による機会損失などを防ぐためWebアプリケーションへの攻撃に対する対策が必要
Web Server Database攻撃者
攻撃コードの実行
脆弱性スキャン
アプリへのDDoS攻撃
DDoS (Denial of Service) 攻撃の対策
• Volumetric DDoS attacks: 大量パケットでネットワークを輻輳させる
• State exhaustion DDoS attacks: ファイヤウォール、ロードバランサなど状態を管理するデバイスに負荷をかける
• Application layer DDoS attacks: アプリケーションリソースを枯渇させる
サービスの可用性を確保するためDDoS攻撃に対する対策が必要
AWSのEdgeサービスによる解決
ネットワーク遅延影響の低減• ユーザーに近いロケーションからWebコンテンツを返す
オリジンでの無駄なリソース消費を低減• 繰り返しアクセスされるデータをキャッシュし、オリジ
ンへのアクセスを低減する
アプリケーションへの攻撃に対する対策• パケットをアプリケーションレベルで監視し、不正なア
クセスを遮断する
DDoS攻撃に対する対策• DDoS攻撃に対応できるインフラにより、DDoS攻撃の
影響を低減する
AmazonCloudFront
AWSShield
AWSWAF
大規模なWebサイトでAWSのEdgeサービスを活用
Amazon CloudFrontによるCDN (Contents Delivery Network)
CDN導入の利点
• ユーザーを一番近いエッジロケーションに誘導することで 配信を高速化
• エッジサーバでコンテンツのキャッシングを行い オリジンの負荷をオフロード
クライアント
オリジンサーバ
CDN
AmazonCloudFront
① HTTPのリクエスト② HTTPのリクエスト
③ コンテンツの取得⑤ コンテンツの取得
④ コンテンツをキャッシュ⑥ HTTPのリクエスト
⑦ コンテンツの取得
レスポンス向上 負荷軽減クライアントからの距離
近い 遠い
大容量キャパシティを持つ地理的に分散したサーバー群(エッジ)からコンテンツをキャッシュしたり代理配信をするサービス
AWS WAFによるWebアプリケーションの保護
• Webサーバーのフロントに置かれる
• アプリレベルのトラフィックを監視 (HTTP, URL, Cookie, クエリ文字列)
• ルールに基づいて、不正なアクセスを遮断しレポート
AWSWAF
通常のユーザー
Attacker
Web Server Database
Your application
アプリケーションレベルでパケットを解析不正なアクセスを遮断し、正しいアクセスのみを許可する
• 自社製のDDoS緩和システムでサービスベースの防御
• 全てのパケットは検査され、学習アルゴリズムでスコアリングされる
• 他ユーザートラフィックは、インラインシステムが可用性、スループット、レイテンシに影響を与えずに迅速に対応
AWS ShieldによるDDoS攻撃対策Amazonのノウハウを詰め込んだDDoS攻撃を緩和するサービスデフォルトで有効になっており無料で利用できる
Internet
Edge サービス 導入前攻撃を含む全てのトラフィックがオリジンに到達、オリジンが高負荷長い経路で遅延が大きくレスポンスも悪い
オリジンWeb Server
Attacker
Attacker
Attacker
全てのトラフィックがオリジンに到達し高負荷に多くのリソースが必要
攻撃者の通信もオリジンへ到達
オリジンへの経路が長く遅延が発生
Internet
Edge サービス 導入後トラフィックはエッジから返され、オリジンへは一部のみ転送される攻撃者からのアクセスはエッジロケーションで遮断される
オリジンWeb Server
Attacker
Attacker
Attacker
キャッシュにないコンテンツのみオリジンにアクセス
攻撃者の通信はエッジで遮断されオリジンへ到達しない
エッジからコンテンツを取得するためレスポンスが早い
事例: ジュピターショップチャンネル 様
• CloudFrontで、急務だったコ
ンテンツ配信の課題を改善
• AWS WAFを利用して、悪意の
あるアクセスのIPブロックや、
アプリ脆弱性をついた攻撃を
ブロック
• 標準機能でDDoS攻撃からサイ
トを保護
• オリジンもAWSで統一するこ
とで高い拡張性が得られる点
も高くご評価
DCで運用していたECサイトをAWSへ移行サイトの性能限界が上昇し、ピーク時でもインフラの安定稼働が可能に
事例: MapBox 様
• 月平均ユーザー数(MAU)は2億以上
• 1日に数十億リクエストを受信
• 10 AWSリージョン、60+のエッジロケーションを利用
• S3にペタバイト級の地図データを保存
• CloudFrontを活用し地図タイルの配信を高速化とコストの最適化を実現
• アクセスログをRedshiftで分析、オペレーションや対応の改善に活用
• AWS WAFとの統合により、不正なコンテンツ取得からアセットを保護
グローバルなリージョンとエッジロケーションを活用して詳細な地図タイルデータを配信、ログ解析やWAF利用により運用を改善
事例: AmazonECサイトをはじめ各種サービスのプラットフォームとしてCloudFrontを活用
Amazon CloudFrontContents Delivery Network
CloudFrontの仕組み
CDN導入の利点
• ユーザーを一番近いエッジロケーションに誘導することで 配信を高速化
• エッジサーバでコンテンツのキャッシングを行い オリジンの負荷をオフロード
クライアント
オリジンサーバ
CDN
AmazonCloudFront
① HTTPのリクエスト② HTTPのリクエスト
③ コンテンツの取得⑤ コンテンツの取得
④ コンテンツをキャッシュ⑥ HTTPのリクエスト
⑦ コンテンツの取得
レスポンス向上 負荷軽減クライアントからの距離
近い 遠い
大容量キャパシティを持つ地理的に分散したサーバー群(エッジ)からコンテンツをキャッシュしたり代理配信をするサービス
CloudFrontの特徴
高性能な分散配信 (世界77拠点のエッジサーバ) ※2017年5月末時点
高いパフォーマンス (高いパフォーマンスの実績)
キャパシティアクセスからの解放 (予測不可能なスパイクアクセスへの対応)
ビルトインのセキュリティ機能 (WAF連携、DDoS対策)
設定が容易で即時利用可能 (GUIからの設定で15分程度でサービス利用可能)
充実したレポーティング (ログ、ダッシュボード、通知機能)
完全従量課金 (初期費用がなく安価かつスポットも利用可能)
最適なエッジロケーションの割当
オリジンサーバ
クライアント
位置情報DB
CloudFront DNS
Edge Location
②IPアドレス問い合わせ(xxx.cloudfront.net)
③最適なEdgeアドレス応答(1.1.1.1)
⑥キャッシュがなければオリジンから取得
DNSリゾルバ
EDNS-Client-Subnetにより精度を向上
IP: 1.1.1.1
DNSを応用した仕組みで最適なエッジロケーションを割当
CloudFront の様々な機能
• 動的コンテンツの配信 (フォワードオプション)
• 暗号化通信 (TLS/SSL、独自SSL証明書(3rd party, ACM※))
• プライベートコンテンツ提供 (署名付きURL/Cookie)
• GZIP 圧縮
• アクセス元地域の制限
• エラーページの配信
• IPv6 サポート
• HTTP/2 サポート
※ Amazon Certificate Manager
AWS WAFWeb Application Firewall
AWS WAFとは?
それらをAWSの「使っただけ」の支払い
実践的なセキュリティモデルを簡単に導入
ルールをフレキシブルにカスタマイズできる
DevOpsとの統合
お客様の要望に応じてAWSが実現したマネージドWAFサービス
なぜWAFを使うのか
• WAFは、Webサイトやアプリケーションが、攻撃されてダウンしたりデータが流出したりすることがないように手助けをする
• WAFの一般的なユースケース
• SQLインジェクション(SQLI)、クロスサイトスクリプティング (XSS)対策
• Webクローラ、スクレイピング等のBOT対策
• DDoS緩和 (HTTP/HTTPS floods)
• PCI DSS対応
• PCI DSSのアプリケーション防護策の要件を満たす手法となっていることも、WAFが広く使われる理由の1つ
ファイアウォールや IPS/IDS で保護できないアプリへの攻撃や難読化された攻撃から保護するためにWAFを利用
これまでのWAF配置
• WAF on EC2はELBでサンドイッチする構成
• 結果、構成が複雑になりレイテンシも上昇する
Edge Location
EC2ELBWAFELB
ELB Sandwich
オンプレミス環境
オリジン オリジンストレージ
WAF
CloudFront
Webスクレイピング
SQLI、XSS等の攻撃
正常なトラフィックユーザー
Attacker
不正なBot
EC2やオンプレミスでサーバーを構築しWAFを導入構築やサーバー管理、スケール対応などのインフラ管理が必要
CloudFront with AWS WAF
• AWS外のリソースでもOK
• 動的なコンテンツでも静的なコンテンツでもOK
CloudFront
Edge Location WAF
ユーザー
Attacker
不正なBot Webスクレイピング
SQLI、XSS等の攻撃
正常なトラフィック
EC2ELBS3
AND/OR
オンプレミス環境
オリジン オリジンストレージ
不正なトラフィックはエッジロケーションにあるWAFでブロックサーバー管理やスケール対応は不要でWAF機能のみ利用
リクエストの判定条件
AWS WAF のリクエスト判定条件
• クロスサイトスクリプティング
• クロスサイトスクリプティング攻撃のチェック
• IPアドレス
• 送信元IPアドレス、アドレスレンジ
• サイズ制限
• リクエストのサイズ (ヘッダー毎のサイズ、リクエストボディ)
• SQLインジェクション
• 不正なSQLステートメントのチェック
• 文字列マッチング
• URI, クエリ文字列, ヘッダー
• リクエストボディに含まれる文字列 (最初の8KB)
AWS WAF は複数の条件を組み合わせてリクエストの許可/拒否を判定
WAF ACLを動的に更新して防御Lambdaファンクションと連携して動的にWAF ACLを更新
• ハニーポット
• アクセスログ解析
• サードパーティー情報
バッドリクエストをよこすIPアドレスをブロック
1. CloudFrontのログがS3バケット
に保存される
2. Lambdaファンクションが保存
されたログを解析。エラーコー
ド毎にカウントされ、結果をS3
バケット内のファイルに保存
3. しきい値を超えたIPからのリク
エストをブロックするように、
WAF ACLを更新
4. CloudWatchに、ブロックして
いるIPアドレス数とアクセス数
を記録
エラーリクエスト数を記録し、エラーが一定数を超えたIPアドレスからのリクエストをブロックするようにWAF ACLを更新
まとめ
• CloudFront はユーザーへのレスポンスを改善し、オリジンの負荷を削減
• CloudFront は AWS WAF との組み合わせや、組み込みの DDoS 対策により、高いセキュリティを実現
• 大容量の配信や大量アクセスがあるサイトでの活用が有用
• 小規模でもWAF/DDoS等のセキュリティ対策が必要なサイトで有用
本セッションのFeedbackをお願いします
受付でお配りしたアンケートに本セッションの満足度やご感想などをご記入くださいアンケートをご提出いただきました方には、もれなく素敵なAWSオリジナルグッズをプレゼントさせていただきます
アンケートは各会場出口、パミール3FのEXPO展示会場内にて回収させて頂きます