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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
700
docker-compose.yml から Helm Chartに 変換してくれるツール Katenary を試してみた
eterny13
0
670
固定回線にNAT64/DNS64を導入して
eterny13
0
280
Other Decks in Technology
See All in Technology
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
180
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
0
140
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
640
カメラ×AIで挑む「ホワイト物流」― 車両管理、自動化の壁と突破口【SORACOM Discovery 2026】
soracom
PRO
0
170
AI驚き屋発見器
yama3133
1
380
reFACToring
moznion
1
810
QA・ソフトウェアテスト研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
3
1.6k
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
230
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
320
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
7
1.7k
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
15
6k
AIQAのナレッジ構築について
qatonchan
1
110
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
190
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
330
Prompt Engineering for Job Search
mfonobong
0
380
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Done Done
chrislema
186
16k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
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.