Slide 1

Slide 1 text

Amazon VPC Latticeを 触ってみた!

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

ユースケース(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

Slide 6

Slide 6 text

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を指定できる

Slide 7

Slide 7 text

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より図を引⽤

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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より図を引⽤

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

おまけ 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

Slide 17

Slide 17 text

参考資料 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