Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VPCについてあらためて考えてみる
Search
da-hatakeyama
October 07, 2023
Technology
1
270
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
好奇心をくすぐるサービス「Amazon Leo」について徹底調査
hatahata021
0
46
プロトコルを跨いで使えるファイルサーバーを作ってみる〜S3 File GatewayとTransfer Familyの併用〜
hatahata021
1
170
VPC Block Public Accessを触ってみて気づいた色々な勘所
hatahata021
2
310
VPC Block Public AccessとCloudFrontVPCオリジンによって何が変わるのか?
hatahata021
2
1k
WernerVogelsのKeynoteで語られた6つの教訓とOps
hatahata021
2
600
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
3
370
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
1
3.2k
「AWSの薄い本」の紹介
hatahata021
1
220
ALBの新機能 Automatic Target Weightsとgray failuresについて考えてみる
hatahata021
0
1k
Other Decks in Technology
See All in Technology
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
240
手動から自動へ、そしてその先へ
moritamasami
0
300
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
710
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
480
Rubyで楽して タスクを書きたい!
ahogappa
0
110
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
480
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
280
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
280
.NET 10の概要
tomokusaba
0
100
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.5k
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
250
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Writing Fast Ruby
sferik
630
62k
The Language of Interfaces
destraynor
162
25k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Scaling GitHub
holman
464
140k
A Tale of Four Properties
chriscoyier
162
23k
Music & Morning Musume
bryan
46
7k
Facilitating Awesome Meetings
lara
57
6.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Faster Mobile Websites
deanohume
310
31k
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/