Amazon EC2 (AWS) ã§åããã¦ãã t2 ã¤ã³ã¹ã¿ã³ã¹ããä»æ´ãªããã§ãããt3 ã¤ã³ã¹ã¿ã³ã¹ã¸ç§»è¡ããã®ã§ããã®ã¡ã¢æ¸ãã
t3 ã¤ã³ã¹ã¿ã³ã¹ã«å¤æ´ããã¨ãCPUã¯ã¬ã¸ããã®æ±ããå°ãå¤ããã¾ãããã³ã¹ãããã©ã¼ãã³ã¹ã¯ãããªãã±ã¼ã¹ãå¤ãã¯ãã
t2 ãã t3 ã¸ç§»è¡ããããã°ã¨ã³ããªã¼ã¯æ¢ãã¨ããã¤ãè¦ã¤ããããæ¥æ¬èªã§ã®æ¬²ããæ
å ±ã«ãã©ãã¤ããªãã£ããã¨ãããããã®è¾ºããã®ã¨ã³ããªã«ã¡ã¢ãã¦ãããã¨ã«ããã
ã¯ããã«: ãã®ã¨ã³ããªã¼ãæ¸ããã¨æã£ããã£ãã
äºåã«ä½æããã¦ããAMIããé½åº¦ t2 ã¤ã³ã¹ã¿ã³ã¹ãèµ·åãã¦ä½¿ç¨ãããããªã¦ã¼ã¹ã±ã¼ã¹ãåæã¨ãã¦ããããã®ä¿åæ¸ã¿ã®AMIããã¯ãt3 ã¤ã³ã¹ã¿ã³ã¹ãèµ·åã§ããªãç¶æ ã§ããã
ã¤ã³ã¹ã¿ã³ã¹ã¿ã¤ãã®é¸æç»é¢ã¯ãããªæãã
ã§ããã®ä¿åæ¸ã¿ã® AMI ã®è¨å®ããªãã¨ãå¤æ´ãã¦ãt3 ã¤ã³ã¹ã¿ã³ã¹ã¿ã¤ãã«å¯¾å¿ã§ããªãããã¨è²ã 調ã¹ãã®ã§ãããçµè«ã¨ãã¦ã¯ãAMI ãåä½æããªãã¨ãããªã模æ§ãå¤åã
ã®ã§ããã£ããã¨ã¯ã·ã³ãã«ã« AMI ããã¤ã³ã¹ã¿ã³ã¹ãèµ·åããt3 ã§ãèµ·åå¯è½ãªè¨å®ãè¡ããAMIãåä½æããã¨ããæµãã§è¡ãã¾ããã
ã¨ãããã¨ã§ã以ä¸ã®å ¬å¼ããã¥ã¡ã³ããåèã«ä½æ¥ããã®ã§ããã¡ããè¦ã¦ãããæ¹ã確å®ãããããªãã
確èªãã¦ããã¹ããã¨
t3 ã¤ã³ã¹ã¿ã³ã¹ã§åããããã«ã¯ãENA (Elastic Net Adapter) ãæå¹åããå¿ è¦ãããã¾ãã
ã使ãã®ã¤ã³ã¹ã¿ã³ã¹ã§ ENA ãµãã¼ããæå¹ãã©ããã¯ã
- ã«ã¼ãã«ã¢ã¸ã¥ã¼ã« (ena) ãæå¹ã«ãªã£ã¦ããã
- "enaSupport" å±æ§ãè¨å®ããã¦ããã
ã確èªããå¿
è¦ãããã¾ãã
次㮠AMI ã«ã¯å¿ è¦ãª ENA ã¢ã¸ã¥ã¼ã«ãå«ã¾ãã¦ãããENA ã®ãµãã¼ããæå¹ã«ãªã£ã¦ãã¾ãã
Linux/ インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化 - Amazon Elastic Compute Cloud
- Amazon Linux 2
- Amazon Linux AMI 2018.03
- Ubuntu 14.04 (linux-awsã«ã¼ãã«) 以é
- Red Hat Enterprise Linux 7.4 以é
- SUSE Linux Enterprise Server 12 SP2 以é
- CentOS 7.4.1708 以é
- FreeBSD 11.1 以é
- Debian GNU/Linux 9 以é
å®éã®ç¢ºèªãã°
æ¢åã® AMI ãã EC2 ã¤ã³ã¹ã¿ã³ã¹ãèµ·åãã¦ã ena ã¢ã¸ã¥ã¼ã«ãæå¹åããã¦ãããã確èªãã¾ãã
# modinfo ena filename: /lib/modules/4.9.76-3.78.amzn1.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 1.4.0U license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 963AA763EBF4D86DF9EF826 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: intree: Y vermagic: 4.9.76-3.78.amzn1.x86_64 SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int)
modinfo ã³ãã³ãã§ç¢ºèªãæå¹åããã¦ãã¾ããã
ããæå¹åããã¦ããªãå ´åãAmazon Linux ã®ææ°ãã¼ã¸ã§ã³çã§ã¯ãENA ãã¤ã³ã¹ãã¼ã«ãããæ¡å¼µãããã¯ã¼ãã³ã°ã«å¿
è¦ãªã¢ã¸ã¥ã¼ã«ãå«ã¾ãã¦ããã¨ã®ãã¨ãªã®ã§ã "sudo yum update" ãªã©ã§ææ°ã«æ´æ°ãã¦ã¿ã¾ãããã
(OSã®ã¢ãããã¼ãã«ã¤ãã¦ã¯ãOSã«ãã£ã¦æé ãç°ãªãã¾ããããã®èª¬æã¯ããã§ã¯å²æãã¾ãã)
次ããããã¯ã¼ã¯ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ãã©ã¤ãã¼ããã¼ãããã¦ãããã確èªãã¾ãã
# 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
ãµããena ã§ã¯ãªã vif ã¢ã¸ã¥ã¼ã«ããã¼ãããã¦ãã¾ãã
ã¨ãããã¨ã§æ¬¡ãã¤ã³ã¹ã¿ã³ã¹ã« enaSupport å±æ§ãè¨å®ããã¦ãããã©ããã確èªãã¾ãã
åããã¦ããã¤ã³ã¹ã¿ã³ã¹IDã調ã¹ãä¸ã§ãAWS CLIã®ä»¥ä¸ã³ãã³ããå®è¡ãã¦ã¿ã¾ãã
$ aws ec2 describe-instances --instance-ids i-xxxxxxxx --output json | jq '.Reservations[].Instances[].EnaSupport' null
å¤ãã¤ã¾ã£ã¦ããªãã®ã§è¨å®ããã¦ããªãã§ããã
ã¨ãããã¨ã§ã次ã«æ¡å¼µãããã¯ã¼ãã³ã°ã®è¨å®ãè¡ãã¾ãã
æ¡å¼µãããã¯ã¼ãã³ã° (enaSupport å±æ§) ã®è¨å®
ãã¡ãã AWS CLI ã®ä»¥ä¸ã³ãã³ãã§å®è¡ã
$ aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx --ena-support An error occurred (IncorrectInstanceState) when calling the ModifyInstanceAttribute operation: The instance 'i-xxxxxxxx' is not in the 'stopped' state.
ã¨ã©ã¼ãè¿ã£ã¦ãã¾ããã
ã¤ã³ã¹ã¿ã³ã¹ã稼åããã¾ã¾ã§ã¯è¨å®å¤æ´ãã§ããªããããªã®ã§ãã¤ã³ã¹ã¿ã³ã¹ãåæ¢ãã¦ãããåå®è¡ãã¾ãã
$ aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx --ena-support
ã¨ã©ã¼ãè¿ã£ã¦ãã¦ããªãã®ã§ãä»åº¦ã¯åé¡ãªãããã§ãã(ã¡ããã¨çµäºã³ã¼ãè¦ãã¹ããw)
$ aws ec2 describe-instances --instance-ids i-xxxxxxxx --output json | jq '.Reservations[].Instances[].EnaSupport' true
ä¸è¨ã®ããã«ç¢ºèªã®ã³ãã³ããå®è¡ããã¨ãããåé¡ãªã "true" ãè¿ã£ã¦ãã¦ãã¾ããããã§æå¹åããããã¨ã
ãã®ç¶æ
ã§ãAMI ãåä½æãã¦ããã°ãENAãæå¹åããã AMI ã¨ãªãã¾ãã
(ã¨ãããã¨ã§ AMI ãä½æããã)
t3 ã¤ã³ã¹ã¿ã³ã¹ãèµ·åãã¦ç¢ºèª
ãã¦ãEC2 ã¤ã³ã¹ã¿ã³ã¹ãèµ·åããéã® AMI ã®é¸æç»é¢ãè¦ãã¨ãå ã»ã©ä½æãã AMI ã¯ã以ä¸ã®ãããªæãã§ã"ENA æå¹" ã®é ç®ã "ã¯ã" ã«ãªã£ã¦ãããã¨ã確èªã§ãã¾ãã
ENA ãæå¹ãªAMIãä½æããã¨ã以ä¸ã®ããã« t3 ãã¡ããªã¼ã®ã¤ã³ã¹ã¿ã³ã¹ãé¸æãã¦èµ·åãããã¨ãã§ãã¾ãã
ã§ãt3 ã¤ã³ã¹ã¿ã³ã¹ã¯åé¡ãªãèµ·åããã®ã§ãå®éã«èµ·åããã¤ã³ã¹ã¿ã³ã¹ã§ããããã¯ã¼ã¯ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ãã©ã¤ãã¼ã« ena ãããã£ã¦ãããã確èªãã¦ã¿ãã¨ããã
# ethtool -i eth0 driver: ena version: 1.4.0U 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
OKãå¤æ´ããã¦ãã¾ããã
æé ã¯ãã£ãããããªæãã§ããã¼ã
ããã§ã¯ï¼=ÍÍÍÍ(à¹â¢Ì=ÍÍÍÍ(à¹â¢Ìдâ¢Ì=ÍÍÍÍ(à¹â¢Ìдâ¢Ìà¹)=ÍÍÍÍ(à¹â¢Ìдâ¢Ì