Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第92回 雲勉【オンライン:初心者向け】AWSのELBについて改めて学んでみた
Search
アイレット株式会社
December 23, 2022
Technology
86
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第92回 雲勉【オンライン:初心者向け】AWSのELBについて改めて学んでみた
アイレット株式会社
December 23, 2022
More Decks by アイレット株式会社
See All by アイレット株式会社
第98回 雲勉【オンライン:上級者向け】Auto Scaling構成でのAMI自動更新ソリューション
iret_kikaku
0
200
第95回 雲勉【オンライン:中級者 / 新技術好き向け】Google Cloudへのマイグレーション〜Migrate to Containers編〜
iret_kikaku
0
69
第86回 雲勉【オンライン:中級者向け】AWS Organizationsで始めるマルチアカウント管理
iret_kikaku
0
160
第82回 雲勉【オンライン:初心者向け】AWSでの運用負荷を軽減するツール2選〜Certificate Manager, Service Quotas〜
iret_kikaku
0
90
雲勉@オンライン【勉強会】AWS Amplifyで始めるアプリ開発【初心者向け】
iret_kikaku
0
550
Other Decks in Technology
See All in Technology
Getting Started with Google Antigravity
glaforge
0
320
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
230
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
790
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
350
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
160
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
React改造してみた
tsukina_7mochi
0
120
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
400
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
190
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
120
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
420
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Deep Space Network (abreviated)
tonyrice
0
380
Technical Leadership for Architectural Decision Making
baasie
3
600
4 Signs Your Business is Dying
shpigford
187
23k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Between Models and Reality
mayunak
4
500
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Transcript
第92回 雲勉【オンライン︓初⼼者向け】 AWSのELBについて改めて学んでみた 2022/12/22
アジェンダ 2 0.⾃⼰紹介 1.はじめに 2.ELBについて 3.ALBについて 4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 5.NLBについて 6.ハンズオン_ターゲットにALBを設定してみる 7.終わりに
8.質疑応答(19:50~20:00)
0.講師⾃⼰紹介 3 n 名前 ⼤川 雅登(Masato Okawa) • (所属) クラウドインテグレーション事業部
• (経歴) SIer → SES → CIer • (アイレット歴) アイレット歴1年9ヶ⽉ • (趣味) ポッドキャストを聴くこと(ex.フリーアジェンダや上京ボーイズ)
1.はじめに 4
1.はじめに 5 n どうしてELBなの︖ • パブリッククラウドの特徴はペットから家畜へ
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
要するに、ELBはよく使うので押さえておこう︕ 7
2. ELBについて 8
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
3. Application Load Balancerについて 10
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 を使⽤できる。
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 12
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 を 使⽤するメリットを得ることができます。
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 14 1.CloudFront を設定して、Application Load Balancer に送信するリクエストにカスタ ム HTTP ヘッダーを追加します。
2.カスタム HTTP ヘッダーを含むリクエストだけを転送するように、Application Load Balancer を設定します。 3.(オプション)このソリューションのセキュリティを向上させるためには、HTTPS が 必要です。
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 15 構成 AWS Cloud Virtual Private Cloud (VPC) Public
subnet Private subnet Application Load Balancer Amazon EC2 Amazon CloudFront
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 16 n 事前準備 • Route53でレコード登録(ALBに使⽤するサブドメイン) n 事前準備 • ACMで証明書を作成
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 17 n 事前準備 • EC2を作成(Apacheをインストールしindex.htmlファイルを作成済)し、ターゲットグループとして指定 する。(ターゲットグループとはALBに対するリクエストのルーティング先となるリソース)
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 18 n 事前準備 • ALBを作成し、リスナーをHTTPS:443とし、先ほど作成したターゲットを指定する。(リスナーとはロードバラン サーにアクセスできるプロトコルやポートを設定する機能であり、合わせて、そのアクセスの振り分け先を設定す るリスナールール機能がある)
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 19 n 事前準備 • Route53に設定したサブドメインにアクセスしindex.htmlが表⽰されるのを確認する(ALBとの名前解決設定済)
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 20 n オリジンの設定 • オリジンドメインにALBと紐付けているサブドメインを設定 • プロトコルはHTTPSのみ • カスタムヘッダーを追加(ここのヘッダー名と値は次のALBの
設定でも使⽤する)
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 21 n ALBのリスナー設定 • リスナーのルールを編集する
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 22 n ALBのリスナーのルール設定 • HTTPヘッダーに先程のヘッダー名と値を設定する
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 23 n ALBのリスナーのルール設定 • CloudFront以外からのリクエスト転送先の設定
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 24 n ALBのリスナーのルール設定 • CloudFront以外からのリクエスト転送先の設定(固定レスポンスの設定)
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 25 n ALBのリスナーのルール設定 • 更新ボタンを押下し、2つのルールがある状態にする。
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 26 n アクセス確認 • ALBと紐付けているサブドメイン
4.ハンズオン_CloudFrontのオリジンにALBを設定してみる 27 n アクセス確認 • CloudFrontに設定している代替ドメインにアクセス
5. Network Load Balancerについて 28
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) を使って暗号化できる)
6.ハンズオン_ターゲットにALBを設定してみる 30
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の機能を使⽤できるように なった。
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
6.ハンズオン_ターゲットにALBを設定してみる 33 n 事前準備 •内部向けまたはインターネット向けのALB •ALBがフォワードするターゲットグループ •エンドポイントサービスの作成(NLBを指定) •エンドポイントの作成(エンドポイントサービスの「サービス名」を設定) •エンドポイントサービス側で接続リクエストの承諾
6.ハンズオン_ターゲットにALBを設定してみる 34 n ターゲットグループの作成(ALBを指定)
6.ハンズオン_ターゲットにALBを設定してみる 35 n ALBを設定したターゲットグループをNLBに紐付ける
6.ハンズオン_ターゲットにALBを設定してみる 36 n エンドポイントサービスの作成(NLBを指定)
6.ハンズオン_ターゲットにALBを設定してみる 37 n エンドポイントの作成(エンドポイントサービスの「サービス名」を設定)
6.ハンズオン_ターゲットにALBを設定してみる 38 n エンドポイントサービス側で接続リクエストの承諾
6.ハンズオン_ターゲットにALBを設定してみる 39 n NLBを配置していないVPC下のEC2からNLBにアクセス
7.終わりに 40 l 今回はALB、NLBについて基本的なことを説明しました。 l ELBのターゲットにFargateやLambdaを使⽤するケース、複数ルーティングを設定する ケース等、⾊々な使い⽅ができ、奥深いサービスと思いますので、今回の内容を⼊り⼝に知 識を深めていただけると幸いです。