Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第92回 雲勉【オンライン:初心者向け】AWSのELBについて改めて学んでみた

第92回 雲勉【オンライン:初心者向け】AWSのELBについて改めて学んでみた

FUJIMA, Yurika

December 23, 2022
Tweet

More Decks by FUJIMA, Yurika

Other Decks in Technology

Transcript

  1. 0.講師⾃⼰紹介 3 n 名前 ⼤川 雅登(Masato Okawa) • (所属) クラウドインテグレーション事業部

    • (経歴) SIer → SES → CIer • (アイレット歴) アイレット歴1年9ヶ⽉ • (趣味) ポッドキャストを聴くこと(ex.フリーアジェンダや上京ボーイズ)
  2. 1.はじめに 6 • よくある構成の簡略版 Amazon Elastic Compute Cloud (Amazon EC2)

    Client Amazon Relational Database Service (Amazon RDS) Elastic Load Balancing Amazon Elastic Compute Cloud (Amazon EC2) Amazon Relational Database Service (Amazon RDS) Client Amazon Relational Database Service (Amazon RDS) Amazon EC2 Auto Scaling Elastic Load Balancing Client 1 2 3 Client Amazon Relational Database Service (Amazon RDS) Elastic Load Balancing Amazon Elastic Container Service (Amazon ECS) Amazon Relational Database Service (Amazon RDS) Elastic Load Balancing Amazon Elastic Kubernetes Service (Amazon EKS) Client 4 5
  3. 2.ELBについて 9 n そもそもLoad Balancerとは • 負荷分散装置。リクエストの内容によって後段の各サーバへアクセスを振り分けたりすることができる。 n Elastic Load

    Balancerの特徴 • 柔軟なアプリケーション管理が必要な場合は、Application Load Balancer の使⽤を推奨します。⾮常に⾼度な パフォーマンスと静的 IP がアプリケーションで必要な場合は、Network Load Balancer の使⽤を推奨しま す。EC2-Classic ネットワーク内で構築された既存のアプリケーションがある場合は、Classic Load Balancer を使⽤する必要があります https://aws.amazon.com/jp/elasticloadbalancing/features/ n ELBは4つ • Application Load Balancer • Network Load Balancer • Gateway Load Balancer • Classic Load Balancer
  4. 3.Application Load Balancerについて 11 n Application Load Balancer(IUUQTBXTBNB[PODPNKQFMBTUJDMPBECBMBODJOHBQQMJDBUJPOMPBECBMBODFS ODTOMPDEO) •

    レイヤー7で負荷分散。(リクエスト属性 (X-Forwarded-For ヘッダーなど) に基づいて、HTTP/HTTPS トラフィックを ターゲット (Amazon EC2 インスタンス、マイクロサービス、コンテナ) に負荷分散) • コンテンツベースのルーティング • パスベースのルーティング: HTTP ヘッダーの URL パスに基づいてクライアントのリクエストをルーティングできます。 • ソース IP アドレス CIDR ベースのルーティング: リクエスト元のソース IP アドレス CIDR に基づいてクライアントのリ クエストをルーティングできます。 • HTTPS サポート(AWS Certificate Manager を使⽤した SSL 証明書の管理も可能) • AWS WAF を使⽤できる。
  5. 4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 13 n Application Load Balancers ΁ͷΞΫηεΛ੍ݶ͢Δ https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/restrict-access-to-load-balancer.html • Elastic

    Load Balancing の Application Load Balancer によって提供されるウェブアプリケーションやその他のコ ンテンツには、CloudFront はオブジェクトをキャッシュしてユーザー(閲覧者)に直接提供し、Application Load Balancer の負荷を軽減できます。CloudFront は、レイテンシーを削減し、分散型サービス拒否 (DDoS) 攻 撃を吸収することにも役⽴ちます。 • ただし、ユーザーが CloudFront をバイパスして、Application Load Balancer に直接アクセスできる場合には、 これらのメリットを得られません。ですが、 Amazon CloudFront と Application Load Balancer を設定して、 ユーザーがApplication Load Balancer に直接アクセスできないようにすることができます。 • これにより、ユーザーは CloudFront 経由でしか Application Load Balancer にアクセスできず、CloudFront を 使⽤するメリットを得ることができます。
  6. 4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 14 1.CloudFront を設定して、Application Load Balancer に送信するリクエストにカスタ ム HTTP ヘッダーを追加します。

    2.カスタム HTTP ヘッダーを含むリクエストだけを転送するように、Application Load Balancer を設定します。 3.(オプション)このソリューションのセキュリティを向上させるためには、HTTPS が 必要です。
  7. 5.Network Load Balancerについて 29 n Network Load Balancer(IUUQTBXTBNB[PODPNKQFMBTUJDMPBECBMBODJOHOFUXPSLMPBECBMBODFS ODTOMPDEO) •

    レイヤー4で負荷分散。 (TCP と UDP の両⽅のトラフィックを負荷分散し、接続をターゲット (Amazon EC2 インスタンス、マイクロサービス、コンテナ) にルーティング) • 低レイテンシ(レイテンシの影響を受けやすいアプリケーションに対して⾮常に低いレイテンシを 提供) • ソース IP アドレス(クライアント側のソース IP を保持し、バックエンドがクライアントの IP ア ドレスを確認できるようにします。) • TLSオフロード(クライアント TLS セッションの終了をサポートします。AWS Certificate Manager (ACM) を使って暗号化できる)
  8. 6.ハンズオン_ターゲットにALBを設定してみる 31 n Network Load BalancerのターゲットグループにApplication Load Balancerを設定する https://aws.amazon.com/jp/blogs/news/application-load-balancer-aws-privatelink-static-ip-addresses-network-load-balancer/ (記事公開⽇:

    2021 年 09 ⽉ 28 ⽇) • 新機能︓Network Load Balancerのターゲットグループに、Application Load Balancerを設定できるようになりま した • 以前、NLBを利⽤してPrivateLinkの統合やALBのIPアドレスを固定するための⽅法を提案するブログを公開しまし た。このソリューションを使⽤すると、お客様はAWS Lambda関数を活⽤してALBのIPアドレスをNLBのターゲット として登録することができます。このソリューションでは、IPアドレスが変更されるとNLBのターゲットIPを更新し て、更新されたALB IPアドレスに設定します。この回避策は有効ですが、お客様が管理するコードやサービスが増え てしまいます。 (PrivateLinkとは、異なるNW空間においてプライベート接続(インターネットに出ない)を実現させるサービス。 ex.異なるVPC間のプライベート接続、AWSとオンプレミスネットワーク間のプライベート接続) • Lambdaのメンテが不要。PrivateLinkで公開するアプリケーションのユースケースでALBの機能を使⽤できるように なった。
  9. 6.ハンズオン_ターゲットにALBを設定してみる 32 構成 AWS Cloud Virtual Private Cloud (VPC) AWS

    Private Link Endpoint AWS PrivateLink Virtual Private Cloud (VPC) Network Load Balancer Application Load Balancer HTTP Target