SlideShare a Scribd company logo
AWS NAT-GW導入と構成変化
2年運用して
同時接続数 秒間100->10万へ成長
自己紹介
CyberZ F.O.X エンジニア
茂木 高宏(もてき たかひろ)
得意技術:
ビッグデータ, AWS, ops系, サーバHW, kernel...
twitter: @tkmoteki / facebook: takahiro.moteki.31
[登壇]FaaSで簡単に実現する数十万RPS
負荷試験 https://goo.gl/ffYVbt
[登壇]Infrastructure as Codeを活用した
F.O.Xのクラウドビッグデータ環境の変化
https://goo.gl/5HTPzY
(2016年) 経緯
● 広域ユースケースをカバー出来る良い制限/認証方法がない
● 連携先からのIP制限希望
連携先
成果通信 データ送付
連携先提供の アクセス
連携先セキュ
リティポリシに
依存
● ユースーケース
...IP制限かけることに...
理想な認証: 連携先に追加実装なく認証できること
(2016年) 経緯
Amazon
EC2
Amazon
EC2
バッチ軍団
同一ユースケー
スでスケールア
ウトが可能
連携先連携先
制限必須で
す
制限必須で
はありません
EC2の場合,EC2のElastic IP or (Public IP)でイ
ンターネット外へ
● -> EC2のElastic IP or (Public IP)を連携先
許可が必要
IPIP
IP IP
大量の
連携先
(2016年) 経緯
Amazon
EC2
Amazon
EC2
連携先連携先
制限必須で
す
制限必須で
はありません
IPIP
IP IP
Amazon
EC2
増設したい
バッチサーバ
IP
連携先
に 解除申請
連携先 連携先
IP
IP
IP
IP
連携先 で 制限解除出来ないとバッチ増設出来ない
アプリ設計 連携先多さ 運用的に
(2016年) 経緯
● 制限解除 増設可能へ
● バッチサーバ増設が自社起因で不可能な状態に
(2016年) 経緯 NATすることに
連携先連携先
IPIP
NAT NAT
IP IP
IP
IP 連携先
IP
IP 連携先
IP
IP
IP
(2016年) NATの選択肢
Amazon
EC2
IPフォワード
VPC NAT
gateway
パターン
の フォワードを用いて 上へ クラスタ構築
パターン
上のマネージドサービス を利用
詳細比較 https://goo.gl/ZuiBcy
(2016年) 選択要件
ぶっちゃけラクしたい
(2016年) NATの選択肢
Amazon
EC2
IPフォワード
VPC NAT
gateway
パターン
の フォワードを用いて 上へ クラスタ構築
パターン
上のマネージドサービス を利用
採用
(2016年~2018年)NAT-GW仕様(1)
項目 説明
可用性 内部的に冗長化(単一AZレベル)
障害時の動き 数秒~数+秒で内部ノードリプレイス
種類(タイプ/サイズ) 選択出来ない
課金 NAT-GW料金(0.062/時間) + 通信量課金
サポートプロトコル TCP, UDP, ICMP
性能: 帯域 10Gbpsまでバースト
性能: スループット NATトラフィックに最適化
性能制限: 同時接続数 同時接続約65000(利用ポートレンジ1024 ~ 65535)
性能制限: タイムアウト アイドル5分以上で自動タイムアウト
セキュリティ セキュリティグループ未対応/NACLで制御
メンテンナス AWSによって管理
機能制限 VPN越し接続, VPCピアリング越し接続, ダイレクトコネクト越し接続不可(横断不可)
カスタマイズ パラメータ設定不可
その他機能制限 ポート転送, 踏み台機能不可
IPv6 未対応(Egress-only internet gatewayを利用) 参考 https://goo.gl/nBVRC5
(2016年~2018年)NAT-GW仕様(2)
● NAT-GWの使い方
● NAT-GWを経由するサブネットにENIを付与し配置するだけ
● ENIを付与し配置
○ 例: EC2, Lambda(VPC内実行)など
○ 意味ないけど、ElasticSearchService,RDS, ELBもENIを持つのでNAT-GWを
経由可
● NAT-GWを経由するサブネットはprivate subnet
○ インターネット上からのpublicアクセス不可(IN)
メリット: 使い方ちょうカンタン
デメリット: 余計な通信でNAT-GWの負荷をかけやすい
重要
(2016年) NAT-GW利用構成
Availability Zone 1a Availability Zone 1c
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
route table route table
public
subnet
public
subnet
private
subnet
private
subnet
route table
VPC NAT
gateway
subnet
多 多 1
~AWS仕様~
route table
VPC NAT
gateway
subnet
1 1 1
~利用構成~
NAT間通信のsubentのみ1:1:1へ
(シンプル性/route tableの切替え考慮)
(2016年) 事前設計:負荷分散
NAT-GW側でやれること
Availability Zone 1a Availability Zone 1c
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
route table route table
public
subnet
public
subnet
private
subnet
private
subnet
Availability Zone 1x
VPC NAT
gateway
route table
public
subnet
private
subnet
このセット
追加
ケース) 高負荷で性能オーバな場合
(2016年) 事前設計:負荷分散
アプリ側でやれること
ケース) 同時接続数を減らす
Availability Zone 1a Availability Zone 1c
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
route table route table
public
subnet
public
subnet
private
subnet
private
subnet
バッチ停止可能
な範囲から一部
停止 縮退
する必要が
ない通信は別
バッチへ分割
(2016年) 事前設計:切返し
NAT-GW側でやれること
Availability Zone 1a Availability Zone 1c
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
route table route table
public
subnet
public
subnet
private
subnet
private
subnet
ケース) NAT-GW側が死んだ場合(内部的に冗長化されてるけど...)
Availability Zone 1a Availability Zone 1c
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
route table
route table
public
subnet
public
subnet
private
subnet
private
subnet
切返し
(2018年) 2年後
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
同時接続数
100(秒間)
同時接続数
10万(秒間)
通信量約
100倍増加
~2016年~ ~2018年~
※ ある一定の条件あり
(2018年) Q&A 100倍通信量増加して
Q) 秒間10万 同時接続数でNAT-GW性能オーバーし負荷分散しま
したか?
A) No (捌けたから特にしてない)
Q) 2年間運用してNAT-GW側に障害ありましたか?
A) No (たぶん、そのはず)
VPC NAT
gateway
← こいつ案外
すげーな...
(2018年) 2020年予測キャパ
2018年2016年
100
(同時接続数/秒)
2020年
10万
30万?
実際の
同時接続数
100倍
2倍と予測
(サービス的に予測可)
(年月
合計NATGW
同時接続数
制限
13万13万 13万
(2018年) 2020年予測キャパ
2018年2016年
100
(同時接続数/秒)
2020年
10万
20万?
実際の
同時接続数
100倍
(年月
合計NATGW
同時接続数
制限
13万13万
30万
性能アラート(自社): warn80%, crit90% -> 予測段階で50~60%理想
2倍と予測
(サービス的に予測可)
(2018年) NAT-GW事前対策1
NAT NAT
NAT NAT
リザーブ
NAT-GWをリザーブした
○ NAT-GW増設に自社起因で可能な状態へ
連携先
IP
IPIP
IP
IP
IP
IP
IP
(2018年)NAT-GW対策2
VPC NAT
gateway
private subnet
● VPCエンドポイントで負荷を逃がす
● NAT-GWを経由するサブネットは、インターネット上への通信がNAT-GWを経由(OUT)
○ SQS, Kinesis(Kinesis Streamエンドポイント付与してないから)
○ 例外: S3(S3エンドポイント付与したから),DynamoDBエンドポイントは進め中
endpoints
Amazon
Kinesis
Amazon
SQS
Amazon
S3
Amazon
DynamoDB
(2018年) NAT-GW対策3
コネクション持続特性でNAT-GW分けた
Availability Zone 1a Availability Zone 1c
VPC NAT
gateway
VPC NAT
gateway
ワリとバッチっぽい用途リアルタイム用途
ケース
成果通信
ケース
データ送付 外部データ
(2018年) NAT-GW現構成
Availability Zone
1a
Availability Zone
1c
VPC NAT
gateway
VPC NAT
gateway
route
table
route
table
public
subnet
public
subnet
private
subnet
private
subnet
Availability Zone
1a
Availability Zone
1c
VPC NAT
gateway
VPC NAT
gateway
route
table
route
table
public
subnet
public
subnet
private
subnet
private
subnet
NAT NAT
NAT NAT
リザーブ
ケース データ送付 外部データケース 成果通信
endpointsendpoints endpoints endpoints
(2018年) NAT-GW運用
● モニタリング
● 障害対応
● ロギング
● 痛い課題
(2018年) NAT-GWモニタリング
CloudWatchメトリクス参考
● NAT-GW CloudWatchメトリクス
● NAT-GWへICMP echo
○ pingやtraceroute, mtrで応答を見る
● NAT-GWのaliveness
○ AWSマネコンから確認可
● VPC Flow logs
最も簡単で
確認しやすい
(2018年) NAT-GW監視
CloudWatchメトリクス参考
NAT-GW CloudWatch監視すべきメトリクス
項目 説明 対応など
ErrorPortAllocation 送信元ポートを割り当てられなかった件数。性能問題の発見。 スライド13,14
ActiveConnectionCount 同時接続数。性能制限の発見(同時接続数) スライド13,14
IdleTimeCount アイドル時間が5分以上になり自動でタイムアウトした件数。
同時接続数内訳のデバックに役立つ。
-
PacketsDropCount NAT-GWでドロップしたパケット数。NAT-GWのdownの発見。 スライド15, aws service healthダッ
シュボード確認(or 問合せ)
注意: 連携先(相手先)が死亡 -> IdleTimeCount増加 -> ActiveConnectionCount
増加(最大12万同時接続まで確認済)
(2018年) NAT-GW障害対応
2016年時とほぼ一緒
(2018年) 痛い課題
● 処理データ課金が高い
○ 同時接続数100倍 -> 課金も成長><
その他: stoneプロキシとの使い分け
● NAT-GW / エンドポイント設定したサブネットは強制的通過
○ stone利用: アプリケーション/プロトコルレベル等でNAT-GW / VPCエンドポイントを
経由させない(←構築背景)
○ IP固定化されるので、秘匿通信は不可
VPC NAT gateway
private subnet
(NAT経由する)
endpoints Amazon S3
public subnet
(NAT経由しない)
アプリ1
アプリ1
アプリ1
アプリ1
endpoints Amazon S3
stone

More Related Content

PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
PDF
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
PDF
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
PPTX
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
PDF
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
PDF
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
PDF
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用

What's hot (20)

PDF
Kubernetesを使う上で抑えておくべきAWSの基礎概念
PDF
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
PDF
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
PDF
AWS Black Belt Online Seminar 2017 AWS X-Ray
PDF
20170725 black belt_monitoring_on_aws
PDF
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
PDF
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
PDF
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
PDF
AWS Black Belt Online Seminar 2017 AWS OpsWorks
PDF
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
PDF
20190320 AWS Black Belt Online Seminar Amazon EBS
PDF
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
PPTX
基礎から学ぶ? EC2マルチキャスト
PDF
20200212 AWS Black Belt Online Seminar AWS Systems Manager
PDF
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
PDF
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
PDF
20200812 AWS Black Belt Online Seminar Amazon Macie
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
PDF
オンプレミスRDBMSをAWSへ移行する手法
PDF
AWSの課金体系
Kubernetesを使う上で抑えておくべきAWSの基礎概念
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
AWS Black Belt Online Seminar 2017 AWS X-Ray
20170725 black belt_monitoring_on_aws
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
AWS Black Belt Online Seminar 2017 AWS OpsWorks
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20190320 AWS Black Belt Online Seminar Amazon EBS
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
基礎から学ぶ? EC2マルチキャスト
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
20200812 AWS Black Belt Online Seminar Amazon Macie
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
オンプレミスRDBMSをAWSへ移行する手法
AWSの課金体系
Ad

Similar to [社内共有会]AWS NAT-GW導入と構成変化 2年運用して 同時接続数 秒間100->10万へ成長 (20)

PDF
Aws summits2014 エンタープライズ向けawscdpネットワーク編
PDF
Redunduncy of NAT instance on AWS/VPC
PDF
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
PPTX
AWS NAT Gateway Test(Japanese)
PDF
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
PDF
cloudpack night #2 実践VPC
PDF
クックパッドでのVPC移行について
PDF
AWS Black Belt Techシリーズ Amazon VPC
PPTX
週末趣味のAWS Transit Gatewayでの経路制御
PDF
大規模サービスを支えるネットワークインフラの全貌
PDF
20120803 Amazon VPCを極める
PDF
AWS Black Belt Techシリーズ Amazon VPC
PDF
20111109 07 aws-meister-vpc-public
PDF
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
PPTX
AWS VPC ~インフラエンジニアへの道~
PDF
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
PDF
Amazon VPCトレーニング-NATインスタンスの作成方法
PDF
QUICとNATと
PPTX
いまさら、AWSのネットワーク設計
PDF
JAWS-UG浜松 #1 Amazon VPCでVPN
Aws summits2014 エンタープライズ向けawscdpネットワーク編
Redunduncy of NAT instance on AWS/VPC
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
AWS NAT Gateway Test(Japanese)
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
cloudpack night #2 実践VPC
クックパッドでのVPC移行について
AWS Black Belt Techシリーズ Amazon VPC
週末趣味のAWS Transit Gatewayでの経路制御
大規模サービスを支えるネットワークインフラの全貌
20120803 Amazon VPCを極める
AWS Black Belt Techシリーズ Amazon VPC
20111109 07 aws-meister-vpc-public
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
AWS VPC ~インフラエンジニアへの道~
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
Amazon VPCトレーニング-NATインスタンスの作成方法
QUICとNATと
いまさら、AWSのネットワーク設計
JAWS-UG浜松 #1 Amazon VPCでVPN
Ad

More from Takahiro Moteki (14)

PDF
[excite open beerbash 特別篇]レガシーシステムをAWS移行で幸せになった話
PDF
[AWSセミナーマイグレーション事例祭20190409]分析環境をAWS_Athenaに移行_その後1年間の運用課題を振り返る
PDF
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
PDF
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
PDF
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
PDF
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
PDF
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
PDF
[社内勉強会]計算機工学のスケジューリングを現実世界に活かせないだろうか(ネタ)
PPTX
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
PDF
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
PDF
[社内合同勉強会]インフラ業務を開発エンジニアへ移譲して 移譲前-移譲後-そして今-
PDF
[社内勉強会]エンジニアな僕の情報収集法
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
PPTX
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
[excite open beerbash 特別篇]レガシーシステムをAWS移行で幸せになった話
[AWSセミナーマイグレーション事例祭20190409]分析環境をAWS_Athenaに移行_その後1年間の運用課題を振り返る
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
[社内勉強会]計算機工学のスケジューリングを現実世界に活かせないだろうか(ネタ)
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[社内合同勉強会]インフラ業務を開発エンジニアへ移譲して 移譲前-移譲後-そして今-
[社内勉強会]エンジニアな僕の情報収集法
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本

[社内共有会]AWS NAT-GW導入と構成変化 2年運用して 同時接続数 秒間100->10万へ成長