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

AWSのお気に入りサービス 〜ALB 〜

Avatar for m.akiayma m.akiayma
November 19, 2020

AWSのお気に入りサービス 〜ALB 〜

CodePipeline を使ってECSに Blue/Green デプロイの設定を行っている仮定で、 ALBのテストリスナーをしりました。この驚きを伝えたくてLTのネタにしました。

Avatar for m.akiayma

m.akiayma

November 19, 2020
Tweet

Other Decks in Technology

Transcript

  1. Application Load Balancer is HTTP および HTTPS トラフィックを使用する ウェブアプリケーション用に柔軟性の高い機能セットが必要な場合は、 Application

    Load Balancer を選択します。Application Load Balancer はリクエ ストレベルで動作し、マイクロサービスとコンテナを含む、アプリケーション アーキテクチャを対象とした高度なルーティングおよび可視性機能を提供します OSI参照モデル Layer 名称 AWSの Load Balancer Layer7 アプリケーション層 Application Load Balancer Layer6 プレゼンテーション層 Layer5 セッション層 Layer4 トランスポート層 Network Load Balancer Classic Load Balancer Layer3 ネットワーク層 Gateway Load Balancer(!!) Layer2 データリンク層 Layer1 物理層
  2. ALBでリバースプロキシ • リクエストヘッダーの Host で振り分け Application load balancer Amazon EC2

    Amazon EC2 Amazon EC2 Target Group my Target Group admin Target Group www https://www.example.com/index.html https://admin.example.com/pages https://my.example.com/profile If Host == “www.example.com” then If Host == “admin.example.com” then If Host == “my.example.com” then 条件 (いずれかの方法を選択する) 1. デフォルトの証明書をワイルドカード証明書にする 2. SNI を利用して複数の証明書を適用する (https://aws.amazon.com/jp/blogs/news/new-application-load-balancer-sni/ ) モチベーション ü サイトは多いがアクセス数は少ないので、ALBを集約してコストダウン
  3. ALBで簡易ユーザ認証 Cognitoが提供する機能を使う • 当然、パスワードリセット • MFA • OpenID Connect (

    Google など) • リアルサーバがリクエストヘッ ダーからユーザの情報を得る こんなこともできる 認証のダイアログ x-amzn-oidc-accesstoken トークンエンドポイントからのアクセス トークン (プレーンテキスト)。 x-amzn-oidc-identity ユーザー情報エンドポイントからの件名 フィールド (sub) (プレーンテキスト)。 x-amzn-oidc-data ユーザークレーム (JSON ウェブトーク ン (JWT) 形式
  4. Blue/Green デプロイと動確認 • BlueとGreenを入れ替える手前に動作確認 • 本番とは別のポートでリスニングすることで、 本番に手を加えることなく動作確認が行える Application load balancer

    Target Group green Target Group blue Container 2 Container 1 Container 2 Container 1 443番ポート 1443番ポート 本番リスナー テストリスナー Task Task Task Task
  5. 動作確認後 CodeDeployの画面から ಈ࡞֬ೝ 0, ಈ࡞֬ೝ /( 0,ͱࢥͬ ͚ͨͲ੾ Γ໭͠ 5BSHFU(SPVQͷ

    ੾Γସ͑Λ ଴ػ͍ͯ͠Δ ੾Γ໭͠༻ʹ ࢒͍ͯ͠Δ࣌ؒ &$4λε Ϋ͸࢒Δ