EC2インスタンスタイプT2→T3に変更する(全コマンド記載)【AWS】

・EC2インスタンスの世代をT2からT3に変更したい。
使用している環境のインスタンスタイプがT2.microで動かしているのですが、最近Wordpressの管理者ページが重くなってきたので、EC2インスタンスの世代を変更してみました。
無料枠で構築してそのまま運用を続けているという方も多いと思いますので、備忘も兼ねて手順を残しておきます。
記事の目次
インスタンスの情報確認
インスタンスタイプをt2→t3に変更するには、ENAが有効化されているかどうか確認する必要があります。
ENAの確認にはEC2が起動していないと確認できないので、まず初めにそちらを確認していきましょう。
Amazon Linux AMI での拡張ネットワーキングの有効化
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking-ena.html#enable-enhanced-networking-ena-AL
EC2にSSH接続
まず初めにEC2にSSH接続を行い、下のコマンドを実行してください。
下記のような画面が表示された場合、ENAは正常にインストールされております。
modinfo ena

※インストールされていない場合、下記コマンドでENAに必要なモジュールがインストールできます。
sudo yum update
次にネットワークインターフェースドライバーを確認しましょう。
ethtool -i eth0

今回の場合、リストされているドライバーは vif であるため、ena モジュールはロードされていないのがわかりました。
次の章でENAを有効にしていきましょう。
インスタンスのID・状態確認(AWS CLI)
ENAを有効にしたいのですが、まず初めにインスタンスを停止する必要があります。
インスタンス停止はマネジメントコンソールで実行可能ですが、今回はAWS CLIで実行します。
まずは停止対象のインスタンスのId確認を行います。
EC2からexitを行い、下記コマンドを実行してインスタンスのidを取得しましょう。
aws ec2 describe-instances --output=table --query 'Reservations[].Instances[].{id:InstanceId,name:Tags[?Key==`Name`].Value|[0]}'

私の使用している環境はインスタンス1台なので、上記のidをメモしEC2インスタンスの状態を取得します。
下記コマンドからインスタンスの状態を取得します。<INSTANCE_ID>のところは上記で取得したインスタンスIDに置き換えてください。
aws ec2 describe-instance-status --instance-ids <INSTANCE_ID>

稼働中なのが確認できましたね。このインスタンスを停止させていきます。
インスタンス停止(AWS CLI)
下記のコードを実行してインスタンスを停止させてください。
aws ec2 stop-instances --instance-ids <INSTANCE_ID>

停止したインスタンスの状態は先ほどのdescride-instance-statusでは取得できないので、descride-instancesコマンドで確認します。
aws ec2 describe-instances --instance-ids <INSTANCE_ID>

停止できているのを確認しました。
ネットワークインターフェースの変更
次にネットワークインターフェースの変更を行います。
下記コマンドを実行
aws ec2 modify-instance-attribute --instance-id <INSTANCE_ID> --ena-support
下記コマンドでtrueになっているのを確認
aws ec2 describe-instances --instance-ids インスタンスID --query "Reservations[].Instances[].EnaSupport"
インスタンスタイプ変更
最後に下準備が整いましたのでインスタンスタイプの変更を行います。
EC2のダッシュボードに移動し左側のメニューより「インスタンス」を選択
「アクション」→「インスタンスの設定」→「インスタンスタイプを変更」をクリック

下記の画面に遷移すると思いますので「適用」をクリック

正常に成功しました。

確認
EC2のダッシュボードよりインスタンスの確認を行います。

正常に変更できていることを確認できましたね。
- タグ:
- EC2