share facebook facebook2 twitter menu hatena pocket slack

2013.02.05 TUE

EC2(VPC)のPublic IPとPrivate IPを同時に切り替えるスクリプト

鈴木 宏康

WRITTEN BY鈴木 宏康

以前紹介した、「EC2(VPC)のPublic IPとPrivate IPを同時に切り替える」では、AWSコンソール上で手動で
行うものでした。
そこで、AWSではAPIが提供されているので、切り替えスクリプトも作成してみました。

まずは切り替え対象の二つのEC2のENIの確認です。

【アクティブEC2】

【スタンバイEC2】

上記の状態で、スタンバイEC2にて下記のスクリプトを、次のように実行してみます。


#!/bin/sh

AZ=`curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`
REGION=`echo $AZ | cut -c 1-$((${#AZ} - 1))`
MAC=`curl -s http://169.254.169.254/latest/meta-data/mac`
INTERFACE_ID=`curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/$MAC/interface-id`

aws --region $REGION ec2 assign-private-ip-addresses
--network-interface-id $INTERFACE_ID
--private-ip-addresses 10.10.8.200
--allow-reassignment

# ./test.sh
{
"return": "true",
"requestId": "ddccfc4b-b387-4cbc-9161-718e6d96572b"
}

※Python版AWSコマンドラインツールをIAM Roleで利用しています。

Python版AWSコマンドラインツールをCentOS6で使ってみた

そうすると、次のようにスタンバイEC2に両IPアドレスが移っています。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。