複数のVPCにEC2インスタンスを接続する

2023.10.27

ども、大瀧です。本日、Amazon EC2にアップデートがあり、複数のVPCにEC2インスタンスを接続できるようになりました。

試してみた様子をご紹介します。

AWS管理コンソールではENIが表示されない

手順としては、通常通りEC2インスタンスを作成してから、NIC(Network Interface Card)機能であるENIを追加で作成し、インスタンスに接続(アタッチ)する流れになります。 現時点(日本時間10/27 AM8:00)でAmazon EC2の管理コンソールでは、ENIの追加画面で異なるVPCのENIがリストに表示されません。

管理コンソールでは同一VPCのENIのみ一覧に表示される仕組みになっていて、今回のアップデートにはまだ対応していないのではと予想します。後日対応すると思われます。

代わりに今回はAWS CLIで、異なるVPCのENIをEC2インスタンスにアタッチしてみます。

$ aws ec2 attach-network-interface --device-index 1 --instance-id i-0123456789abcdef --network-interface-id eni-abcdef1234567890
eni-attach-0c7601c47c084b0e8    0
$

管理コンソールで見てみると...

確かに1行目のENIと2行目のENIで異なるVPC IDになっているのがわかりますね。

ちなみに、異なるアベイラビリティゾーンのENIをアタッチしようとしてみると...

$ aws ec2 attach-network-interface --device-index 2 --instance-id i-0b0e54020d534c67f --network-interface-id eni-0d3af77c5b9ccb851

An error occurred (InvalidParameterCombination) when calling the AttachNetworkInterface operation: You may not attach a network interface to an instance if they are not in the same availability zone
$

こちらは「同じアベイラビリティゾーンではないENIをアタッチしようとしてるんじゃん?」とエラーになります。異なるVPCであっても同じアベイラビリティゾーンのENIでないとアタッチ不可という、従来通りの制約がありますね。

まとめ

EC2インスタンスを異なるVPCに接続するために、AWS CLIでENIを追加する様子をご紹介しました。複数ENIにはOSやアプリケーションのソフトウェア構成にいろいろ制約があるので、ドキュメントやDevelopersIOの記事を参考にして注意して構成する必要があります。いろいろ試してみましょう!

参考URL