Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ネットワーク初心者でも使いやすい!VPC Latticeをご紹介します
Search
kimura.yuta
May 29, 2024
Technology
0
360
ネットワーク初心者でも使いやすい!VPC Latticeをご紹介します
kimura.yuta
May 29, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
220
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
310
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
480
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
170
C++26 エラー性動作
faithandbrave
2
740
20241220_S3 tablesの使い方を検証してみた
handy
4
550
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
220
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
243
12k
4 Signs Your Business is Dying
shpigford
181
21k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Facilitating Awesome Meetings
lara
50
6.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Rails Girls Zürich Keynote
gr2m
94
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Transcript
ネットワーク初心者でも使いやすい! VPC Latticeをご紹介します
自己紹介 木村優太 (きむらゆうた) CM入社:2023年3月 オフィス:日比谷オフィス 所属:AWS事業本部コンサルティング部 趣味:野球観戦・カラオケ
Latticeの概要 • VPC LatticeはVPC向けのリバースプロキシサービスで、 VPCを跨いだ通信を可能 にする • HTTP、HTTPS、gRPCに対応しており、利用側のVPCと提供側のVPCのCIDRが 重複していてもアクセスができるようになっている ◦
IPv4、IPv6についても意識しなくて接続可 ◦ RAMで共有することでクロスアカウントでの接続も可能 • 但しリージョンを跨ぐ通信に関しては対応していない • ルートテーブルの設定などネットワークに関わる部分は自動で作成してくれる
想定ユースケース • 同アカウント内で別VPCに存在しているVPC Lambdaに対してアクセスしたい • 自社のOrganizations内のアカウント間でEC2に対してアクセスをしたい • サービスを連携している他社に対して InternalALBへのアクセスを提供したい
Latticeの全体像
Latticeの主要コンポーネントについて
サービスネットワーク • サービスネットワークはVPCとサービスを結びつけるハブの役割のリソース • サービスネットワーク1つあたりVPCとサービスそれぞれ500個まで関連付けることが 可能 • 但しVPCからは関連付けられるサービスネットワークは 1つのみ •
IAM認証の設定やログの設定を行うことができる
サービス • ドメインが払い出され、Latticeへのアクセスを行う際はこのリソースに対してアクセス を行う。カスタムドメインも設定可能 • ALBと同様にリスナーを設定でき、ルールごとにアクセスを振り分けることができる。 ◦ 設定できる条件はパスとメソッドのみで固定レスポンスは 404と500のみで固定 メッセージ
• 時間単位で費用が発生する • IAM認証の設定やログの設定を行うことができる
ターゲットグループ • サービスのリスナーに設定する転送ルールのアクション先を設定できる • ターゲットグループの対象にできるリソースは以下 ◦ IP ◦ EC2 ◦
VPC Lambda ◦ Internal ALB • サービスとターゲットグループは同アカウント内に存在している必要がある
設計パターン
セキュリティについて • 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
IAM認証を活かした設計例
IAM認証を活かした設計例のメリデメ • メリット ◦ サービスネットワークを集中管理することができ、責任分界点を明確にしやすい ◦ 特定のリソースにのみ特定のサービスのアクセスを許可するなど細やかな制御 ができる • デメリット
◦ 一部のリソースの指定方法を除き SigV4署名を行う必要がある ◦ 大規模になればなるほどサービス側に定義する、 IAM認証のポリシーが複雑に なる
サービスとVPCの関連付けを活かした設計例
サービスとVPCの関連付けを活かした設計例のメリデメ • メリット ◦ 経路の限定が関連付けのみとなるので容易で分かりやすい ◦ IAM認証の設定による、署名の付与などのアプリ側の改修が不要 • デメリット ◦
サービスネットワークを数多く作成することになるので、責任分界点を決めにく い ◦ アクセスする側のVPC内の各リソースから特定のサービスに対してのみアクセ ス可能にするなどの細かい制御ができない
構築する際のつまづきポイント
SGでLatticeからのアクセスを許可する アクセスを受け付ける側のリソースにて、 Latticeからのアクセスを許可する設定が必要になります。 Lattice用のプレフィックスリストが用意されているので、そちらを登録してアクセスを許可してください。
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
ご清聴いただきありがとうございました。
参考
VPCに関連付けられるサービスネットワークは一つのみ VPCに複数のサービスネットワークを関連づけることはできません。 VPCからアクセスしたいサービスを関連づけているサービスネットワークに関連づけるようにしてください。
実現できない例
実現できる例
実現できる例