share facebook facebook twitter menu hatena pocket slack

2012.05.24 THU

EIPを付け替えるPHPスクリプト

鈴木 宏康

WRITTEN BY 鈴木 宏康

今回は、指定したEIPを自分自身(EC2)に付け替えるPHPスクリプトを紹介します。

#!/usr/bin/php
require_once("/opt/aws/php/default/sdk.class.php");
define("EIP", "xxx.xxx.xxx.xxx");
$ec2 = new AmazonEC2(array(
  "key"    => "ACCESS KEY",
  "secret" => "SECRET KEY"
));
$ec2->set_region(AmazonEC2::REGION_APAC_NE1);
$response = $ec2->disassociate_address(EIP);
if(!$response->isOK()) {
  error_log("[" . $response->body->Errors->Error->Code . "] " . $response->body->Errors->Error->Message);
}
$response = $ec2->associate_address(
  file_get_contents("http://169.254.169.254/latest/meta-data/instance-id"),
  EIP
);
if(!$response->isOK()) {
  error_log("[" . $response->body->Errors->Error->Code . "] " . $response->body->Errors->Error->Message);
  exit(1);
}
exit(0);
?>

もし、disassociate_addressで指定のEIPが他のEC2に付けられていたら外し、
自分自身(EC2)に付け直すようにしています。

Heartbeat(Pacemaker)と連携させてみようと思います。

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

鈴木 宏康

鈴木 宏康

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