作業ログ7/13〜7/14

EC2のインスタンスを作ろうと思います。
調べているとEC2 Container ServiceというEC2のDockerに特化したサービスがあるようで興味を引かれましたが、
今は通常のEC2インスタンスを作成します。

インスタンスタイプの選択

t2.microを選択しました。
サービスイン直後からある程度多いアクセスが見込めているサービスを稼働させるのであれば話は変わってくると思いますが、まずは最も安いインスタンスタイプでよいと思います。
東京リージョンで1時間単位の課金だと1か月1700円程度でした。
毎月支払いの1年利用だと1300円ぐらいです。

EBSの選択

t2.microはインスタンスストレージを持たないのでEBSが必要です。
EBSには以下の種類があります。

  • 汎用(SSD)
  • プロビジョンドIOPS(SSD)
  • マグネティック

1GB当たりの価格はプロビジョンドIOPS > 汎用 > マグネティックの順で高いです。
マグネティックというのはいわゆるHDD(磁気ディスク)のことです。
デフォルトの選択値は汎用(SSD)なので、より多くのケースに対応できるのがこれなのだと思います。

EBSの料金表
http://aws.amazon.com/jp/ebs/pricing/

単純に、料金が高い=パフォーマンスが高い、かというとそうでもないようでした。
汎用SSDにはベースラインパフォーマンスというのが設定されており、3IOPS/1GiBとなっています。
これはつまり、EBS作成時に確保したサイズが大きい程パフォーマンスが高いということです。
また、「ベースライン」という通り、3IOPS/1GiBは最低限のパフォーマンスであり、
ベースラインを超えるI/Oが必要になった場合は一時的にバースト(最大3000IOPSまでパフォーマンスが上昇する)します。
もちろん必要な時にいつもバーストできるわけではなく、バーストするには「I/Oクレジット」という時間経過と共に自動的に取得するポイントのようなものを消費する必要があります。
1秒当たりに取得されるI/Oクレジットの量はEBSのサイズが大きい程多くなります。
I/Oクレジットが無くなってしまえばバーストできないので、ベースラインパフォーマンスのIOPSで動作することになります。
ですので、確保するサイズが極端に小さい場合のパフォーマンスは、おそらくマグネティック > 汎用SSDになるのではないかと思います。(試したわけではありません。)
今回は小さいサイズ(8GiB)での使用を考えているのでマグネティックを選択しました。

作成したインスタンスにローカルから接続する

インスタンス作成時に秘密鍵をダウンロードできるので、sshクライアントから接続します。

$ ssh -i 秘密鍵 ec2-user@ホスト
CPU情報

ところで2年くらい前、インスタンスを再起動するたびにcpuinfoが変わっていたのですが、
今awsのサイトを見るとt2インスタンス以外は具体的なCPU名が書いてあるので、
再起動してcpuが変わるということは無くなったのかもしれません。

$ cat /proc/cpuinfo

processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 63
model name    : Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
stepping    : 2
microcode    : 0x25
cpu MHz        : 2394.538
cache size    : 30720 KB
physical id    : 0
siblings    : 1
core id        : 0
cpu cores    : 1
apicid        : 0
initial apicid    : 0
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 lm constant_tsc rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 4789.07
clflush size    : 64
cache_alignment    : 64
address sizes    : 46 bits physical, 48 bits virtual
power management:
メモリ情報
$ cat /proc/meminfo
MemTotal:        1020188 kB
MemFree:          537064 kB
MemAvailable:     863980 kB
Buffers:           11932 kB
Cached:           415660 kB
SwapCached:            0 kB
Active:           292848 kB
Inactive:         146492 kB
Active(anon):      11748 kB
Inactive(anon):       52 kB
Active(file):     281100 kB
Inactive(file):   146440 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         11764 kB
Mapped:             6576 kB
Shmem:                60 kB
Slab:              31264 kB
SReclaimable:      23996 kB
SUnreclaim:         7268 kB
KernelStack:         616 kB
PageTables:         1876 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      510092 kB
Committed_AS:      54704 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        2448 kB
VmallocChunk:   34359732739 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8192 kB
DirectMap2M:     1040384 kB

お金がもったいないのでインスタンスをシャットダウンしておきます。

$ sudo shutdown -h now