Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ECS の IPv6 がムズカシイ
kawagoo
December 05, 2022
Technology
0
200
ECS の IPv6 がムズカシイ
kawagoo
December 05, 2022
Tweet
Share
More Decks by kawagoo
See All by kawagoo
固定回線にNAT64/DNS64を導入して
eterny13
0
32
Other Decks in Technology
See All in Technology
創業1年目のスタートアップでAWSコストを抑えるために取り組んでいること / How to Keep AWS Costs Down at a Startup
yuj1osm
3
2.2k
立ち止まっても、寄り道しても / even if I stop, even if I take a detour
katoaz
0
630
オンプレk8sとEKSの並行運用の実際
ch1aki
0
280
エアドロップ for オープンソースプロジェクト
epicsdao
0
400
目指せCoverage100%! AutoScale環境におけるSavings Plans購入戦略 / JAWS-UG_SRE_Coverage
taishin
0
510
SmartHRからOktaへのSCIM連携で作り出すHRドリブンのアカウント管理
jousysmiler
1
120
CES_2023_FleetWise_demo.pdf
sparkgene
0
120
AWS Cloud Forensics & Incident Response
e11i0t_4lders0n
0
360
IoTを始めたきっかけの話と個人でできるIoTの今後 / 新年LT会「私の愛するIoT 2023」
you
0
230
スクラム導入して変わったチーム、組織のありかた
yumechi
0
190
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
150
日本ディープラーニング協会主催 NeurIPS 2022 技術報告会講演資料
tdailab
0
1.1k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
Music & Morning Musume
bryan
37
4.6k
What the flash - Photography Introduction
edds
64
10k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Git: the NoSQL Database
bkeepers
PRO
419
60k
Building Adaptive Systems
keathley
27
1.3k
Atom: Resistance is Futile
akmur
256
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
22
1.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
The Art of Programming - Codeland 2020
erikaheidi
35
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.6k
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.