キャンプシーズン到来で焚き火したくて発狂寸前のCTO室のkazです。 今回は、t2インスタンスで起動している既存サーバをt3インスタンスに変更した際の手順を書きたいと思います。
オンデマンド料金で東京リージョンでの性能と料金
現行世代 | vCPU | メモリ | 料金 |
---|---|---|---|
t3.nano | 2 | 0.5 GiB | 0.0068USD/時間 |
t3.micro | 2 | 1 GiB | 0.0136USD/時間 |
t3.small | 2 | 2 GiB | 0.0272USD/時間 |
t3.medium | 2 | 4 GiB | 0.0544USD/時間 |
t3.large | 2 | 8 GiB | 0.1088USD/時間 |
t3.xlarge | 4 | 16 GiB | 0.2176USD/時間 |
t3.2xlarge | 8 | 32 GiB | 0.4352USD/時間 |
t2.nano | 1 | 0.5 GiB | 0.0076USD/時間 |
t2.micro | 1 | 1 GiB | 0.0152USD/時間 |
t2.small | 1 | 2 GiB | 0.0304USD/時間 |
t2.medium | 4 | 1 GiB | 0.0608USD/時間 |
t2.large | 2 | 8 GiB | 0.1216USD/時間 |
t2.xlarge | 4 | 16 GiB | 0.2432USD/時間 |
t2.2xlarge | 8 | 32 GiB | 0.4864USD/時間 |
- そもそもt2とは?t3とは? バースト、ベースラインパフォーマンスという概念があるんですが、[公式ドキュメント]がわかりやすいです。 その中でも運用で注意しないとEC2インスタンス料金がスパイクする恐れのある概念が「Unlimited」です。
拡張ネットワーキング有効化手順
- AmazonEC2インスタンスで使用できる仮想ネットワークアダプターは 3 種類あり、T3系のインスタンスを使用するにはvifをENAに変更する必要があります。
アダプター | 利用可能なインスタンスタイプ | カーネルモジュール | Windows ドライバー | パフォーマンス |
---|---|---|---|---|
vif | すべて | Xen-netfront | Citrix または AWS PV | 低〜中 |
Intel 82599 VF | C3、C4、D2、I2、R3、および M4 (m4.16xlarge は除く) | ixgbevf | Intel 82599 VF | 最大 10 Gbps |
Elastic Network Adapter | P2、R4、X1、および m4.16xlarge | ena | ena | 最大 20 Gbps |
拡張ネットワーキングが有効化されているか確認するには下記をチェックする
①enaモジュール がインスタンスにインストールされている
②enaSupport 属性が設定されている
- 以下はenaモジュールがインストールされていない状態
$ modinfo ena modinfo: ERROR: Module ena not found.
- osをupdateし、enaモジュールがインストールされたことを確認する
$ sudo yum -y update --skip-broken && sudo shutdown -r now
$ modinfo ena filename: /lib/modules/4.14.77-70.59.amzn1.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 2.0.2g license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: DF971F3B33F323495F5FAC6 alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: retpoline: Y intree: Y name: ena vermagic: 4.14.77-70.59.amzn1.x86_64 SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int) parm: rx_queue_size:Rx queue size. The size should be a power of 2. Max value is 8K (int)
- インスタンスを停止した後、enaSupport属性を有効化する
$ aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx --ena-support
- enaSupport属性がを有効化設定されているか確認
$ aws ec2 describe-instances --instance-ids i-xxxxxxxx | jq '.Reservations[].Instances[].EnaSupport' true
インスタンスタイプをT3系に変更しサーバを起動させる
ネットワークインターフェイスで使用されているモジュールがENAであることが確認できる
$ ethtool -i eth0 driver: ena version: 2.0.2g firmware-version: bus-info: 0000:00:05.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no