AWS Manegement ConsoleでELBを作成した後に、コンソール上からポートなどの設定を追加することができません。

例えば、HTTPの80番ポートのみ設定して、後からHTTPSの443番ポートが必要になった場合に、困ってしまいます。

ELBを作り直すことも考えられますが、すでにDNSに登録して本番運用されている場合には、そうもいかない場合もあります。

このような場合は、コマンドラインツールやSDKから、直接APIを利用することで、既存のELBにポートなどの設定追加が可能です。

PHPの場合、下記のようなコードとなります。

require_once("/opt/aws/php/sdk.class.php");

define("AWS_KEY"       , "KKKKKKKK");
define("AWS_SECRET_KEY", "SSSSSSSS");

$elb = new AmazonELB();
$elb->set_region(AmazonELB::REGION_APAC_NE1);

$response = $elb->create_load_balancer_listeners(
  "suz-lab-elb",
  array(
      array(
          "Protocol"         => "TCP",
          "LoadBalancerPort" => 443,
          "InstancePort"     => 443
      )
  )
);

var_dump($response);

以上でポートの設定追加が完了です。
コンソールからもポートなどの設定追加が可能になるといいですね。

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