SpotInstance + ENI(固定IP)in VPC で財布に優しいテスト環境を作る
久しぶりの更新です。
Amazon VPCのいいところの1つは、固定プライベートIPを設定できるところですよね。
で、ちょうど固定プライベートIPで作業する必要があったので、オンデマンドm1.smallをVPC内に数インスタンス起動してたのですが、そこそこ費用がいってしまいました。
t1.microはまだVPCで使えないし、SpotInstanceだと固定プライベートIP指定で起動できないし、オンデマンドm1.smallでもそこそこ費用いくしと悩んでいたのですが、Elastic Network Interface(ENI)を使うことで、財布に優しい環境をつくることができました。
以下、やったことのメモです。
まずVPCを作っておきます。たとえば CIDR 10.0.0.0/16 で作って、Subnet を 10.0.0.0/24 としておく。このあたりは Wizardのデフォルト通りでOK。
で、もう1つSubnetを作っておく。ここでは10.0.1.0/24としておく。
この状態で、SpotInstanceを10.0.0.0/24で起動する。この10.0.0.0/24に接続するeth0はdhcpにより動的にIPが定まる。一応、このインスタンスに直接アクセスするために、EIPも割り当てておく。
ここで10.0.1.0/24に接続するENIをIP指定(例:10.0.1.11)で作成し、作成したインスタンスにアタッチする。インスタンスでは/etc/sysconfig/network-scripts/ifcfg-eth1(Amazon Linuxの場合)に
DEVICE=eth1 BOOTPROTO=static IPADDR=10.0.1.11 NETMASK=255.255.255.0 ONBOOT=yes TYPE=Ethernet
を記述し、ネットワークを再起動する。これで、このSpotInstanceは固定プライベートIPが使える。
そして、この状態でAMIを作って、以降はこのAMIからSpotIntanceを起動し、同じ固定IPを持つENIをアタッチすればSpotInstanceであっても特定のサブネットに対しては常に同じIPを持つ環境を容易に再現できるようになる。
これで、財布に優しい固定プライベートIP環境ができたので実験がしやすくなりました。Yeah!
これLTネタになるかな?いや、ショボすぎだろ。
ところで
SpotInstanceはm1.mediumってお得感がありますよね。東京リージョンだとこのブログ書いている時点で
タイプ | オンデマンド | スポット |
---|---|---|
m1.small | $0.092 | $0.041 |
m1.medium | $0.184 | $0.058 |
という価格。割引率もm1.mediumの方がいいですし、$1=\80とすれば、スポットの価格差は1時間あたり1.36円。
オンデマンドのm1.smallより安いし、この価格差ならコスパ的にm1.mediumかなって感じで、m1.mediumのSpotInstanceをよく使ってます。
価格も安定していて、m1.smallだと
な感じですが、m1.mediumだと
な感じ。
まぁたまーに跳ね上がるのはSpotInstanceってことで割り切れば、m1.mediumの方が突然落とされる確率は低そうですね。今後はどうなるかわかりませんが。。。