この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
ども、大瀧です。
本日のKeynoteで発表されたEC2の新インスタンスファミリー、C3をいろいろいじってみました。
C3インスタンスファミリー概要
以下のインスタンスタイプの紹介ページの通り、C3ファミリーはIvy Bridge世代のCPUをはじめとする、イマドキのハードウェアが搭載された物理ホストで実行されるEC2インスタンスです。
C3 instances are the latest generation of compute-optimized instances, providing customers with the highest performing processors and the lowest price/compute performance available in EC2 currently.
Amazon EC2 Instances
それぞれの特徴的なハードウェアを示していきます。
Ivy Bridge世代のCPU
検証したインスタンスでは、Xeon E5-2680 v2が搭載されていました。ハイパースレッディング上でのカウントとのことなので、コアレベルの競合が気になるところですが、AVXなど最近のCPU機能が使えるのは大きなアドバンテージになると思います。
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
stepping : 4
microcode : 0x415
cpu MHz : 2800.098
cache size : 25600 KB
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm xsaveopt fsgsbase smep erms
bogomips : 5600.19
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
:
インスタンスストレージはSSD
コンピュート系インスタンスには未搭載だった、インスタンスストレージSSDが標準装備されます。月並みですが、hdparmコマンドで比較してみました。(sdaはEBSルートボリューム、sdbがSSDのインスタンスストレージ)
$ sudo hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 244 MB in 3.19 seconds = 76.44 MB/sec
$ sudo hdparm -t /dev/sdb
/dev/sdb:
Timing buffered disk reads: 2602 MB in 3.00 seconds = 866.79 MB/sec
さすがに早いですね。SSDなので、シーケンシャルアクセスだけでなくランダムアクセスでも十分な性能が期待できます。
SR-IOV搭載NIC
SR-IOVは、仮想マシンが使用する仮想ハードウェアのI/O処理を物理マシンのハードウェアにオフロードする機能で、主要なハイパーバイザーで実装が進んでいます。AWS EC2では初めて、今回のC3ファミリーでSR-IOV NICがサポートされました。
SR-IOV NICをEC2インスタンスで使用するためには、C3ファミリーを選択することに加え、以下の要件を満たす必要があります。
- HVM(完全仮想化)タイプのAMIであること
- EC2でSR-IOVサポートを有効にすること
- OSでドライバを準備していること
HVM(完全仮想化)タイプのAMIであること
AMIの選択時に、Virtualization TypeがHVMのものを選びましょう。
EC2でSR-IOVサポートを有効にすること
EC2 API Toolsのec2-modify-instance-attributeコマンドで有効化します。このコマンドを実行するEC2インスタンスは、あらかじめStopped状態にしておくことに注意してください。
$ ec2-modify-instance-attribute --sriov simple i-XXXXXXXX
sriovNetSupport i-XXXXXXXX simple
$
実際にはAMIで事前に設定することができるため、最新のAmazon Linux AMIでは最初から有効になっています。
OSでドライバを準備していること
Amazon Linuxでは最新の2013.09版であればドライバがインストール済みです。ethtoolコマンドやlspciコマンドでNICの情報を確認し、判断できます。以下は、Amazon Linux 2013.03で確認した結果で、ドライバがvif、lspciコマンドの結果でNICの情報が出てこない場合は、ドライバがインストールされていません。
$ sudo ethtool -i eth0
driver: vif
version:
firmware-version:
bus-info: vif-0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
yum updateでインストールします。インスタンスを再起動すると、ドライバがロードされSR-IOV対応のNICとして認識されていることが確認できます。
$ sudo ethtool -i eth0
driver: ixgbevf
version: 2.11.3
firmware-version: N/A
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function (rev 01)
00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
まとめ
C3インスタンスファミリーの売りは、スペックに比べて割安な価格設定かもしれません。しかし、従来のインスタンスにはなかった地味ながらも新しい機能が搭載されていることも忘れないでくださいね。