はじめに
概要
本ドキュメントは、AWSで使われる「dualstack」の意味と利用方法をやさしく解説します。dualstackは、簡単に言えばIPv4とIPv6の両方を同時に使える仕組みです。ALB(Application Load Balancer)やNLB、API Gateway、Route 53などで使われます。
本書の目的
読者がdualstackの基本を理解し、導入時に注意すべき点や実際の使い方をイメージできることを目標とします。専門用語は必要最小限に抑え、具体例で補足します。
想定読者
クラウドを触り始めたエンジニアや、既存環境にIPv6を取り入れたい運用担当者を想定しています。ネットワークの深い知識は不要です。
本書の構成
第2章でdualstackの意味を説明し、第3章以降でAWSでの具体的な使われ方や導入時のポイントを順に解説します。例を交えて分かりやすく進めます。
dualstack の意味
dualstackとは
dualstack(デュアルスタック)は、1つのホスト名やエンドポイントをIPv4とIPv6の両方で使えるようにする構成です。DNSでAレコード(IPv4)とAAAAレコード(IPv6)の両方を登録し、利用者はどちらのアドレスからでもサービスに接続できます。
どのように動作するか
DNSにAとAAAAを置くと、クライアントは両方のレコードを受け取るか、優先する方だけ取得します。多くの端末はOSや設定でIPv6を優先するため、IPv6経路が使える場合はそちらで接続します。IPv6が使えない環境ではIPv4に自動で切り替わります。
なぜ使うのか(目的と利点)
主な目的は段階的なIPv6対応です。IPアドレスの枯渇問題に備えてIPv6を導入しつつ、既存のIPv4ユーザーをそのまま維持できます。結果として、IPv6ネイティブのネットワークからの到達性が上がり、将来の互換性も確保できます。
簡単な具体例
例:example.com にA=203.0.113.1、AAAA=2001:db8::1 を設定します。IPv6対応のユーザーは2001:db8::1へ、IPv4のみのユーザーは203.0.113.1へアクセスします。運用側は両方の環境でサーバやロードバランサーの設定を確認するだけで済みます。
AWSでの dualstack の主な使われ方
概要
ALB(Application Load Balancer)やNLB(Network Load Balancer)でIPアドレスタイプを「dualstack」にすると、1つのロードバランサーでIPv4とIPv6両方のトラフィックを受け取れます。API Gatewayでもエンドポイントをデュアルスタックに設定でき、同じAPIで両方のクライアントに対応します。
ALB / NLBでの使い方
作成画面でIPアドレスタイプを選ぶだけで利用できます。クライアントがIPv6のみの環境でも接続できるため、ユーザーの幅が広がります。ロードバランサーのリスナーやターゲットグループは通常通り設定します。
API Gatewayでの使い方
APIのエンドポイントをデュアルスタックにすると、同一のURLでIPv4・IPv6の両方からアクセス可能になります。ドメイン名とDNSの設定がポイントです。
設定時の注意点
サブネットやVPC、セキュリティ設定がIPv6に対応しているか確認してください。DNS側でもAAAAレコードが必要になる場合があります。モニタリングやログで両方のアドレス族からの通信を確認すると運用が安定します。
テストと運用
実機(スマートフォンやPC)やオンラインのIPv6テスターで接続確認してください。問題があればセキュリティグループやルートテーブル、DNSを順に見直します。
どういうときに使うか
概要
インターネット向けのウェブサイトやAPIを、アプリ側に大きな変更を加えずにIPv6対応したいときに有効です。裏側をIPv4のまま維持しつつ、IPv6のユーザーも受け入れる現実的な選択肢になります。
具体的なケース
- モバイルや一部ISPでIPv6接続が増えている環境で、ユーザー体験を損なわないようにしたい場合。例えばスマートフォン利用者がIPv6でしか接続できない場面でも対応できます。
- サーバーやアプリをすぐにIPv6化できないが、段階的に移行したいとき。テストや段階的導入でトラブルを減らせます。
- IPv6-onlyなネットワークとの互換性を確保したいとき。NAT64やプロキシに頼らず、直接接続を許可できます。
- CDNやロードバランサーがdualstackをサポートしており、設定だけで両対応にできる場合。運用負荷を減らせます。
注意点
DNSの設定やヘルスチェック、ログ収集でIPv6を考慮する必要があります。ファイアウォールルールや監視もIPv6対応に更新してください。テストを十分に行い、IPv4側とIPv6側の挙動差を確認することが重要です。
Route 53 での “dualstack” 表記
概要
かつてCloudFrontやELB(ALB/NLB)などのAWSサービスで、IPv4/IPv6両対応のエンドポイントを示すためにDNS名の先頭に「dualstack.」が付くことがありました。Route 53でALIASレコードを作成する際、このようなホスト名を見ることがあります。
Route 53での扱い
Route 53のALIASはAWS内部のサービスドメインを直接指せます。コンソールで「エイリアス先」を選ぶと、対象のロードバランサーやCloudFrontディストリビューションが一覧に出て、dualstack付きの名前は自動で選ばれることが多いです。手動でホスト名を入力するときは、dualstackの有無によってIPv6の解決結果が変わる場合があるので注意してください。
実務上の注意点
- dualstackは単なるホスト名のプレフィックスで、Route 53固有の特別な書式ではありません。
- 最近のAWSではIPv6対応が自動化され、dualstack表記を意識せずともIPv6が使える場合が増えています。ロードバランサーやCloudFront側でIPv6が有効かは必ず確認してください。
- 設定は可能な限りコンソールやAPIで「エイリアス先」を選ぶ方法を使い、手入力は避けると運用が楽になります。手動で古いdualstack名を指定すると将来の変更に追従しにくくなります。
導入時のポイント
前提
VPCとサブネットにIPv6を割り当てると、外部と直接IPv6で通信できます。導入は段階的に進めると安全です。
導入手順(流れ)
- VPCにIPv6 CIDRを関連付ける(AWSコンソールやAPIで設定)。
- サブネットでIPv6アドレス割当を有効にする。サブネットごとに自動割当か手動割当を選びます。
- ルートテーブルでIPv6向けのルート(::/0)をインターネットゲートウェイへ向ける。
- セキュリティグループとネットワークACLにIPv6用の受信・送信ルールを追加する。例:TCP 80/443 を許可。不要なトラフィックは明示的に拒否します。
- ALB/NLB/API Gateway のIPアドレスタイプをdualstackに変更し、DNS名がIPv4/IPv6両方に対応することを確認する。
注意点とポイント
- IPv6はグローバルアドレスです。アクセス制御を厳しく設定してください。
- NATは不要になりますが、既存の設計(ログ、課金、監視)を見直してください。
- クライアント側の互換性を必ず確認してください。古い機器や内部ファイアウォールでIPv6が通らないことがあります。
- DNS設定とTTLを確認し、dualstack表記で意図した名前解決になるか検証してください。
- モニタリングとログ収集をIPv6対応にし、アラートを設定してください。
テストと段階的導入
まずステージ環境で実装し、IPv6トラフィックを一部だけ流して動作を確認します。問題が出たらすぐ元に戻せるロールバック手順を用意してください。












