記事一覧

2008年11月8日土曜日

[TechDay] 第7回 Amazon Elastic Compute Cloud (Amazon EC2) : Elastic IP

今回はEC2で起動したインスタンスのIPアドレスを固定IPにする方法です。
EC2での固定IPのサービスは「Elastic IP」と呼ばれています。

Elastic IPの使い方


EC2で起動するインスタンスは起動時に動的にIPアドレスが割り振られます。
固定IPを利用したい時にはElastic IPというサービスを使用します。
これはグローバルIPアドレスですが、AWSアカウントに割り当てらるれIPアドレスです。
IPアドレスはいくつでも簡単に取得できます。
EC2でインスタンスを起動した後に自分で取得したグローバルIPアドレスを割り当てることができます。
IPアドレスの取得も割り当てもコマンド1つで行うことができます。

以下にElasticIPサービスを利用するときのEC2 API toolsコマンドを示します。
(参考:EC2 API toolsのコマンドのヘルプ表示は # コマンド -? )

・新しいIPアドレスの取得
ec2-allocate-address
ec2allocaddr
・IPアドレスの割付
ec2-associate-address
ec2assocaddr -i インスタンスID IPアドレス
・IPアドレスの分離(剥奪)
ec2-disassosiate-address
ec2disaddr IPアドレス
・IPアドレスの解放(リリース)
ec2-release-address
ec2reladdr

インスタンス起動時にElasticIPを割り当てる


他のアプリケーション同様に /etc/init.d の直下にEC2のElasticIP割り当て用シェルを配置します。
以下に手順を示します。

(1)新規固定IPアドレスの取得

[root@domU-12-31-38-00-68-26 ~]# ec2allocaddr -K /root/.ec2/pk-プライベートキー.pem -C /root/.ec2/cert-証明書.pem
ADDRESS 75.101.167.58
[root@domU-12-31-38-00-68-26 ~]#

(以下参考:IPアドレスのリリース)
[root@domU-12-31-38-00-68-26 ~]# ec2reladdr 75.101.167.58
ADDRESS 75.101.167.58
[root@domU-12-31-38-00-68-26 ~]#


(2)シェルの作成(例. FileName:ElasticIP)

[root@domU-12-31-38-00-68-26 ~]# more /etc/init.d/ElasticIP
#!/bin/bash
#
# Associate EC2 Elastic IP Address to a INSTANCE

#source /root/.ec2env
#export JAVA_HOME=/usr/local/java
#export EC2_HOME=/usr/share/ec2/ec2-api-tools-1.3-24159
#export PATH=$PATH:$EC2_HOME/bin:$JAVA_HOME/bin
#export EC2_PRIVATE_KEY=/root/.ec2/pk-プライベートキー.pem
#export EC2_CERT=/root/.ec2/cert-証明書.pem
. /root/.ec2env

var1=`ec2din | grep running | gawk '{print $2}'`
#echo $var1
ec2assocaddr 75.101.167.58 -i $var1 >/dev/null 2>&1

[root@domU-12-31-38-00-68-26 ~]#


(3)権限の変更
[root@domU-12-31-38-00-68-26 ~]# chmod 755 ElasticIP

(4)rc4.dにシンボリックリンクの作成
[root@domU-12-31-38-00-68-26 ~]# cd /etc/rc4.d
[root@domU-12-31-38-00-68-26 ~]# ln -s ../init.d/ElasticIP S79ec2ElasticIP

※rc4.dに作成されているシンボリックリンクはたくさんありますがここでの注意点は、リンク名のつけ方です。固定IPを割り振った後に起動させたいOracleなどのリンク名より前に実行されるようにする必要があります。リンク名の頭文字「S」は実行されるシェルを表していて続く数字は実行されるシェルの優先順位です。(参考:ランレベル)

※実はランレベルはてっきり3だと思いはじめは rc3.d にリンクを作ったのですがちょっとはまりました。(^^;
EC2はXen上で動いているのですがXenのデフォルトのランレベルは4らしいです。(参考)

ちなみに/etc/inittabを見ると以下のようなエントリーなのでやはりデフォルト3ですが。。
#
id:3:initdefault:

インスタンス起動後にコマンドで確認してみると 4 になっています。
[root@domU-12-31-38-00-68-26 ~]# runlevel
N 4
[root@domU-12-31-38-00-68-26 ~]#

rcにシェルをセットした場合は、起動後にちゃんと実行されているか確認しましょう。
FirefoxのアドオンソフトElasticfoxでメモが表示されている青いボタンをクリックしてInstance Console Outputの画面を表示します。



下記の画面が Instance Console Output です。
ハイライトになっている部分が上記で作成したシェルが正しく実行できたことを示しています。



いかがでしょうか?
これでEC2でも固定IPのサービスをインスタンス起動時に自動で立ち上げられることがお分かりいただけたと思います。

Elasticfoxを利用した固定IPの付与


インスタンス起動時に固定IPを付与する説明をしてきましたが、固定IPの利用はElasticfoxから随時GUIで操作することもできます。
以下の画面はElasticfoxからあるインスタンスに固定IPを割り当ててた状態です。



固定IP付与の手順は以下のとおりです。
1)Elasticfoxの「ElasticIPs」タブをクリック
2)固定IPの取得
+表示のあるグリーンのボタンをクリック
3)取得したIPの割り当て
矢印表示のあるグリーンのボタンをクリック
起動中のインスタンスIDを選択

2008年11月6日木曜日

大統領選挙とインターネットの選挙運

昨日はオバマ大統領誕生の話題で持ち切りでしたね。今日の日経新聞を読んでていがいだなぁと思ったことがあります。

*** 以下、記事抜擢。***

見出:「オバマ氏、型破り戦術 奏功」
本文抜粋:「オバマ氏は既存の組織やノウハウに頼らない新しい選挙戦術を駆使した。インターネットの積極活用、小口献金による巨額の献金集め、・・・」

***********************

米国でも選挙でインターネットを活用するのは常識を覆すことだったんですね。
Twitterなどを利用したのは確かに斬新かもしれませんが。

若い人の票を集めるのに「インターネットの積極活用」は必須だと思うので上記の記事は大変意外でした。

日本ではどうかというと「インターネットの選挙運動」は禁止だったか、いろいろ規制があるようですよね。こんなところに規制を作っていることがセンスを疑いますね。。

近々に行われるであろう衆議院選挙では「インターネット選挙運動」全面解禁で各党のマニフェストを日本中の国民に浸透させてくれー!