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

Amazon VPC Latticeを触ってみた!

Amazon VPC Latticeを触ってみた!

kamadakohei

April 14, 2023
Tweet

More Decks by kamadakohei

Other Decks in Programming

Transcript

  1. Amazon VPC Latticeを
    触ってみた!

    View Slide

  2. Amazon VPC La,ce
    アプリケーションサービス間通信のためのネットワークを抽象化したサービス
    AWS公式より図を引⽤

    View Slide

  3. Amazon VPC La,ce登場前
    VPC間をアプリケーション通信のために接続する場合、
    • Transit Gateway
    • VPC Peering
    • Private Link
    を利用してサービス間通信を制御する。

    View Slide

  4. Amazon VPC Lattice登場後
    VPC間をアプリケーション通信のために接続する場合
    • ServiceNetwork
    • Service
    • Target Group
    を利用してサービス間通信を制御することも可能に。

    View Slide

  5. ユースケース(AWS公式より)
    αʔϏεؒͷ઀ଓΛେن໛ʹ؆ૉԽ͢Δ
    ωοτϫʔΫΛΑΓෳࡶԽ͢Δ͜ͱͳ͘ɺ71$ͱΞΧ΢ϯτશମͰ਺ઍͷαʔϏεΛ઀ଓ͠·͢ɻ
    ΞϓϦέʔγϣϯϨΠϠʔͷηΩϡϦςΟΛڧԽ͢Δ
    αʔϏεؒͷηΩϡϦςΟΛ޲্ͤ͞ɺҰݩԽ͞ΕͨΞΫηε੍ޚɺೝূɺ͓ΑͼίϯςΩετݻ༗ͷঝೝ
    ʹΑΓθϩτϥετΞʔΩςΫνϟΛαϙʔτ͠·͢ɻ
    ߴ౓ͳτϥϑΟοΫ؅ཧΛ࣮૷͢Δ
    #MVF(SFFOσϓϩΠ΍ $BOBSZσϓϩΠͷϦΫΤετϨϕϧͷϧʔςΟϯά΍ՃॏλʔήοτͳͲɺ͖Ί
    ࡉ͔ͳτϥϑΟοΫ੍ޚΛߦ͍·͢ɻ
    αʔϏεؒͷ΍ΓऔΓΛՄࢹԽ͢Δ
    ϦΫΤετλΠϓɺτϥϑΟοΫྔɺΤϥʔ਺ɺԠ౴࣌ؒͳͲͷαʔϏεؒ௨৴Λ؂ࢹ͓Αͼτϥϒϧ
    γϡʔςΟϯά͠·͢ɻ
    ※"NB[PO71$-BUUJDF͕ੜ·Εͨཧ༝΍ϝϦοτσϝϦοτ͸ҎԼ͕ৄ͔ͬͨ͠Ͱ͢。
    h"ps://d1.awssta-c.com/events/Summits/reinvent2022/NET215_NEW-LAUNCH!-Introducing-Amazon-VPC-LaLce-
    Simplifying-applica-on-networking.pdf

    View Slide

  6. VPCLa,ceを構成する要素
    • Service Network
    ⁃ 論理的なアプリケーション層ネットワーク
    ⁃ 紐付けたVPC内のクライアントはDNS経由でサービスネットワーク内のサービスを自動検出できる
    • Service
    ⁃ ALBに似た要素
    ⁃ Listener、Ruleを設定する
    • Listener
    ⁃ Serviceへのトラフィックを許可するポートやプロトコルを指定する
    ⁃ HTTP/S (1.1,2)、gRPCを指定可能
    • Rule
    ⁃ Serviceに来た通信のルーティングを設定する
    • TargetGroup
    ⁃ ルーティングするターゲットを纏めたもの
    ⁃ EC2、 IPアドレス、Lambda関数、ALBを指定できる

    View Slide

  7. Amazon VPC La,ce WorkShop
    マイクロサービスから構成された架空の駐車場アプリケーションについて
    Amazon VPC La?ceを活用することでネットワークを意識せずにアプリケーション通信ができるように
    なるWorkShop
    hBps://catalog.us-east-1.prod.workshops.aws/workshops/9e543f60-e409-43d4-b37f-78ff3e1a07f5/en-US
    Amazon VPC Lattice WorkShopより図を引⽤

    View Slide

  8. アプリケーションの要件とインフラ構成
    駐車場サービスは、以下のマイクロサービスで構成される
    • EC2上で動作する2つのマイクロサービス「料金(/rates)」と「支払い(/payments)」
    • Lambda上で動作する1つのマイクロサービス「予約 (/reservation)」
    Amazon VPC Lattice WorkShopより図を引⽤

    View Slide

  9. VPC La,ceを利用した構成
    Client VPCから各Serviceに紐づくTargetGroup
    にアクセスできることがゴール
    以下の流れでリソースを作成する
    1. TargetGroupの作成(送信先リソース紐
    付け)
    2. Serviceの作成(ルーティング設定)
    3. Service Networkの作成
    4. Service Networkに送信先のServiceを設定
    5. Service Networkに送信元のVPCを設定
    Amazon VPC Lattice WorkShopより図を引⽤

    View Slide

  10. TargetGroupの作成
    ターゲットタイプと対象を選択してTargetGroupを作成する

    View Slide

  11. Serviceの作成(Listenerの設定)
    Listenerのプロトコル、ポートを設定

    View Slide

  12. Serviceの作成(Ruleの設定)
    ListenerRuleの設定
    ALBと同じ用にServiceでルーティング
    ルールを設定できる

    View Slide

  13. Service側のドメイン
    Service作成後、デフォルトでxx.vpc-la?ce-svcs.us-west-2.on.awsの形でドメイン名が設定される

    View Slide

  14. Service Networkの作成
    • 転送先のサービスを設定
    • 転送元のVPCを設定

    View Slide

  15. 接続確認
    Client側からReservaXonServiceへcurl
    Client側からParkingServiceの各pathへcurl

    View Slide

  16. おまけ
    Q. VPCLa)ceの設定時にルーティングテーブルの編集はしていないのにも関わらず、
    Client側から、Service側へアクセスできている。どのように名前解決して、ルーティングが行われているのか?
    A. nslookupしてみると、リンクローカルアドレスが返ってくる。
    また、送付元のVPCのサブネットに紐づくルーティングテーブルにリンクローカル用のルールが勝手に追加されている。
    ※VPCLa)ceの通信の仕組みについては、詳しくはAWS公式ブログの記事をご参照ください。
    h;ps://aws.amazon.com/jp/blogs/networking-and-content-delivery/build-secure-mulG-account-mulG-vpc-connecGvity-for-your-
    applicaGons-with-amazon-vpc-la)ce/#:~:text=Amazon%20VPC%20La)ce%20traffic%20flows

    View Slide

  17. 参考資料
    Amazon VPC Lattice
    https://docs.aws.amazon.com/ja_jp/vpc-lattice/latest/ug/what-is-vpc-service-network.html
    Amazon VPC Lattice Workshop
    https://catalog.us-east-1.prod.workshops.aws/workshops/9e543f60-e409-43d4-b37f-78ff3e1a07f5/en-US/labs/introduction
    Build secure multi-account multi-VPC connectivity for your applications with Amazon VPC Lattice
    https://aws.amazon.com/jp/blogs/networking-and-content-delivery/build-secure-multi-account-multi-vpc-connectivity-for-your-
    applications-with-amazon-vpc-lattice/
    Introducing Amazon VPC Lattice: Simplifying application networking
    https://d1.awsstatic.com/events/Summits/reinvent2022/NET215_NEW-LAUNCH!-Introducing-Amazon-VPC-Lattice-Simplifying-
    application-networking.pdf
    VPC Lattice のご紹介 – サービス間通信のためにネットワーキングを簡素化する (プレビュー)
    https://aws.amazon.com/jp/blogs/news/introducing-vpc-lattice-simplify-networking-for-service-to-service-communication-
    preview/
    [レポート] Introducing Amazon VPC Lattice: Simplifying application networking #NET215 #reinvent
    h"ps://dev.classmethod.jp/ar3cles/reinvent2022-net215/
    しれっと登場したVPC La@ceって何者!? よく分からんから3行で頼む!
    h"ps://qiita.com/minorun365/items/7f73aa1fe1ef2ca0c2c7
    Amazon VPC La@ceがついにGAしたので触ってみた!
    h"ps://qiita.com/minorun365/items/260f6e1e29fcc61d1ad8

    View Slide