[アップデート] インターフェイス型 VPC エンドポイントの作成時にサブネット範囲内のプライベート IP アドレスを指定出来るようになりました

2023.08.22

いわさです。

今朝のアップデートで VPC エンドポイントで IP アドレスが指定出来るようになったとアナウンスがありました。

まず、VPC エンドポイントにはゲートウェイ型とインターフェイス型の 2 種類のタイプが存在しています。

次の記事がとてもわかりやすいのですが、上記のうちインターフェイス型 VPC エンドポイントの場合は ENI が作成されプライベート IP アドレスが割り当てられます。

従来は VPC エンドポイント作成先の VPC とサブネットを指定出来るまでで、IP アドレスは対象サブネット範囲内で自動での割当となっていました。
本日のアップデートで開発者がサブネット範囲内の IP アドレスを任意で指定出来るようになりました。(従来どおりの自動割当も可能)

オンプレミスと VPN や Direct Connect で接続している際にプライベート IP アドレスを固定化したいシーンなどで役立ちそうです。
アナウンス内ではファイアウォール管理について言及されていますが、私もちょうど今オンプレミスからプライベート API Gateway へのアクセスに VPC エンドポイントを使おうとしていて、SSL の関係で名前解決が必須なのですが、諸事情によりオンプレミス側で独自に名前解決を行う必要があってプライベート API Gateway のプライベート IP アドレスを登録する必要がありました。

そのため、もしエンドポイントを作成し直したら IP アドレスが変わってしまうのでオンプレミスも登録し直しだよなぁと思っていたのですが、このアップデートによって IP アドレスを固定出来そうです。ありがてぇ。

早速確認してみましょう。

やってみる

手順は簡単で、インターフェイス型 VPC エンドポイント作成時に作成先のネットワーク情報と併せて IP アドレスを直接指定するだけです。

冒頭お伝えしたように、ここではサービスに API Gateway を選択してみます。
プライベート API Gateway として利用するシーンを想定しています。
一部のサービスは Gateway タイプも選択出来ますが、API Gateway の場合は Interface タイプのみ選択が可能です。
ちなみに今回のアップデートはゲートウェイ型には関係ありません。

次のように VPC とサブネットを選択します。
従来はこの赤枠の部分を入力出来るまでで、あとは選択したサブネットの範囲内で自動でランダムな IP アドレスが割り当てられていました。

今回のアップデートは次のように「Designate IP addresses」にチェックをすることで、IPv4 アドレスあるいは IPv6 アドレスを直接入力することが出来ます。
また、このオプションは特定のサブネットでのみ有効化することも出来ます。

IPv6 を有効化した VPC の場合は次のように IPv6 アドレスの指定が可能になります。

このまま作成すると、次のように作成されたエンドポイントに割り当てられた ENI の IP アドレスが指定したものとなります。
これで固定化出来そうだ。

使用できない IP アドレスの場合のエラー

当然ながら指定した IP アドレスが使用出来ないものの場合はエンドポイントの作成に失敗します。
いくつか考えられるパターンを試してエラーメッセージを確認したので紹介します。

Address does not fall within the subet's address range

こちらのメッセージが表示された場合は、指定した IP アドレスが対象のサブネットの範囲外の場合に表示されます。

Address is in subnet's reserved address range

こちらのメッセージは、予約済み IP アドレスを指定した場合に表示されるメッセージです。

予約済み IP アドレスについては次の記事で解説されていますので参考にしてください。

Error during creation of network interface. Please try again later.

こちらちょっとメッセージからわかりにくいのですが、ユーザーが既に使用済みの IP アドレスを指定した場合はこのようなエラーメッセージとなりました。

汎用的なエラーメッセージなので他の条件でも表示される可能性がありそうですが、原因のひとつとして IP アドレスの重複がありますので、このエラーメッセージに該当した場合は既に指定した IP アドレスの ENI が作成されていないかを確認してみてください。

プライベート IP アドレスの変更も可能

作成時に指定した IP アドレスを変更したくなるシーンもあるかもしれません。
その場合も変更が可能です。

作成したエンドポイントのサブネット管理を開きます。

作成時と同様に IP アドレスを指定することが出来ますのでここで指定を行って変更するだけで良いです。

更新して少し待つと新しい ENI が作成されてエンドポイントに割り当てられ IP アドレスが変更されていることが確認出来ました。
新しい ENI が割り当てられる形ですのでそこだけ知っておいてください。

さいごに

本日はインターフェイス型 VPC エンドポイントの作成時にサブネット範囲内のプライベート IP アドレスを指定出来るようになったので試してみました。

様々な事情からプライベート IP アドレスを固定化したいシーンが、稀に出てくるのですよね。
今回の機能はそうした時に役立ちそうです。