EC2をスケールアップしよう

Posted by Akkey on 2025/10/12

前の記事にも書きましたが、このホームページはAWSのEC2で動いています。

で、一番お安いコース(インスタンスタイプ)の「ts2.micro1」で動かしているため、

メモリが足りなくて毎週WordPressで使ってるDBのプロセスがキルされるという問題があります。

そうすると、もちろんサイトが落ちてしまうんですね。

まずは安定稼働を目指すということで、もうちょっと良いインスタンスタイプに変更してみます。

まぁそれで安定稼働するのかは定かではないですが、まずはってことで。

そうすると当然コストも増えてくるのでその点も含めて、調べてやっていきます!


EC2スケールアップの手順(2025年10月時点)

1、動いているEC2インスタンスを停止する

EC2インスタンスが動いているとインスタンスタイプの変更ができないので、インスタンスを停止します。

AWSコンソールにログインして、EC2のサービスを選択。そしたら左のメニューから「インスタンス」を選択。

するとインスタンスのリストが出てくるので、インスタンスタイプを変更したいインスタンスの左のチェックボックスにチェックして選択。(出てこない場合はリージョンが違うかも。)

チェック(選択)した状態で右上の「インスタンスの状態」から「インスタンスの停止」を選択。

確認ダイアログが出るので「停止」で停止します。

そうするとインスタンスの状態は「停止中」になります。これはいわゆるシャットダウン中で、完全に停止しているってわけではないので注意です。実際に停止状態になるすると「停止済」になりますので「停止済」になるまで待ちます。

2、インスタンスタイプの変更

インスタンスの状態が「停止済み」になったら「アクション」(インスタンスの状態の横)から「インスタンスの設定」→「インスタンスタイプを変更」を選択します。(停止済にならないと選べません。)

するとインスタンスタイプを変更画面が出るので、変更したいインスタンスタイプを選びます。

ここでは「t3.small」を選択して様子をみます。

選択すると、現行が左、新しく選択したものが右に出てきて比較ができます。

これをみると、vCPU、メモリはそれぞれ倍に増強されていますね。そして気になる費用面は、オンデマンド Linux 価格設定が「0.0152USD1 時間あたり」から「0.0272USD1 時間あたり」に、Windows のオンデマンド価格設定が「0.0198USD1 時間あたり」から「0.0456USD1 時間あたり」になっています。このマシンはLinuxなので、オンデマンドLinux価格設定の方が適用されます。

そして、無料利用枠の対象も「true」から「false」になっています。しかし、無料利用枠はAWS新規ユーザーが750時間無料で使えますよっていう枠のことらしいです。で、それが「t3.small」は無料対象のインスタンスタイプではありませんよってことですね。僕はすでに750時間使い切っちゃってるので費用にはあまり関係ないです。

で、これで計算してみると大体月額1,500円弱増える見込み。ちなみにt3.mediumだと4,000円強・・・。月額4000円アップは正直キツいので、t3.smallで様子をみます。

そして最後に、いずれ収益化して費用を賄えるといいなぁと思いつつ「インスタンスタイプを変更」ボタンをポチッと。これでインスタンスタイプの変更は完了です。

3、インスタンスを起動

インスタンスを停止していたので、起動します。

AWSコンソールのEC2サービスのインスタンスから、起動するインスタンスを選択(左のチェックボックスにチェック)して、右上の「インスタンスの状態」(ボタン)から「インスタンスを開始」をクリックします。

すると起動中になるのでインスタンスの状態が「実行中」になるまで待ちます。

4、動作確認

実行中になったらターミナルからSSH(Secure Shell)接続して確認します。接続後に

cat /proc/cpuinfo | grep processor | wc -l

で、CPUコアの数を確認できます。「2」と表示されたので、コアが2に拡張されたのが確認できました。

続いて

free -h

で、メモリの使用状況を確認します。

[ec2-user@ip-XX-X-XX-XXX ~]$ free -h
total used free shared buff/cache available
Mem: 1.9G 570M 1.0G 548K 328M 1.2G
Swap: 1.0G 0B 1.0G

と約2Gになってるので、メモリも拡張OKです。

で、あとはhttpdとmariadbが起動しているか確認します。

まずはhttpd(Apache)の起動確認。

sudo systemctl status httpd 

と打って

Active: active (running)

と出てれば起動中。

最後にmariadbの起動確認。

sudo systemctl status mariadb

こちらも

Active: active (running)

とでれば起動OK。あとは実際にサイトに接続してページがでたらスケールアップ&起動完了です!


おまけ

インスタンスタイプの見分け方

AWSのインスタンスタイプはいっぱいあってそれぞれ合う用途が決まっています。ChatGPTにまとめてもらいましたので貼り付けておきますね。(2025年10月時点です。)

EC2 インスタンスタイプの種類と特徴まとめ

AWSのEC2インスタンスは、用途に応じて t・m・c・r・g など の「ファミリー」に分類されます。 それぞれのアルファベットには得意分野があります。

ファミリー 特徴・用途 向いているケース
t系 バースト型・汎用。コストが安く、軽めの運用に最適。 個人ブログ、検証環境、小規模Webサイト t3.micro / t3.small / t3.medium
m系 CPUとメモリのバランスが良い、標準的なインスタンス。 中規模Webアプリ、業務システム m6i.large / m7g.large
c系 CPU性能重視。高い計算処理能力を持つ。 APIサーバー、バッチ処理、シミュレーション c7g.large / c7i.large
r系 メモリ容量を重視。DBサーバー向き。 MariaDB / PostgreSQL / Redis など r6g.large / r7g.large
g・p系 GPU搭載。画像処理・AI学習・動画解析などに最適。 機械学習、Deep Learning、3Dレンダリング g5.xlarge / p4d.24xlarge

世代とアーキテクチャについて

インスタンス名の数字は「世代番号」、末尾の文字はCPUアーキテクチャを示します。 たとえば t3.small は第3世代、x86 CPU。
t4g.small は第4世代、Graviton(ARM)CPU です。

  • t2:旧世代(無料枠で利用可)
  • t3:現行標準。安定かつコスパ良好
  • t4g:最新世代(ARMベース)。性能高く省電力