T2インスタンスはVPCでないと使えない - Goodbye,EC2 Classic; Hello,VPC

cloudpackエバンジェリストの吉田真吾@yoshidashingo)です。

もう1年以上前になりますが、AWSから以下のような発表があり、以降AWSアカウントを作成した人は、EC2(仮想サーバー)をAmazon VPCという閉域ネットワーク内に作成することが必須になりました。そして以前からAWSアカウントを持っている人は、引き続きインターネットパブリックな環境にEC2を立てることができる(EC2 Classic環境という名称で)状態が続いていました。

AWS News Blog

T2インスタンスファミリーはEC2 Classicでは起動できない

しばらく上記の状況が続いていたのですが、この7月に発表された「最も安価な価格帯」で「強烈にコスト効率のよい」新しいEC2のインスタンスファミリー「T2」ファミリーは、EC2 Classic環境を持っていても、VPC内でないと起動ができない、初めてのインスタンスファミリーです。

AWS News Blog

T2+gp2は最強の組合わせ

gp2 EBSについて

T2インスタンスより少し前に、EC2にアタッチして利用するディスクであるEBS(Elastic Block Store)に、SSD版のもの(General Purpose SSD:通称gp2)もリリースされました。そして、このgp2からは「トークンバケットモデル」という、いざというときには性能を一定時間バースト(ターボエンジンとかブーストシステムみたいなもの)させI/O性能を強化できる仕様が盛り込まれました。

ちなみに、バーストクレジットを使い果たしても、ディスクの大きさにより徐々にバーストクレジットが回復する(FFで言うところのリジェネみたいなもの)ため、特定の時間帯だけバーストさせて、その他の時間はI/Oが少ないたいていのITシステムにおいては非常に合理的なモデルと言えます。

詳細はこちらなどを参照されたい↓
Amazon EBSのGeneral Purpose(SSD)のトークンバケットの仕様について - yoshidashingo

T2インスタンスファミリーのパワーアップについて

gp2でI/O性能にトークンバケットモデルが採用されたのと同様、T2インスタンスではCPU性能にトークンバケットモデルが採用されました。
たとえばt2.micro、1世代前のt1.microと比べて、ホスト機のCPUの世代が更新され(要はパワーアップしてる)ているうえメモリも多くなってるため、実際にWebを運用してきた人のワークロードを見ても、t1.microでカツカツだったのがt2.microでだいぶ余裕のある状況になっていることが分かります↓

ありがとう t1.micro、こんにちは t2.small – 8bitodyssey.com

なのにT2インスタンスファミリーはEC2 Classicで起動できない

そんなおトクなt2インスタンスファミリー、比較的カジュアルにEC2を使ううえで最も馴染みがよさそうなインスタンスなのですが、EC2 Classicでは起動できません。
f:id:yoshidashingo:20140729205318p:plain

ということでこれからはどんなにカジュアルに使いたくてもVPCを知ったうえでEC2を使う必要があるのです。

こわくないVPC

ネットワーク環境の違い

EC2 ClassicだけだったときとVPC by Defaultになってからの、EC2を一つだけ立てる際の、ネットワーク環境の違いを図示すると以下のようになります。
f:id:yoshidashingo:20140729211534p:plain

インターネットダイレクトかイントラネットワーク内かの違いで見るとこんな感じです。
f:id:yoshidashingo:20140729212014p:plain

イメージ的には「EC2 Classicはインターネットの大平原で野宿」しており、VPCは「家を建ててその中に住んでる」ような違い。

Default VPCを使えば別に不便じゃない

上記に示したVPC環境は、現在AWSアカウントを作成するとはじめにあらかじめ1つ作成されているVPCを示してます。VPCは閉域網を構築するサービスですが、このすでに作成されているVPC内にEC2を起動する分には、EC2 Classic環境と同様に、インターネット側からの通信が行えます。

ポイントはあらかじめ作られているInternet Gateway

VPCサブネットにはRoute Tableという、パケットの行き先のネットワークを定義した経路表がありますが、インターネット側との通信が可能なInternet Gatewayを作成しておき、内部通信以外をInternet Gatewayに経路指定しておけば、インターネットとの通信が可能です。
Default VPCにははじめからこのセットが用意されているので、特に内部ネットワークの細かい制御を考慮しない人は、このDefault VPCにEC2を立てて使うとよいです。

それでもコワいと感じる人は

公式ドキュメントを読む

  • だいたいドキュメントに全部書いてあります。

http://aws.amazon.com/jp/documentation/vpc/

公式トレーニングを受ける

  • お金を払ってでも時間を買うのだ。

AWS デジタルトレーニングで AWS をオンラインで学ぶ | AWS

イベントに行ってみる

  • 人生を変えるような素敵な出会いもあるかもしれない。

http://aws.amazon.com/jp/event_schedule/


ということで、今回は簡単にt2やVPCの話をしてみました。AWSはとても便利なのだけど、初心者や、カジュアルに使いたい人にとってVPCで気圧されてしまうことは多いはず。だけど別に原理が分かってしまえば難しいもんじゃないんだなということを覚えておいていただきたいです。