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についてあらためて考えてみる
Search
da-hatakeyama
October 07, 2023
Technology
1
180
VPCについてあらためて考えてみる
JAWS FESTA 2023 の懇親会LTで使用した資料です
https://jft2023.jaws-ug.jp/
da-hatakeyama
October 07, 2023
Tweet
Share
More Decks by da-hatakeyama
See All by da-hatakeyama
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
2
130
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
1
950
「AWSの薄い本」の紹介
hatahata021
1
54
ALBの新機能 Automatic Target Weightsとgray failuresについて考えてみる
hatahata021
0
630
re:Invent Workshop「Advanced Multi-AZ Resilience Patterns」をやってみた
hatahata021
1
180
Transfer Family for SFTPを使ってみよう
hatahata021
2
1.3k
はじめてのCloudflare
hatahata021
1
100
AWS認定全冠するまでのおすすめの順番
hatahata021
12
9.4k
DX接続タイプの違いが説明できるようになろう
hatahata021
0
2.6k
Other Decks in Technology
See All in Technology
多数のWebサービスをECS/Fargate構成で効率よく構築・運用するなら copilot-cli
interu
2
160
組織デバイスのための効率的なアプリケーション更新戦略
kenchan0130
0
450
Automated Tests Now and Future @ SQiP Workshop Special Lecture 2024
teyamagu
PRO
2
440
Bluesky 2019〜2022
yamarten
1
120
なぜ Rack を理解すべきかプレトーク / Why should you understand Rack - Pre-talk
hogelog
0
220
自然言語処理を役立てるのはなぜ難しいのか
pfn
PRO
14
4.2k
エンジニア向け会社紹介資料
caddi_eng
14
270k
KongによるAPIライフサイクル マネジメント
hashitokyo
1
160
From LibreOffice to « La Suite » : providing civil servants with Free Software sovereign tools
bluehats
0
120
AWSの初級者向けAI・ML資格『AWS Certified AI Practitioner』の傾向と対策/So You Want To Pass AWS Certified AI Practitioner
quiver
0
910
とある事業会社にとっての Kaggler の魅力
hakubishin3
7
1.5k
AWS Lambda と Amazon SQS で「わかった気になれる」FreeRTOS 入門
soracom
PRO
2
140
Featured
See All Featured
It's Worth the Effort
3n
183
27k
The Cost Of JavaScript in 2023
addyosmani
43
5.9k
Writing Fast Ruby
sferik
626
60k
Building Your Own Lightsaber
phodgson
102
6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
Optimising Largest Contentful Paint
csswizardry
31
2.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Transcript
そのCIDR、ほんとに使って大丈夫? VPCについてあらためて考えてみる JAWS FESTA 2023 懇親会LT
自己紹介 名前: 畠山 大治 業務: AWSを使ったインフラ構築 @某CIre 趣味: Perfumeを追いかける(ファンクラブ 9年目)
読書、映画・アニメを見る 資格: AWS認定全冠、GC認定ACE、失効間近のCCNA JAWS歴: コロナ禍にJAWSデビュー 現在は運営もやってます(OpsJAWS) 好きなAWSサービス: VPC @hatake_book
昨日の記録 ⚫大地のうどん、資さんうどんおいしすぎた
LTのきっかけ いつものようにAWS公式ドキュメントを見ていたら…
LTのきっかけ いつものようにAWS公式ドキュメントを見ていたら… VPCのことは好き。 でも、VPCのこと本当に 理解できてるかな?
話すこと・前提 ⚫VPCを使う前に確認しておきたいことを勝手にまとめました ⚫ついでに、みんな大好き(?)VPCについてちょっとおさらい ⚫ベスプラに沿うように意識してますが、あくまで個人的な まとめです ⚫気になるところあったら懇親会で捕まえてください!!
アジェンダ ⚫VPCについて軽くおさらい ⚫VPC使う時にあらかじめ確認しておきたいこと ⚫デフォルトVPC ⚫CIDR ⚫名前解決 ⚫消費されるIPアドレス ⚫IPアドレスの管理 ⚫IPv6 ⚫おまけ
VPCについて軽くおさらい
VPCとは ⚫VPCはリージョンごとに作成 サブネットはAZごとに作成 ⚫サービス開始は2009年 ⚫EC2のサービス開始よりも後(EC2は2006年) ⚫VPCリリース前のEC2は「EC2-Classic」と呼ばれる (サービス終了済み) ⚫たまにAWSサービスの裏にいる黒子的な存在 論理的に分離されたAWS内部の仮想ネットワーク https://docs.aws.amazon.com/ja_jp/vpc/latest/
userguide/what-is-amazon-vpc.html
VPCとは ⚫関連サービスは多岐にわたる(コンソール画面参考) ⚫ネットワーク系: サブネット、インターネットGW、ルートテーブル、VPN、Transit Gateway、 VPC Lattice … ⚫ セキュリティ系:
ネットワークACL、セキュリティグループ、DNS Firewall、 Network Firewall… ⚫実は、AWS CLIコマンドでは EC2の中に位置する
VPC使う時にあらかじめ 確認しておきたいこと ~デフォルトVPC~
デフォルトVPCの扱い ⚫クオーターの観点 ⚫VPCの上限数はアカウントあたり5個まで ⚫上限緩和可能だが、残しておくメリット が薄いので削除推奨 クオーターとセキュリティの観点から、削除推奨 ⚫セキュリティの観点 ⚫デフォルトVPC内にはパブリックサブネットが 存在する ⚫インターネットGW、セキュリティグループも
デフォルトのものが存在する ⚫デフォルトのサブネット、ルートテーブル、 IGW、SGもまとめて削除しましょう ※デフォルトVPC達は後から再作成も可能です
VPC使う時にあらかじめ 確認しておきたいこと ~CIDR~
使用しないほうがいいCIDR ⚫リンクローカルアドレス:169.254.0.0/29 特殊な意味を持つCIDR グローバルIPを含むCIDR ⚫使用しても良いが、インターネットに抜ける場合などに影響あり ⚫運用者も混乱するはず、よほどのことが無ければ避けるべき (異論あったら教えてください!!) AWSで予約しているCIDR ⚫172.17.0.0/16 ⚫Cloud9、Sage
Makerを使用するとIPアドレスの競合が発生する可能性あり
使用しないほうがいいCIDR ⚫リンクローカルアドレス:169.254.0.0/29 特殊な意味を持つCIDR グローバルIPを含むCIDR ⚫使用しても良いが、インターネットに抜ける場合などに影響あり ⚫運用者も混乱するはず、よほどのことが無ければ避けるべき (異論あったら教えてください!!) AWSで予約しているCIDR ⚫172.17.0.0/16 ⚫Cloud9、Sage
Makerを使用するとIPアドレスの競合が発生する可能性あり そもそも作成不可(エラーになる) 作成は可能 作成は可能
VPC使う時にあらかじめ 確認しておきたいこと ~名前解決~
名前解決関連で確認しておきたいこと ⚫VPCのDNS関連の設定、基本的には有効に ⚫DNS解決(enableDnsSupport) ⚫DNSホスト名(enableDnsHostnames) ⚫ある特定のDNSサーバーを使いたい場合は、DHCPオプションセットを別途作成する ⚫DNSサーバーは必ずオンプレにあるDNSサーバーを使いたい、など ⚫ある特定の名前解決の設定をしたいときは、Route53 Resolver Endpointを使用する ⚫syanai.localだけはオンプレのDNSサーバーで名前解決させたい、など
⚫料金には注意 0.125USD ENI ごと / 1時間 → 90USD / 月 × 2 ENI (ENIは最低2つ必要) = 180USD / 月
VPC使う時にあらかじめ 確認しておきたいこと ~消費されるIPアドレス~
裏側でENIを消費するサービス(一例) ⚫エージェントを使用する場合はENIを4つ使用 ⚫エージェントを使用しなくてもENIを2つ使用 DataSync ⚫ジョブ実行時にENIが追加で1つ必要 Glue パツパツのCIDRにしていると危険 各サービスドキュメントの「ネットワーク要件」を要チェック!
VPC使う時にあらかじめ 確認しておきたいこと ~IPアドレスの管理~
IPアドレスの管理を考える ⚫社内で代々受け継がれるIPアドレス管理表を事前に確認 ⚫CIDRを後で変更するのは絶望的 ⚫IPアドレス管理には IP Address Manager(IPAM) を積極的に活用 ⚫事前にIPAMでIPのプールを作っておくことで、VPC作成時にプールの 中からCIDRを引っ張ってくることが可能
VPC使う時にあらかじめ 確認しておきたいこと ~IPv6~
IPv4と色々違うIPv6 ⚫IPv6はグローバルに一意なのでCIDRを事前に定義できない ⚫各リージョンで定められた範囲から、勝手に払い出される ⚫IaCを使う場合は、作成したリソースから属性値を引っ張ってくるなどの対応が必要 ⚫IPv6を使用した名前解決が必要な場合はDNS64を使用 ⚫DNS64は明示的に有効化する必要あり ⚫NAT64はデフォルトで有効 ⚫IPv6を使ったインターネットアウトバウンドがある場合は注意 ⚫場合によっては Egress
Only Internet Gateway を追加する必要あり
IPv4と色々違うIPv6 ⚫IPv6についての詳細は外道父さんの神ブログへ! https://blog.father.gedow.net/2023/09/04/aws-public-ipv4-to-ipv6/
VPC使う時にあらかじめ 確認しておきたいこと ~おまけ~
Terraformを使う場合 ⚫cidrsubnet 関数を積極的に利用しよう ⚫VPCのCIDRだけ定義しておけば、パラメータをいじるだけで サブネットのCIDRを定義できる ⚫IPv6のCIDRでも使用可能 https://developer.hashicorp.com/terraform/language/functions/cidrsubnet
さいごに 何かとやっかいもの扱いされがち(?)なVPCですが もっと知りたくなってくれたらうれしいです
参考情報 ⚫VPC 公式ドキュメント ⚫ https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html ⚫create-vpc — AWS CLI 1.29.57
Command Reference ⚫ https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc.html ⚫VPC CIDR ブロック ⚫ https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-cidr-blocks.html ⚫VPC 内の DNS 属性 ⚫ https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-dns.html#vpc-dns-support ⚫AWS DataSyncネットワーク要件 ⚫ https://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/datasync-network.html ⚫AWS Glue のエラー「The specified subnet does not have … ⚫ https://repost.aws/ja/knowledge-center/glue-specified-subnet-free-addresses ⚫VPCのDNS解決とDNSホスト名の関係性について検証してみた ⚫ https://blog.serverworks.co.jp/2023/05/02/175854#DNS%E3%83%9B%E3%82%B9%E3%83%88%E5%90%8 DenableDnsHostnames ⚫AWSのPublic IPv4構成をIPv6に切り替える ⚫ https://blog.father.gedow.net/2023/09/04/aws-public-ipv4-to-ipv6/