STRIKE THE ENDORPHIN

技術的なことを書いていきたいブログ

EC2に複数のIPアドレスを持たせる

はじめに

EC2一台に対して複数のIPアドレスを付ける必要があったので、忘備録がてらやり方をまとめる。

手順

  1. マネジメントコンソール上でElastic Network Interface(以下 ENI)を作成し接続 この時、同サブネットでも問題ない。
  2. Elastic IP(以下 EIP) を ENI に紐付ける
  3. ec2を再起動

すると複数のIPアドレスを付けられる。

ちなみに、ENI に対して複数の IP アドレスを付けられる。

やり方は ENI の Private IP を増やし、Private IP に対して EIP を紐付ける。

事前に Private IP を設定しておくと、後から EIP を紐づけるだけで再起動せずとも良い。

これで t2.micro でも 4 つまで Public IP を持たせられる。(2018/1/15現在)

インスタンスごとに付けられる EIP の上限 があるので必要に応じてスケールアップする。

備考

再起動せず Public IP を増やそうとしたが挫折した。

ENI を追加したら

$ sudo ec2ifscan

その後起こす

$ ec2ifup eth1

これだけで Private IP は増える。 ルーティングが問題かと思ったが解決しなかったのでまたそのうちやる。

落とす場合

$ ec2ifdown eth1

ec2ifup ethN 標準の ifup の機能を拡張します。このスクリプトが設定ファイル ifcfg-ethN および route-ethN を書き換えた後、ifup を実行します。

ec2ifdown ethN 標準の ifdown の機能が拡張されます。このスクリプトがルーティングポリシーデータベースからネットワークインターフェイスのルールをすべて削除した後、ifdown を実行します。

ec2ifscan まだ設定されていないネットワークインターフェイスを探して、それらを設定します。

このスクリプトは、ec2-net-utils の初期リリースでは提供されていないことにご留意ください。 引用元:公式ドキュメント https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html#ec2-net-utils