Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
VPC Block Public AccessとCloudFrontVPCオリジンによって何...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
da-hatakeyama
January 10, 2025
Technology
1.7k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VPC Block Public AccessとCloudFrontVPCオリジンによって何が変わるのか?
社内勉強会(NRIネットコム様とアイレットの合同勉強会)での発表資料です
da-hatakeyama
January 10, 2025
More Decks by da-hatakeyama
See All by da-hatakeyama
ウォーターフォール開発案件のPMとしてAI活用を模索している話
hatahata021
3
810
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
450
これまでのネットワーク運用を変えるかもしれないアプデをおさらい
hatahata021
4
490
好奇心をくすぐるサービス「Amazon Leo」について徹底調査
hatahata021
0
220
プロトコルを跨いで使えるファイルサーバーを作ってみる〜S3 File GatewayとTransfer Familyの併用〜
hatahata021
1
270
VPC Block Public Accessを触ってみて気づいた色々な勘所
hatahata021
2
450
WernerVogelsのKeynoteで語られた6つの教訓とOps
hatahata021
2
730
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
3
470
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
2
3.9k
Other Decks in Technology
See All in Technology
自主式軟體工廠
philipz
0
120
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
350
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
230
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
220
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
570
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
460
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
710
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
280
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
320
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
180
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
300
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
140
Featured
See All Featured
Crafting Experiences
bethany
1
360
Product Roadmaps are Hard
iamctodd
55
13k
Optimising Largest Contentful Paint
csswizardry
37
4k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
350
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
The browser strikes back
jonoalderson
0
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Test your architecture with Archunit
thirion
2
2.4k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
520
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Transcript
[NRIネットコム & Iret 共同]re:Invent recap CI事業部 畠山大治 VPC Block Public
Accessと CloudFront VPC Originsによって 何が変わるのか?
目次 2 l はじめに l VPC Block Public Access、CloudFront VPC
Originsとは l 実際に触ってみる l VPC Block Public Accessの設定内容による挙動の確認 l CloudFront VPC Originsの導入方法 l VPC Block Public AccessとCloudFront VPC Originsを組み合わせる l 今後意識すべき観点 l まとめ
3 はじめに
自己紹介 4 名前: 畠山大治 所属: クラウドインテグレーション事業部 プロジェクトマネジメントセクション 業務: クラウド案件のプリセールスや要件定義 好きなもの:
Perfume、読書、映画・アニメ ギター(練習中) 認定・資格:
今日話すこと・話さないこと 5 l 話すこと Ø VPC Block Public Access、CloudFront VPC
Originsの概要 Ø 実際に導入してみた場合の挙動を確認した結果 Ø 導入する時に考えるべきこと、気を付けるべきこと(主観) l 話さないこと Ø VPC、CloudFrontなど基本的なAWSサービスについての説明 Ø ネットワークに関する基礎知識の補足説明 Ø Webサイトのフロントエンド、バックエンド実装に関わる領域
6 VPC Block Public Access、CloudFront VPC Originsとは
VPC Block Public Access(BPA)とは 7 l VPCとインターネットの間の通信をブロックできる機能 Ø ブロックする方向は2種類の設定から選択可能 •
双方向 :インバウンドとアウトバウンド両方ブロック • Ingress-only :インターネットからVPCへのインバウンドのみブロック l BPA設定を適用しない除外設定をサブネット単位で設定可能 Ø 除外するトラフィックの方向も2種類から選択可能 • 双方向 :インバウンドとアウトバウンド両方を許可 • Egress-Only :サブネットからインターネットへの通信を許可 l セキュリティグループやNACLよりも強力な設定 l リージョン単位で設定が反映される
CloudFront VPC Originsとは 8 l プライベートサブネットにあるリソースを、CloudFrontディストリビューションのオリジ ンに設定できる機能 l 対応しているリソースはALB、NLB、EC2インスタンス l
ALB、NLBをパブリックサブネットに配置する必要がないため、よりセキュアな構成にす ることができる Ø パブリックIPを削減することができるためコスト削減も見込める
9 実際に触ってみる
10 VPC Block Public Accessの設定内容による挙動の確認
VPC Block Public Accessの設定内容による挙動の確認 11 従来通りのアーキテクチャで検証環境を用意 l IPv4とIPv6のデュアルスタック構成でVPCとサブ ネットを作成 l
ALBもデュアルスタックで作成 l インターネットとの通信パターンを3種類用意し、 BPA設定によるそれぞれの挙動を確認 Ø EC2からのインターネットEgress(IPv4) Ø EC2からのインターネットEgress(IPv6) Ø インターネットからALBへのIngress(IPv4、IPv6) l Egress通信の確認にはGoogleのDNSを使用 Ø IPv4:8.8.8.8 Ø IPv6:2001:4860:4860::8888 l 簡略化のためHTTPS化は未実施
VPC Block Public Accessの設定内容による挙動の確認 12 まずは「双方向ブロック、除外設定なし」の設定を入れてみる (設定を入れた後に1分ほど待機すると有効化される)
VPC Block Public Accessの設定内容による挙動の確認 13 「VPCとインターネットとの通信をすべてブロックする」 という設定を入れているので、全通信がブロックされる 通信経路 結果 EC2からのインターネットEgress(IPv4)
拒否 EC2からのインターネットEgress(IPv6) 拒否 インターネットからALBへのIngress(IPv4、IPv6) 拒否
VPC Block Public Accessの設定内容による挙動の確認 14 先ほどの設定に「パブリックサブネットでの双方向通信を除外」という設定を追加してみる (設定を入れてから有効化されるまで5分ほど時間がかかる)
VPC Block Public Accessの設定内容による挙動の確認 15 IPv6でのEgress通信のみ拒否される結果に 通信経路 結果 EC2からのインターネットEgress(IPv4) 許可
EC2からのインターネットEgress(IPv6) 拒否 インターネットからALBへのIngress(IPv4、IPv6) 許可 sh-5.2$ ping -c 10 2001:4860:4860::8888 PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes --- 2001:4860:4860::8888 ping statistics --- 10 packets transmitted, 0 received, 100% packet loss, time 9373ms sh-5.2$
VPC Block Public Accessの設定内容による挙動の確認 16 l IPv6でのEgressが一度許可(ACCEPT)された後に拒否(REJECT)されている l VPCフローログのreject-reasonフィールドに「BPA」との記載あり セキュリティグループやNACLで許可された後に、BPAで拒否されるという挙動になっている
VPC Block Public Accessの設定内容による挙動の確認 17 「プライベートサブネットでのEgress通信を除外」という設定をさらに追加してみる
VPC Block Public Accessの設定内容による挙動の確認 18 必要なインターネットトラフィックがすべて許可される 通信経路 結果 EC2からのインターネットEgress(IPv4) 許可
EC2からのインターネットEgress(IPv6) 許可 インターネットからALBへのIngress(IPv4、IPv6) 許可 ※ BPA設定のブロック方向を「Ingress-Only」にした場合は、 IPv6のEgress通信は制限されない (プライベートサブネットの除外設定が不要になる)
VPC Block Public Accessの設定内容による挙動の確認 19 今回の構成でBPAを導入するのであれば以下のような設定になる l パターン1 Ø 双方向ブロック
Ø パブリックサブネットでの双方向除外 Ø プライベートサブネットでのEgress-Only除外 l パターン2 Ø Ingress-Onlyブロック Ø パブリックサブネットでの双方向除外
20 CloudFront VPC Originsの導入方法
CloudFront VPC Originsの導入方法 21 先ほどの構成でBPAの設定を無効にした上で、構成にCloudFrontを追加する
CloudFront VPC Originsの導入方法 22 まずはVPC Originsに設定する内部ALBを新規作成
CloudFront VPC Originsの導入方法 23 CloudFrontの画面左メニューから[VPC Origins]をクリックし、そこからVPC Originsを作成する
CloudFront VPC Originsの導入方法 24 VPC Originsの作成が完了すると、裏では「cloudfront_managed」というタイプのENIが2つ追加される
CloudFront VPC Originsの導入方法 25 CloudFrontのオリジンにVPCオリジンを追加し、ビヘイビアのオリジン設定を修正すれば設定完了!
CloudFront VPC Originsの導入方法 26 インターネットに露出するリソースを極限まで減らした構成が完成
27 VPC Block Public AccessとCloudFront VPC Originsを組み合わせる
VPC Block Public AccessとCloudFront VPC Originsを組み合わせる 28 先ほど最後に使った設定「BPAで双方向ブロック、パブリックサブネットで双方向除外、プライベー トサブネットでEgress-Only除外」を再度有効化してみると…
VPC Block Public AccessとCloudFront VPC Originsを組み合わせる 29 インターネットからWebサーバーに到達不可能に インターネットからCloudFront VPC
Origins向けの 通信はインバウンドと判定されている 通信経路 結果 EC2からのインターネットEgress(IPv4) 許可 EC2からのインターネットEgress(IPv6) 許可 インターネットからALBへのIngress(IPv4、IPv6) 拒否 プライベートサブネットでの設定を双方向除外に 変更する必要がある
VPC Block Public AccessとCloudFront VPC Originsを組み合わせる 30 今回の構成でBPAを導入するのであれば以下のような設定になる l パターン1
Ø 双方向ブロック Ø パブリックサブネットでのEgress-Only除外 Ø プライベートサブネットでの双方向除外 l パターン2 Ø Ingress-Onlyブロック Ø プライベートサブネットでの双方向除外
31 今後意識すべき観点
今後意識すべき観点 32 l BPAのブロック方向の設定によって除外設定の内容も変わることを考慮して設計を行う必 要がある l 既存リソースがある環境で導入する場合は… Ø あらかじめ除外設定を入れておいた上で、BPA設定のブロック方向を「Ingress-Only」に設定、 そこから除外設定を追加していくという手順が比較的シンプルと思われる
Ø とはいえアーキテクチャによって設計を柔軟に変えておく必要がある l インターネット接続を問答無用で遮断する機能なので設定は慎重に! Ø 設定はかなりシンプルだが影響は非常に大きい BPA設定のブロック方向と除外設定の組み合わせ
今後意識すべき観点 33 l セキュリティグループ、NACLよりも強力な 機能なので権限管理をしておくと安心 Ø 権限設定の例 • 「VpcBlockPublicAccessExclusion」 が含まれ
れるEC2のAPIアクションのみを制限するIAM ポリシー • 2025年1月現在、対象のAPIアクションは6つ存 在している 権限管理 { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmtxxxxxxxxxxxxx", "Action": [ "ec2:CreateVpcBlockPublicAccessExclusion", "ec2:DeleteVpcBlockPublicAccessExclusion", "ec2:DescribeVpcBlockPublicAccessExclusions", "ec2:DescribeVpcBlockPublicAccessOptions", "ec2:ModifyVpcBlockPublicAccessExclusion", "ec2:ModifyVpcBlockPublicAccessOptions" ], "Effect": "Deny", "Resource": "*" }, { "Sid": "Stmtxxxxxxxxxxxxx", "Action": "*", "Effect": "Allow", "Resource": "*" } ] }
参考:Terraformの利用 34 Terraformがすでに対応しているのでIaC管理に組み込むことも可能です Ø Resource: aws_vpc_block_public_access_exclusion • https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_block_public_access_exclusion Ø Resource:
aws_vpc_block_public_access_options • https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_block_public_access_options
35 まとめ
まとめ 36 l BPAを使用するとVPCとインターネットの間のトラフィックを制御できる Ø セキュリティやガバナンスを強化する効果がある l CloudFront VPC Originsを使用するとパブリックサブネットに配置するリソースを極限ま
で減らすことができる Ø パブリックIPによるセキュリティ強化とコスト削減の効果がある l BPAとCloudFront VPC Originsを組み合わせることで、よりセキュアな環境を作ることが できる l 一方で、設計時には既存の構成とは少し異なる観点が必要になる
参考資料 37 l Amazon VPC Block Public Access による VPC
セキュリティの強化 Ø https://aws.amazon.com/jp/blogs/news/vpc-block-public-access/ l VPC とサブネットへのパブリックアクセスをブロックする Ø https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/security-vpc-bpa.html l [アップデート]複数VPCのインターネット通信を制御する機能「VPC Block Public Access (BPA)」がリリースされました! Ø https://iret.media/128465 l Amazon CloudFront VPC オリジンの紹介: アプリケーションのセキュリティ強化と運用の合理化 Ø https://aws.amazon.com/jp/blogs/news/introducing-amazon-cloudfront-vpc-origins-enhanced-security-and-streamlined- operations-for-your-applications/ l Restrict access with VPC origins Ø https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/private-content-vpc-origins.html