Slide 1

Slide 1 text

ネットワーク初心者でも使いやすい! VPC Latticeをご紹介します

Slide 2

Slide 2 text

自己紹介 木村優太 (きむらゆうた) CM入社:2023年3月 オフィス:日比谷オフィス 所属:AWS事業本部コンサルティング部 趣味:野球観戦・カラオケ

Slide 3

Slide 3 text

Latticeの概要 ● VPC LatticeはVPC向けのリバースプロキシサービスで、 VPCを跨いだ通信を可能 にする ● HTTP、HTTPS、gRPCに対応しており、利用側のVPCと提供側のVPCのCIDRが 重複していてもアクセスができるようになっている ○ IPv4、IPv6についても意識しなくて接続可 ○ RAMで共有することでクロスアカウントでの接続も可能 ● 但しリージョンを跨ぐ通信に関しては対応していない ● ルートテーブルの設定などネットワークに関わる部分は自動で作成してくれる

Slide 4

Slide 4 text

想定ユースケース ● 同アカウント内で別VPCに存在しているVPC Lambdaに対してアクセスしたい ● 自社のOrganizations内のアカウント間でEC2に対してアクセスをしたい ● サービスを連携している他社に対して InternalALBへのアクセスを提供したい

Slide 5

Slide 5 text

Latticeの全体像

Slide 6

Slide 6 text

Latticeの主要コンポーネントについて

Slide 7

Slide 7 text

サービスネットワーク ● サービスネットワークはVPCとサービスを結びつけるハブの役割のリソース ● サービスネットワーク1つあたりVPCとサービスそれぞれ500個まで関連付けることが 可能 ● 但しVPCからは関連付けられるサービスネットワークは 1つのみ ● IAM認証の設定やログの設定を行うことができる

Slide 8

Slide 8 text

サービス ● ドメインが払い出され、Latticeへのアクセスを行う際はこのリソースに対してアクセス を行う。カスタムドメインも設定可能 ● ALBと同様にリスナーを設定でき、ルールごとにアクセスを振り分けることができる。 ○ 設定できる条件はパスとメソッドのみで固定レスポンスは 404と500のみで固定 メッセージ ● 時間単位で費用が発生する ● IAM認証の設定やログの設定を行うことができる

Slide 9

Slide 9 text

ターゲットグループ ● サービスのリスナーに設定する転送ルールのアクション先を設定できる ● ターゲットグループの対象にできるリソースは以下 ○ IP ○ EC2 ○ VPC Lambda ○ Internal ALB ● サービスとターゲットグループは同アカウント内に存在している必要がある

Slide 10

Slide 10 text

設計パターン

Slide 11

Slide 11 text

セキュリティについて ● Latticeのセキュリティには4つのレイヤーがある ○ サービスとサービスネットワークの関連付け ○ VPC とサービスネットワーク間の関連付けにセキュリティグループをアタッチす る ○ サービスにIAM認証をアタッチする ○ サービスネットワークにIAM認証をアタッチする 参考:https://docs.aws.amazon.com/ja_jp/vpc-lattice/latest/ug/what-is-vpc-lattice.html#vpc-service-network-features

Slide 12

Slide 12 text

IAM認証を活かした設計例

Slide 13

Slide 13 text

IAM認証を活かした設計例のメリデメ ● メリット ○ サービスネットワークを集中管理することができ、責任分界点を明確にしやすい ○ 特定のリソースにのみ特定のサービスのアクセスを許可するなど細やかな制御 ができる ● デメリット ○ 一部のリソースの指定方法を除き SigV4署名を行う必要がある ○ 大規模になればなるほどサービス側に定義する、 IAM認証のポリシーが複雑に なる

Slide 14

Slide 14 text

サービスとVPCの関連付けを活かした設計例

Slide 15

Slide 15 text

サービスとVPCの関連付けを活かした設計例のメリデメ ● メリット ○ 経路の限定が関連付けのみとなるので容易で分かりやすい ○ IAM認証の設定による、署名の付与などのアプリ側の改修が不要 ● デメリット ○ サービスネットワークを数多く作成することになるので、責任分界点を決めにく い ○ アクセスする側のVPC内の各リソースから特定のサービスに対してのみアクセ ス可能にするなどの細かい制御ができない

Slide 16

Slide 16 text

構築する際のつまづきポイント

Slide 17

Slide 17 text

SGでLatticeからのアクセスを許可する アクセスを受け付ける側のリソースにて、 Latticeからのアクセスを許可する設定が必要になります。 Lattice用のプレフィックスリストが用意されているので、そちらを登録してアクセスを許可してください。

Slide 18

Slide 18 text

IAM認証を利用する場合には権限とSigV4署名が必要 IAM認証を利用する場合、一部を除きアクセスをする側に Latticeの実行権限とSigV4の署名が必要になりま す。 どちらかが欠けると実行エラーとなってしまいますので注意してください。 参考:https://dev.classmethod.jp/articles/lattice-iam-cert/    https://docs.aws.amazon.com/ja_jp/vpc-lattice/latest/ug/sigv4-authenticated-requests.html

Slide 19

Slide 19 text

ご清聴いただきありがとうございました。

Slide 20

Slide 20 text

参考

Slide 21

Slide 21 text

VPCに関連付けられるサービスネットワークは一つのみ VPCに複数のサービスネットワークを関連づけることはできません。 VPCからアクセスしたいサービスを関連づけているサービスネットワークに関連づけるようにしてください。

Slide 22

Slide 22 text

実現できない例

Slide 23

Slide 23 text

実現できる例

Slide 24

Slide 24 text

実現できる例