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 Ingress Routingについて/about VPC Ingress Routing
Search
YukihiroChiba
January 23, 2020
Technology
2.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VPC Ingress Routingについて/about VPC Ingress Routing
YukihiroChiba
January 23, 2020
More Decks by YukihiroChiba
See All by YukihiroChiba
DevelopersIO 2025 RIとSP基礎講座
yukihirochiba
1
2.7k
わたしの業務の中に住み着いたCacoo/Cacoo has taken up residence in my work routine
yukihirochiba
0
1.4k
Amazon VPCでの IPv6利用に向けた はじめの一歩/first-step-towards-using-ipv6-in-amazon-vpc
yukihirochiba
0
1.3k
AWS IAM の結果整合性を避けるためセッションポリシーを用いてポリシーの動作確認を行う、を解説する
yukihirochiba
0
1.3k
SSMエージェントはIAMロールの夢を見るか/ Do SSM Agents Dream Of IAM Roles?
yukihirochiba
0
3.3k
AWS IAM の知っておくべき話と知らなくてもいい話 DevIO2023/ AWS IAM DevIO 2023
yukihirochiba
0
3.8k
デジタルアイデンティティWGミニウェビナー第4回「IaaSとアイデンティティ」/ jnsa-iaas-identity
yukihirochiba
0
920
学習エンジンがうなりを上げているチームの作り方 / How to build a team with a learning engine humming along
yukihirochiba
0
7.8k
Amazon Route 53 Application Recovery Controller zonal shift 試してみた
yukihirochiba
0
2.4k
Other Decks in Technology
See All in Technology
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
100
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
200
大型犬好きによるPugの紹介
yamanoku
1
160
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
How to Design Configuration for Rails Applications
willnet
1
790
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
170
go-sqletch
moznion
0
140
WasmをRustにする
sansantech
PRO
0
250
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
520
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Bash Introduction
62gerente
615
220k
Designing for Timeless Needs
cassininazir
1
530
Git: the NoSQL Database
bkeepers
PRO
433
67k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Accessibility Awareness
sabderemane
1
250
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Transcript
VPC Ingress Routingについて 〜IPヘッダのことを考えて頭を抱えよう〜 2020/1/22(水) AWS事業本部コンサルティング部 千葉幸宏 1
2 発端 2019/12/12 『20分くらいでre:Invent周り の特定サービスの話よろし くお願いします!』(入社前)
自己紹介 千葉幸宏 • 2020年1月JOIN • ITエンジニア歴5年半、AWS歴4年半 • AWS認定9冠 ◦ 機械学習、Alexaが未取得
• 「Dockerがどっかーん。」じゃない方 3時間悩んだ結果、 右のアイコンにしました。 3 ¥440 ¥275 • 好きなAWSサービス: ◦ VPC • 好きなネットワークコンポーネント: ◦ 仮想ルータ コンニチハ
4 今日の流れ • ざっくりVPC Ingress Routingとは • ネットワークの基本に立ち返る • もう少しVPC
Ingress Routingを深堀り • おまけ ◦ 実際のアプライアンスの構成って? ◦ アプライアンスの可用性担保ってどうしたらいい?
5 ざっくりVPC Ingress Routingとは
6 VPC Ingress Routingとは • ゲートウェイ(IGW、VGW)にルートテーブルを関連づけること ができるようになったよ • それによってVPCへのインバウンドに対して特殊なルーティ ングができるようになったよ
• アプライアンス製品を使用する構成以外は特に使い道は思 いつかないよ
7 こんなにあるルートテーブルの種類
8 急にネットワークのおさらい
9 Agenda • IPヘッダを意識しよう • IPフォワードとは ◦ 送信先/送信元チェック • NATとは
◦ 例:NATインスタンス ◦ 例:NLB • プロキシとは ◦ 例:フォワードプロキシ ◦ 例:リバースプロキシ • ルーティングとは
10 IPパケット @IT 第10回 IPパケットの構造とIPフラグメンテーション (2/3) https://www.atmarkit.co.jp/ait/articles/0304/04/news001_2.html より IPパケットはIPヘッダとデータ 部からなる。 IPヘッダには以下が含まれ る。 •
送信元IPアドレス • 宛先IPアドレス 上記の2つを意識してみる。
11 ネットワークをまたぐ通信の基本的な考え方 クライアントは自身のルーティング テーブルに従いゲートウェイにパ ケットを送信する。 宛先IPのネットワークのルータに たどり着くまで、各ルータは各々 のルーティングテーブルに従いIP パケットをルーティングする。 ルータを経由するだけでは送信元
IPと宛先IPに変化はない。
12 IPフォワードとは 自身が宛先IPアドレスでないIPパ ケットを受け取った場合、自身が 参照するルーティングテーブルに 従い、対応するインタフェースから パケットを転送する行為。ルータ だけでなくサーバが行うことも可 能。 IPヘッダ内の宛先IP、送信先IPに
変更は加えない。
13 送信元/送信先チェック VPC上のリソースはデフォルトでは自身が宛先IPアドレスでないIPパケットを受け 取ることができない。 ENIのパラメータである「送信元/送信先チェック」を無効化することで解消でき る。 AWSカスタマーが明示的に上記のパラメータを変更できるのはEC2に紐づくENI のみであるため、実質的にEC2のパラメータであると言える。
14 NATとは IPヘッダ内の送信元IPもしくは宛 先IPを変換する行為。 プライベートIPとグローバルIPの変 換がよくあるケース。 変換前と変換後がN:1で紐づく場 合を、NAPTやIPマスカレードと呼 ぶ。
15 NAT on AWS NATインスタンス (例)NATインスタンス NATインスタンスは送信元IP をNAPTしている。 AMIで用意されているNATイ ンスタンスには、IPフォワー ドとIPマスカレードが予め有
効になっている。
16 NAT on AWS NLB (例)NLB(インターネット向 け) NLBは、ALBやCLBと異なり、 送信元IPを維持したまま宛 先IPをNATする。 そのため、戻りの通信は
NLBを経由しない。プライ ベートサブネットのインスタ ンスからインターネット疎通 可能な状態にしておく必要 がある。 訂正します
17 NLBの挙動について 戻りの通信もNLB を経由し、プライベートサ ブネットのインスタンスから、インターネットへ 疎通可能な状態にしておく必要はない。 https://www.slideshare.net/AmazonWebServicesJapan/20191 029-aws-black-belt-online-seminar-elastic-load-balancing-elb/ 53 2020/3/27訂正
ご指摘いただき、正しい挙動は以下となりま す。 当該インスタンスのSecurity Group では、インターネット側の クライアントと直接送受信しているように見える ため、イン ターネット側のクライアントIP との通信許可設定は必要(イン ターネット向けに広く公開する場合には、 0.0.0.0/0との通信 許可など) Securiry Groupの開放については以下の仕様が補 足としてあります。
18 プロキシとは 通信を代替する機能。 IPパケットは一旦プロキシで終 端され、改めて宛先に対してIP パケットが送出される(要出 典)。 右記の例は、フォワードプロキ シを想定したもの。
19 プロキシ on AWS フォワードプロキシ (例)EC2でプロキシサーバ を構築したケース プライベートEC2から来るIP パケットの宛先IPはプロキ シサーバであるため、IP フォワードは不要。送信元/
送信先チェックを無効にす る必要が無い。
20 プロキシ on AWS リバースプロキシ (例)ALB(インターネット向 け) NLBの場合と異なり、プライ ベートEC2へのIPパケットの 送信元IPはALBのものとな る。
戻りの通信はALB経由で行 われるし、EC2にアタッチす るSecurityGroupはALBを ソースにすれば良い。
21 ルーティングとは ルーティング(英: routing)あるいは経路制御 (けいろせいぎょ)とは、データを目的地まで 送信するために、コンピュータネットワーク上 のデータ配送経路を決定する制御の事であ る。 (Wikipediaより) 文脈によって微妙に意図すると
ころが変わる気もします。 VPC Ingress Routingでは、新たな 対象にルートテーブル を適用で きるようになったため、それによ る経路制御をもって「Routing」な のだと理解しています。
22 ようやくVPC Ingress Routingの内訳
23 ここに書いたことのおさらいです。 https://dev.classmethod.jp /cloud/aws/what-is-vpc-ing ress-routing/
24 インターネット経由の通信 ユーザがパブリックサブネット上のEC2 にアクセスする。そこをアプライアンス でインターセプトしたい。 ゲートウェイルートテーブル が登場す るまでは、簡単には行かなかった。
25 VPC Ingress Routingなしでどうしたらできる? 例えば‥ そもそも宛先IPとしてアプラ イアンスを指定してそこから NATさせるか、トンネルを張 るか。 AWS
re:Invent 2019】VPC Ingress Routingを試してみた http://blog.serverworks.co.jp/tech/2019/12/04/vpc-ingress-routing/ より
26 TransitGateway使ったらできる? VPC間の通信をインターセ プトする構成はできる。 VPC内からインターネットに 抜けてく経路ならVPCを分 ければインターセプトでき る? VGW経由の通信であれば 両方向インターセプトでき
る? どのみち煩雑そうだし、お 値段もそこそこする。 20191113 AWS Black Belt Online Seminar AWS Transit Gateway https://www.slideshare.net/AmazonWebServicesJapan/20191113-aws-black-belt-online-seminar-aws-transit-gateway より
27 ともかく簡単になった ゲートウェイルートテーブル に ルートを定義できるようになり、イ ンターセプトが簡単に!
28 さっきと似たような絵でみると ここで想定しているアプライ アンスサーバはIPフォワード をするのみで、NATをしませ ん。 アプリケーションサーバ側 のサブネットルートテーブル にルートを定義しないと、戻 りの通信はIGW経由で行わ
れます。
29 アウトバウンド アウトバウンドの通信もアプライアンス サーバを経由させたい場合、サブネッ トのルートテーブル に書くことで実現。
30 さっきと似たような絵でみると インバウンドの場合と比 較して、送信元IPと宛先IP がそのまま逆になりま す。
31 まとめ • 特定のゲートウェイにルートテーブルを関連付けられるようになった ◦ インターネットゲートウェイ(IGW)と仮想プライベートゲートウェイ(VGW)である ◦ 上記の関連付けをエッジアソシエーションと呼ぶ ◦ エッジアソシエーションされたルートテーブルをゲートウェイルートテーブル
と呼ぶ • ゲートウェイルートテーブルには以下の制限がある ◦ 送信先として指定できるのはVPCのCIDRの範囲内のみ ◦ ターゲットに指定できるのは「local」か「ネットワークインタフェース」のみ ※事実上EC2のみ ◦ ルートテーブル のパラメータ「ルート伝達」が有効であってはならない • ゲートウェイルートテーブルによって、VPCへのインバウンドを細かくルーティングできるようになった ◦ 宛先IPとは異なるインタフェースにルーティングが可能に ◦ ルーティング先のサーバでIPフォワード設定がされていることが必要 ◦ ルーティング先のEC2で「送信元/送信先チェック」は無効であることが必要
32 おまけ
33 アプライアンスベンダーが書いたブログのリンク https://aws.amazon.com/jp/blogs/aws/new-vpc-ingress-routing-simplifying-integration-of-third-party-appliances/
34 paloaltoの例 https://live.paloaltonetworks. com/t5/Blogs/Amazon-Web- Services-AWS-Ingress-Routi ng/ba-p/300885 各ベンダーのを 一通り見てブログ に起こしたい‥
35 可用性? アプライアンスサーバが SPOFになる。 マルチAZでそれぞれ構成す るのはいいとして、片系のア プライアンスサーバが障害 発生したらどうする?
36 前段にELBおいてそこにIngress Routing? 無理。そもそもELBのENIは送信 先/送信元チェック有効になっ ているからそこでこける。 (それでも一応試した。) NLBのENIはゲートウェイルート テーブル のターゲットに指定で
きなかった。 CLBは指定できたが、ENIが可 変なので指定できても嬉しくな い。
37 ENIのスワップ?ルートテーブル の書き換え? 障害を監視する仕組みと連 動させて、 ルートテーブル でターゲット として指定されているENIを 別のインスタンスに付け替 えるか?
ルートテーブル 上でのター ゲットなるENIを書き換える か? OS上の設定が何かありそう なので感覚的に後者‥
38 Blackbeltではルート書き換えパターンが。 先ほどのTransitGatewayで見た資料です。 https://www.slideshare.net/AmazonWebServi cesJapan/20191113-aws-black-belt-online-se minar-aws-transit-gateway
39 IPヘッダを意識しましょう。 たまには仮想ルータも思い出しましょう。 まとめ
40