インターフェースエンドポイントのプライベートIPは変更できるのか?

2020.12.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、コンサル部の鈴木(純)です。

インターフェースエンドポイントを利用する際、IPアドレスを指定して利用したい場合があったので、最初に割り振られるものから変更できるのかを試してみました。

先に結論を言うと、インターフェースエンドポイント紐づいているIPアドレス(ENI)は変更できません。プライベートIPを指定して使用したい場合は自動で割り振られたIPを使用するようにしましょう。

インターフェースエンドポイントとは

VPCエンドポイントには以下2つの種類があります。

  • ゲートウェイ型
  • インターフェイス型

ゲートウェイ型のVPCエンドポイントはS3とDynamoDBのみとなっており、それ以外のサービスは全てインターフェース型のエンドポイントとなっています。

この2つのエンドポイントの違いについては以下のエントリをご参照頂けると理解が深まるかと思います。

インターフェースエンドポイントのIPアドレスを確認する

インターフェースエンドポイントのIPアドレスは、作成を実行するとアタッチされるVPCの範囲で自動的にENIが作成されます。

試しにssmのインターフェースエンドポイントを作成すると以下のようにENIが作成されていることを確認できます。

該当のENIを確認してみると、自動でプライベートIPが割り振られていることが確認できるかと思います。今回の場合は172.31.40.98となっていました。

こちらのENIをインターフェスエンドポイントからデタッチして付け替えが可能かを確認してみます。

ENIを変更できるのか試してみる

インターフェースエンドポイントの変更できる属性としては以下のみとドキュメントに記載が有ります。

  • インターフェイスエンドポイントが配置されているサブネット
  • エンドポイントネットワークインターフェイスに関連付けられているセキュリティグループ
  • タグ
  • プライベート DNS オプション
  • エンドポイントポリシー (サービスでサポートされている場合)

エンドポイント側から変更できないならENIを変えればいけるのでは?と思ったのでやっていきます。該当のENIをチェックしてデタッチをしてみましょう。

すると以下のようなエラーメッセージが発生しデタッチすることができません。

強制デタッチというものがあったので、そちらにチェックをつけて実行してみましたが変わらず同様のメッセージが表示されてデタッチすることはできませんでした。

You are not allowed to manage 'ela-attach' attachments

ela-attachとなっているものは操作許可がないためデタッチできないようです。

アタッチメントID、アタッチメントの所有者を確認するとENIの詳細に以下のように記載されていました。

アタッチメント ID ela-attach-8aa70fb3
アタッチメントの所有者 amazon-aws

他のENIではela-attachではなくeni-attach、アタッチメントの所有者はアカウントIDが記載されているので、インターフェースエンドポイントで作成されるENIはAWS管理となっておりユーザーが操作できないようです。

まとめ

通常エンドポイントのIPアドレスを指定して利用することはあまりないかもしれませんが、変更ができないことは覚えておきましょう。