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
200アカウント規模を見据えた開発・検証・本番の環境分離を成立させる、AWS Transit...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ryosuke Tsuruda
March 13, 2026
Technology
89
0
Share
200アカウント規模を見据えた開発・検証・本番の 環境分離を成立させる、AWS Transit Gateway によるネットワーク設計と実践
Presentation from JAWS DAYS 2026
https://jawsdays2026.jaws-ug.jp/
Ryosuke Tsuruda
March 13, 2026
More Decks by Ryosuke Tsuruda
See All by Ryosuke Tsuruda
独学でFusicのエンジニアへ! 入社から2年間の軌跡
pensuke628
0
120
Other Decks in Technology
See All in Technology
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
150
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
120
聞き手の目線で考えるプロポーザル
takefumiyoshii
0
440
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
110
MLOps導入のための組織作りの第一歩
akasan
0
250
Data Hubグループ 紹介資料
sansan33
PRO
0
2.9k
生成AI時代のエンジニア育成 変わる時代と変わらないコト
starfish719
0
7.8k
60分で学ぶ最新Webフロントエンド
mizdra
PRO
33
17k
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
2
320
「責任あるAIエージェント」こそ自社で開発しよう!
minorun365
4
640
Introduction to Bill One Development Engineer
sansan33
PRO
0
410
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
1k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Design in an AI World
tapps
0
190
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Context Engineering - Making Every Token Count
addyosmani
9
820
4 Signs Your Business is Dying
shpigford
187
22k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Believing is Seeing
oripsolob
1
110
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Transcript
JAWS DAYS 2026 Mashup for the Future 200アカウント規模を見据えた開発・検証・本番の 環境分離を成立させる、AWS Transit
Gateway によるネットワーク設計と実践 株式会社 Fusic 鶴田 諒輔(@pensuke628)
#jawsug #jawsdays2026 #jawsdays2026_b 自己紹介 鶴 田 諒 輔 R Y
O S U K E T S U R U D A 株 式 会 社 F u s i c 事 業 本 部 ク ラ ウ ド エ ン ジ ニ ア リ ン グ 部 門 エ ン ジ ニ ア J AW S D AY S 初 参 加 & 初 登 壇 !
#jawsug #jawsdays2026 #jawsdays2026_b 1. アーキテクチャと設計ポイント 1. 環境間の通信分離 2. 環境ごとのインターネット経路 3.
共有リソースのコスト最適化 2. ネットワーク要件の標準化と自動化 3. まとめ アジェンダ
アーキテクチャと 設計ポイント
#jawsug #jawsdays2026 #jawsdays2026_b アーキテクチャの全体像 本番環境 検証環境 開発環境
#jawsug #jawsdays2026 #jawsdays2026_b Hubアカウントの構成
#jawsug #jawsdays2026 #jawsdays2026_b • Direct Connect Gateway → Transit Gatewayで本番/検証環境を既
存環境と接続 Hubアカウントと外部環境の接続 検証環境 本番環境
#jawsug #jawsdays2026 #jawsdays2026_b Spokeアカウントの構成
#jawsug #jawsdays2026 #jawsdays2026_b マルチアカウントのネットワーク設計ポイント マルチアカウントのネットワーク設計ポイント 1. 環境間の通信分離 マルチアカウントに複数環境が混在する 場合、環境間の通信は許可するか遮断す るか
01 インターネットや外部APIへの接続箇所が 環境ごとに異なる場合の制御をどのよう に実現するか 2. 外部通信への経路 02 3. 共有リソースの コスト最適化 03 コストをできる限り削減しつつ、可用性 とのバランスをどのように取るか
#jawsug #jawsdays2026 #jawsdays2026_b マルチアカウントに複数の環境を含む可能性がある 異なる環境間で通信を許可するか、遮断するかを明確にする必要が ある 1. 環境間の通信分離 本番 検証
マルチアカウント テスト 開発
#jawsug #jawsdays2026 #jawsdays2026_b Transit Gatewayを使った環境間の通信制御のパターン Transit Gatewayの分離戦略 ルートテーブルを分割する 1つのTransit Gatewayに
環境ごとのルートテーブ ルを作成するパターン Transit Gatewayを分割する 環境ごとにTransit Gatewayを作成するパ ターン
#jawsug #jawsdays2026 #jawsdays2026_b 今回の判断:環境ごとにTransit Gatewayを分離 • 本番用Transit Gatewayを分けた理由 本番環境はDirect Connect経由で既存環境の基幹システムと接続して
いる。検証/開発環境の設定変更や障害が本番環境のTransit Gatewayに影響することを原理的に排除する • 開発用Transit Gatewayと検証用Transit Gatewayを分けた理由 理論的には開発/検証は1つのTGW + ルートテーブル分離で成立する。 しかし、環境ごとにTGWを分けるという一貫したルールにすること で、運用判断をシンプルにし統一性を確保した Transit Gatewayの分離戦略
#jawsug #jawsdays2026 #jawsdays2026_b Transit Gatewayを環境ごとに分離しているが、それだけでは環境間 通信を完全には遮断できないケースがある Transit Gateway分離で排除できないリスク ①Stg/Dev共有VPCを中継した通信 ②Direct
Connect経由 で既存環境を中継した 通信
#jawsug #jawsdays2026 #jawsdays2026_b • これらを排除するため、各Transit Gatewayのルートテーブルに他環 境のCIDRへのブラックホールルートを設定 • 各環境で使用するCIDRを登録したカスタマーマネージドプレフィッ クスリストを用意
Black hole routeの設定 • 検証環境のCIDRを登録したプ レフィックスリスト 開発環境 ・開発環境のCIDRを登録したプ レフィックスリスト ・本番環境向けに割り当てられ たCIDR(10.A.0.0/16) 検証環境 ・開発/検証環境向けに割り当て られたCIDR(10.B.0.0/16) 本番環境
#jawsug #jawsdays2026 #jawsdays2026_b • 検証/本番環境はDirect Connect経由で既存環境と双方向通信する ため、既存環境側のルーティングで宛先を判別できるようCIDRの 重複は許されない • 既存環境から割り当てられたIP帯が10.A.0.0/16と10.B.0.0/16の2つ
• 本番: 10.A.X.0/24(X=1〜100、X=0はHubアカウント) • 検証: 10.B.X.0/24(X=1〜100、X=0はHubアカウント) • 開発: 10.B.X.0/24(X=101〜200) ※既存環境と未接続だが、CIDRの重複を回避 CIDR帯域の設計
#jawsug #jawsdays2026 #jawsdays2026_b 環境間の通信分離のまとめ Transit Gatewayの設計ポイントは本番環境への影響度と運用負荷 Point 01 Transit Gatewayを分離しても、環境間通信を分離できないケースがある
Point 02 Black hole routeの設定と適切なCIDR設計でEdgeケースもカバー Point 03
#jawsug #jawsdays2026 #jawsdays2026_b 外部APIとの連携やパッケージ取得等でインターネット接続が必要 本番/検証環境 • 既存環境側に存在するNAT Gatewayを利用 開発環境 •
既存環境とは接続しないため、別途インターネット接続を準備する 必要がある 本番/検証と開発でインターネット経路が異なる 2. 環境ごとのインターネット経路
#jawsug #jawsdays2026 #jawsdays2026_b • 本番/検証環境は既存環境側のNAT経由 • 開発環境はHubアカウントのVPC内のNAT Gateway経由でインターネッ トに接続 インターネット接続戦略
#jawsug #jawsdays2026 #jawsdays2026_b • Transit Gatewayルートテーブルのデフォルトルートの向き先で実 現 • 開発: デフォルトルート
→ HubアカウントのVPC • 本番/検証: デフォルトルート → Direct Connectアタッチメント インターネットへの経路がデフォルトルートで分岐する シンプルな設計 インターネット接続戦略
#jawsug #jawsdays2026 #jawsdays2026_b • 200アカウント個別にリソースを作成すると、コストが膨大になる • コストを最適化するために、共有できるリソースは可能な限り共有 したい 3. 共有リソースのコスト最適化
メリット • コスト削減 • リソース管理の一元化 リスク • 集約箇所が単一障害点 となる • ルーティングの複雑化
#jawsug #jawsdays2026 #jawsdays2026_b • コスト最適化のため、VPC EndpointとRoute 53 Inbound/Outbound ResolverをHubアカウントに集約 •
SpokeアカウントにはVPC Endpointなどを作成しない 共有VPC Endpoint + Route 53 Resolver
#jawsug #jawsdays2026 #jawsdays2026_b なぜ本番用VPCを検証/開発と分離したか • 本番用VPC Endpoints・Route 53 Resolverを検証/開発と共用する 案もあった
• 分離した理由 • 本番環境の障害影響の局所化 • VPC Endpointのスループット/セキュリティポリシーの独立性 • トレードオフ • VPC Endpoint・Resolverが二重構成になりコスト増 • 運用対象も増える 共有VPC Endpoint + Route 53 Resolver 本番環境への影響>リソースのコスト
#jawsug #jawsdays2026 #jawsdays2026_b 実装方法(2通り) ①Private Hosted Zone共有方式 メリット:コストが比較的少ない デメリット:アカウント数が増えると運用負荷が増える ②Resolver
Rule+RAM方式 メリット:大規模アカウントでも運用負荷が比較的少ない デメリット:Resolverのコストがかかる 共有VPC Endpoint + Route 53 Resolver
ネットワーク要件の標準化と 自動化
#jawsug #jawsdays2026 #jawsdays2026_b • アカウント作成のたびに手動でTransit Gatewayアタッチメント・ ルート設定を行うのは200アカウント規模では破綻する • 設定ミスや漏れが環境分離の穴になるリスク •
環境ごとにTransit Gatewayが異なり、ルーティング設定やブラッ クホールルートも環境に応じて変わるため、手動運用ではミスの可 能性が高い 設計が正しくても、払い出し時に反映されなければ意味がない 3. ネットワーク要件の標準化と自動化
#jawsug #jawsdays2026 #jawsdays2026_b Acoount Factory for Terrafom(AFT)で実現した自動化フロー • Control Tower配下でアカウント発行から必要なterraformによるリ
ソース作成まで自動実行 • 今回は以下のリソースを自動作成 • VPC作成(環境種別に応じたCIDR割り当て) • 環境に対応するTransit GatewayへのAttachment作成 • Transit GatewayルートテーブルへのAssociation / Propagation設定 • 各環境のprefixリストへのIPアドレスの追加(他環境CIDRの遮断) • VPCルートテーブルのデフォルトルート設定 ネットワーク要件の標準化と自動化
#jawsug #jawsdays2026 #jawsdays2026_b Account Factory for Terraformの実装例 module ”service_name" {
source = "./modules/aft-account- request" control_tower_parameters = { AccountName = “アカウント名" ManagedOrganizationalUnit = ”OUのid" } account_customizations_name = ”prod" custom_fields = { vpc_cidr = "10.A.0.0/24" } } data "aws_ssm_parameter" "vpc_cidr" { name = "/aft/account-request/custom- fields/prod_vpc_cidr" } locals { vpc_cidr = data.aws_ssm_parameter.vpc_cidr.value } resource "aws_vpc" ”xxx" { cidr_block = local.prod_vpc_cidr } アカウント発行側 リソース管理側
#jawsug #jawsdays2026 #jawsdays2026_b まとめ Transit Gatweay自体を分離して、CIDR設計とBlack role roteで環境間通信 を遮断 Point
01 共有リソースを集約しつつ、本番環境への影響を最小限にする コスト最適化 Point 02 AFTによる「ネットワーク要件を満たしたアカウント」の継続的な払い出 し Point 03
None