AWS Networking

🌐 Bring Your Own IP(BYOIP)完全ガイド

自社が所有するパブリックIPアドレスをAWSに持ち込み、クラウド環境で活用する方法

結論:BYOIPとは?

BYOIPは、自社が所有するパブリックIPアドレス範囲をAWSに持ち込んで使える機能です。 通常、AWSではAmazonが管理するIPアドレスが割り当てられますが、BYOIPを使えば既存のIPアドレスをそのままAWS上で利用できます。

これにより、オンプレミスからAWSへの移行時にIPアドレスを変更する必要がなくなり、ファイアウォールルールやDNS設定、IPベースのアクセス制御リストをそのまま維持できます。

たとえ話:「会社の引っ越し」で理解するBYOIP

BYOIPは「オフィスを引っ越しても、既存の電話番号をそのまま使い続ける」ことに似ています

🏢

旧オフィス(オンプレミス)

自社ビルで運営
電話番号: 03-XXXX-XXXX
(自社所有のIPアドレス)

➡️ 番号ポータビリティ
(BYOIP)
☁️

新オフィス(AWS)

最新ビルに移転
電話番号: 03-XXXX-XXXX
(同じIPアドレスを継続利用)

取引先(ユーザー)は同じ番号(IPアドレス)に連絡するだけ。移転先が変わったことを意識する必要がありません。

🏢 会社の引っ越し
☁️ AWS BYOIP
📞 自社所有の電話番号
🌐 自社所有のパブリックIP範囲
📋 番号の所有権証明(契約書)
🔐 RIRへのROA登録 + 署名証明
🔄 番号ポータビリティ手続き
⚙️ provision-byoip-cidr コマンド
📱 新オフィスの内線に接続
🔗 Elastic IPとしてEC2に割り当て

🧩 BYOIPの4つの構成要素

BYOIPを理解するには、以下の4つの構成要素を押さえましょう。すべて同じ重要度の要素です。

🔐

① IPアドレス所有権の証明

自社がそのIPアドレス範囲を正当に所有していることをAWSに証明します。 RIR(地域インターネットレジストリ)へのROA(Route Origin Authorization)登録と、X.509証明書による署名が必要です。

🗂️

② アドレスプール

持ち込んだIPアドレス範囲は、AWSアカウント内で「BYOIPプール」として管理されます。 このプールが、AWSで使えるIPアドレスの在庫置き場になります。

📌

③ Elastic IPアドレス

BYOIPプールからElastic IP(EIP)を割り当て、EC2インスタンスやネットワークインターフェースに関連付けて使用します。 通常のEIPと同じように扱えます。

⚙️

④ プログラムによる管理

AWS CLI、SDK、CloudFormationを使って、BYOIPプールやEIPの割り当て・解放をプログラムで自動管理できます。 手動操作は不要です。

📐 BYOIPの全体像

自社IPアドレスがAWSのリソースに到達するまでの流れを見てみましょう。

IPアドレスの流れ:オンプレミスからAWSリソースまで

🏢 自社所有IP
(203.0.113.0/24)
所有権証明
📋 RIR
(APNIC等)
プロビジョニング
☁️ BYOIPプール
(AWS管理)
EIP割り当て
📌 Elastic IP
関連付け
🖥️ EC2 / ENI
ℹ️ BGPアナウンスの変更: BYOIPでプロビジョニングすると、そのIPアドレス範囲のBGPアナウンスはAWSのAS番号(AS16509)から行われるようになります。 インターネット上のトラフィックは自動的にAWSにルーティングされます。

⚖️ BYOIPなし vs BYOIPあり

AWS移行時にBYOIPを使う場合と使わない場合の違いを比較しましょう。

❌ BYOIPを使わない場合

🔄 AWS移行時に新しいIPアドレスが割り当てられる
📝 ファイアウォールの許可リストをすべて更新が必要
🌍 DNS設定の変更と伝播待ちが発生
🤝 取引先や顧客への通知とIP変更対応が必要
🛡️ IPベースのレピュテーション(信用度)がリセットされる

✅ BYOIPを使う場合

🔒 既存のIPアドレスをそのままAWSで使える
ファイアウォールルールの変更が不要
DNS設定をそのまま維持できる
😌 取引先への影響なし、移行を意識させない
🏆 長年積み上げたIPレピュテーションを引き継げる

🔄 BYOIPの導入手順(5ステップ)

自社IPアドレスをAWSで使えるようにするまでの具体的なプロセスです。

1

📋 RIRでROAを作成する

所有するIPアドレス範囲に対して、RIR(APNIC、ARIN、RIPEなど)でROA(Route Origin Authorization)を作成します。 ROAとは「このIPアドレス範囲は、AWSのAS番号(AS16509)からアナウンスして良い」と宣言するものです。

⚠️ ROAの最大長(max length)は、持ち込むCIDRのプレフィックス長と一致させてください。例:/24のCIDRなら最大長も/24。
2

🔐 自己署名X.509証明書で署名する

RIRのRDAPレコードに自己署名X.509証明書を登録し、その証明書で署名したメッセージをAWSに提出します。 これによりAWSは「IPアドレスの正当な所有者がAWSへの持ち込みを許可した」と確認できます。

署名メッセージの生成例
# 署名メッセージのテキストを作成
echo "1|aws|||" | \
  openssl dgst -sha256 -sigopt rsa_padding_mode:pkcs1 \
  -sign private-key.pem | openssl base64
3

☁️ AWSにCIDRをプロビジョニングする

AWS CLIでIPアドレス範囲をAWSアカウントに登録します。この操作でBYOIPプールが作成されます。

AWS CLI - プロビジョニング
aws ec2 provision-byoip-cidr \
  --cidr 203.0.113.0/24 \
  --cidr-authorization-context \
    Message="1|aws|123456789012|203.0.113.0/24|20261231",Signature="BASE64_SIGNATURE"
ℹ️ プロビジョニングには最大2週間かかる場合があります。describe-byoip-cidrs でステータスを確認しましょう。
4

📡 BGPアナウンスを開始する(アドバタイズ)

プロビジョニングが完了したら、AWSからそのIPアドレス範囲のBGPアナウンスを開始します。 これにより、インターネット上のトラフィックがAWSにルーティングされるようになります。

AWS CLI - アドバタイズ開始
aws ec2 advertise-byoip-cidr \
  --cidr 203.0.113.0/24
5

📌 Elastic IPを割り当ててリソースに関連付け

BYOIPプールからElastic IPアドレスを割り当て、EC2インスタンスやNATゲートウェイなどに関連付けます。

AWS CLI - EIP割り当て
# BYOIPプールからEIPを割り当て
aws ec2 allocate-address \
  --domain vpc \
  --address 203.0.113.10 \
  --public-ipv4-pool "ipv4pool-ec2-xxxxxxxxxxxxxxxxx"

# EC2インスタンスに関連付け
aws ec2 associate-address \
  --allocation-id eipalloc-xxxxxxxxxxxxxxxxx \
  --instance-id i-xxxxxxxxxxxxxxxxx

🎯 BYOIPの主なユースケース

BYOIPが特に有効な3つの代表的なシナリオを紹介します。

🏗️

大規模クラウド移行

オンプレミスからAWSへの移行時に、既存のIPアドレスを維持することで、ファイアウォールルールやACLの変更を最小限に抑えます。移行期間中の並行運用もスムーズです。

📧

メール配信のIP維持

メール送信サーバーのIPアドレスは長年かけてレピュテーション(信用度)を構築しています。BYOIPでIPを維持すれば、スパム判定されるリスクを回避できます。

🔒

セキュリティ要件の遵守

金融機関や政府機関では、特定のIPアドレス範囲を使うことが規制要件として求められる場合があります。BYOIPにより、コンプライアンスを維持しながらクラウドを活用できます。

📋 BYOIPの前提条件と制限事項

BYOIPを利用するために満たすべき条件と、知っておくべき制限をまとめます。

✅ 前提条件

📏 IPv4の場合、最小 /24(256アドレス)のCIDRブロックが必要
📏 IPv6の場合、最小 /48 の公的にアドバタイズ可能なCIDRブロックが必要
🏛️ IPアドレスがRIR(ARIN、RIPE、APNICなど)に登録済みであること
📄 ROAが正しく設定され、AWSのAS番号が許可されていること
🔑 RDAPレコードに自己署名X.509証明書が登録済みであること

⚠️ 制限事項

🚫 プロビジョニング完了まで最大2週間かかる場合がある
🚫 同じCIDRを複数のAWSリージョンに同時に持ち込むことはできない
🚫 AWSが提供するDDoS保護(Shield)との互換性に注意が必要
🚫 アカウントあたりのBYOIP CIDRブロック数にはクォータ制限がある
🚫 一度デプロビジョニングすると再プロビジョニングに時間がかかる

🏆 ベストプラクティス

BYOIPを安全かつ効率的に運用するためのポイントです。

🔍 事前検証を十分に行う

ROAの設定、証明書の有効期限、RDAP/WHOISレコードの整合性を事前にチェックし、プロビジョニング失敗を防ぎましょう。

📊 段階的に移行する

全IPアドレスを一度に移行せず、一部のCIDRから段階的に移行して問題がないことを確認してから拡大しましょう。

🔔 モニタリングを設定する

CloudWatchやBGPモニタリングツールで、アドバタイズ状態やトラフィックの変化を継続的に監視しましょう。

📝 ロールバック計画を準備する

問題発生時にオンプレミスへ切り戻せるよう、旧環境のBGPアナウンス設定を一定期間保持しておきましょう。

🚨 よくあるミス: ROAの有効期限が切れると、AWSからのBGPアナウンスが停止し、通信が途絶えます。ROAの有効期限管理は特に注意が必要です。

よくある質問(FAQ)

Q. BYOIPに追加料金はかかりますか?
BYOIP自体に追加料金はかかりません。ただし、Elastic IPアドレスの利用料(割り当て済みで未使用のEIPなど)は通常通り発生します。
Q. BYOIPのIPアドレスを複数リージョンで使えますか?
同一のCIDRブロックは、一度に1つのリージョンでのみプロビジョニングできます。別リージョンで使いたい場合は、まず現在のリージョンからデプロビジョニングする必要があります。
Q. /24より小さいCIDR(例:/28)は持ち込めますか?
IPv4の場合、/24が最小サイズです。これはBGPルーティングの仕様上、/24より小さいプレフィックスはインターネット上で広くアナウンスされないためです。
Q. BYOIPのIPアドレスはAWS Global Acceleratorで使えますか?
はい、BYOIPのIPアドレスをAWS Global Acceleratorに持ち込んで、カスタム静的IPとして使用することもできます。これは「BYOIP for Global Accelerator」と呼ばれる機能です。
Q. プロビジョニング中に既存のオンプレミス環境は影響を受けますか?
プロビジョニング中はまだBGPアナウンスは開始されないため、既存のオンプレミス環境への影響はありません。影響が出るのは advertise-byoip-cidr を実行してBGPアナウンスを開始した時点です。

Created by SSuzuki1063

AWS SAP Learning Resources