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
ECS の IPv6 がムズカシイ
Search
kawagoo
December 05, 2022
Technology
2.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ECS の IPv6 がムズカシイ
kawagoo
December 05, 2022
More Decks by kawagoo
See All by kawagoo
Vavrのすすめ
eterny13
0
720
docker-compose.yml から Helm Chartに 変換してくれるツール Katenary を試してみた
eterny13
0
680
固定回線にNAT64/DNS64を導入して
eterny13
0
290
Other Decks in Technology
See All in Technology
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
320
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
330
AIレビュー時代に必要なのは、SLOで引く撤退ライン
nobuoooo
0
140
VPCでもFloatingIPを使いたいんだ
y_kotani
1
110
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
120
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
3
660
Claude Codeの体系的な理解と知識のフック
oikon48
5
4.4k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
[ホンマでっか SRE] あなたはなぜ SRE に?
_awache
0
280
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
160
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.7k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Thoughts on Productivity
jonyablonski
76
5.3k
Technical Leadership for Architectural Decision Making
baasie
3
540
sira's awesome portfolio website redesign presentation
elsirapls
0
350
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Making the Leap to Tech Lead
cromwellryan
135
10k
Paper Plane
katiecoart
PRO
2
53k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
Copyright © BIGLOBE Inc. 2022, All rights reserved. ECS の
IPv6 がムズカシイ 2022/12/2 NW-JAWS勉強会#9 川口 永一郎
2 Copyright © BIGLOBE Inc. 2022, All rights reserved. 自己紹介
名前: 川口 永一郎 会社: BIGLOBE(新卒3年目) 所属:基盤本部 ネットワーク技術部 業務: DNS基盤、IPv4 over IPv6基盤 オンプレからクラウドまで触ってます
3 Copyright © BIGLOBE Inc. 2022, All rights reserved. 話すこと
Amazon Web Services(AWS)移行で詰まった話 ➢ システムの背景・仕様 ➢ 最初に考えた構成 ➢ NLB、ALB、ECSのIPv6の仕様、制限について ➢ 制限事項を解消するための構成
4 Copyright © BIGLOBE Inc. 2022, All rights reserved. 移行しようとしていたシステム
IPv4 over IPv6 の通信サービスで使われているオンプレのシステムのAWS 移行 • システム概要 ◦ 市販のブロードバンドルータ(BBR)からのアクセスに 対して、JSON形式のデータを返却するといったシステム BBR LB JSONデータ配信 アプリケーション (webサーバ) JSONデータ配信 アプリケーション (webサーバ) インターネット 固定IPv6 IPv6 IPv6
5 Copyright © BIGLOBE Inc. 2022, All rights reserved. システムの特徴・仕様
• LB、サーバ含めてIPv6アドレスを持っていること ◦ AAAAレコードでLBのIPv6アドレスにフォワード オンプレとの平行稼働のため、AWSへの移行時もIPv6を固定する 必要あり • BBRがシステムにアクセスした際に、システムはアクセス元(BBR)のIPv6 アドレスに適したJSONを返却する アプリはクライアントのIPv6アドレスを認識する必要がある 動作イメージ BBR(IPv6-A)⇒ LB ⇒ アプリ (JSON-Aを返却) BBR(IPv6-B)⇒ LB ⇒ アプリ (JSON-Bを返却)
6 Copyright © BIGLOBE Inc. 2022, All rights reserved. 時間かけてAWSに移行するんだから、運用の手間がかからないようにしたい
システムは複雑なものではないし、コンテナイメージにしやすそう EKSにするほどでもないし、ECS とかいいのでは? ECSでリプレイスしよう
7 Copyright © BIGLOBE Inc. 2022, All rights reserved. 最初に考えた構成
• NLB+ALBでIPv6アドレスを固定化する ◦ NLBのターゲットにALBを指定 NLB ALB ECS Task ECS Task
8 Copyright © BIGLOBE Inc. 2022, All rights reserved. 機能評価をしてみると、、
クライアントのIPv6アドレスを変えてるのに、返却されるJSONの結果が 常に同じ JSONの結果が変わらないのはオカシイ イメージ BBR(IPv6-A)⇒ NLB ⇒ アプリ (JSON-Aを返却) BBR(IPv6-B)⇒ NLB ⇒ アプリ (JSON-Aが返却される??)
9 Copyright © BIGLOBE Inc. 2022, All rights reserved. 機能評価をしてみると、、
クライアントのIPv6アドレスを変えてるのに、返却されるJSONの結果が 常に同じ アプリからはNLBのIPv4アドレスしか見えてないことが判明 NLB→ALBで通信する際にIPv4に変換されてしまう IPv6→IPv4に変換されてしまうとクライアントIPの保存はできない※1 ※1 https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/network/load-balancer-target-groups.html#client-ip-preservation 制限事項
10 Copyright © BIGLOBE Inc. 2022, All rights reserved. 固定IPv6アドレス+ECSでクライアントIP保存を実現するには
• NLB(IPv6固定)→ECS(EC2タイプ) ◦ FargateタイプだとクライアントIPの保持はできない ◦ TargetGroupの設定 ▪ IPターゲットはECS TaskのIPv6アドレス • 通常だとTaskのIPv4アドレスが登録されるため、 手動でIPv6アドレスを登録する必要がある • 自動でIPv6アドレスを登録するには別途実装が必要 EventBridge+Lambdaで実装した ※固定IPv6という制約がなければ、ALB+ECS(Fargate)でクライアントIP保持 できるとのこと(要検証)
11 Copyright © BIGLOBE Inc. 2022, All rights reserved. NLB(IPv6固定)→ECS(EC2タイプ)
制限事項を解消するための構成 NLB ECS Task ECS Task Event Bridge Lambda Event Bridgeでタスクが起動した際に Lambdaを起動 awscliを実行してTargetGroupに登録する aws elbv2 register-targets ' \ --target-group-arn {TargetGroupのARN} ' \ --targets Id={ECS TaskのIPv6アドレス}
12 Copyright © BIGLOBE Inc. 2022, All rights reserved. まとめ
• IPv6環境+ECSはオンプレの構成と同等にしようとするとまだまだ制約が 多い ◦ 公式ドキュメントの確認、AWS技術担当者への相談は綿密に • 業界的にIPv6移行は今後進んでいくのでアップデートに期待したい
Copyright © BIGLOBE Inc. 2022, All rights reserved.