AWS | コスト削減のためのインスタンスの変更方法

AWSとは,Amazon Web Servicesの略であり,アマゾンが提供するクラウドサービスである.私は以前こちらの記事で記したように,Amazon Elastic Compute Cloud (Amazon EC2)を利用したブログを作成した.なお,私はEC2の利用が12ヵ月無料となるオプションを利用した.
12ヵ月の無料が切れた後,コストが上昇したため,EC2のインスタンスのタイプを変更することでコストを削減させる方法を以下に記す.
背景
EC2を作成すると,以下請求メールが毎月届く.

12ヵ月の無料期間が切れる旨のメールを,以下のように受領した.

EC2を利用していたときの私の場合の月々の費用が以下になる.無料時は毎月2ドル前後だったが,12ヵ月の無料が切れた後,65ドルほどに上昇した.

コスト詳細の確認方法
AWSにログインし,赤枠をクリックする.

以下画面が表示されるので,"Account"をクリックする.

以下画面に遷移するので,"Bills"をクリックする.

以下画面が表示されるので,赤枠の月をクリックする.

以下画面が表示されるので,コストが高かった2023年2月を選択する.

以下画面が表示される.かかっているコストの中で大きな割合を示す以下赤枠の事項を選択する.
- Relational Database Service (RDS)
- Elastic Compute Cloud (EC2)
- Elastic Load Balancing (ELB)

以下画面が表示される.コストの詳細は以下になる.コスト削減には時間当たりの単価を減らすか稼働時間を減らすしかない.
t2.microの時間当たりの単価 * 稼働時間 = コスト

以下Amazon EC2のサイトにアクセスし,スクロールダウンすると,"t2.micro"と"t2.nano"の時間当たりの単価を確認できる."t2.nano"に変更できるかを検討するため,次の項でCPUの使用率を確認する.

以下Amazon RDSのサイトにアクセスし,スクロールダウンすると,"t2.micro"の場合のDBインスタンスの料金を確認することができる.私の場合,旧世代のDBインスタンスの料金が現状該当している料金となる.
AWS | Amazon RDS の旧世代のデータベースインスタンス

以下Amazon RDSのサイトにアクセスし,スクロールダウンすると,現在の料金体系のDBインスタンスの料金を確認することができる.一番安いプランでも時間当たりの料金は0.025USDとなる.
私が旧世代のDBインスタンスにおける"t2.micro"の時間当たりの料金が0.026USDとなるため,あまりコスト削減にはならないことがわかる.
AWS | Amazon RDS for MariaDB の料金

CPUの使用率の確認方法
AWSをログインし,EC2のサービスを選択し,以下"Instances"をクリックすると以下画面に遷移する.現状"t2.micro"を利用していることがわかる."Instance ID"をクリックする.

以下画面が開くので,スクロールダウンする.

以下画面になるので,"Monitoring"をクリックする.

以下画面になる.CPUの使用率を確認したいので,以下赤枠をクリックする.

“Enlarge"をクリックする.

以下が1年間のCPUの使用率となる."t2.nano"に変更できそうだと判断した.

インスタンスの変更方法
変更には,以下サイトを参照した.AWSにログインし,サービスからEC2を選択し,"Instances"をクリックすると以下画面に遷移する.対象のインスタンスにチェックを入れ,"Instance state"をクリックする.
株式会社カサレアル BSブログ | AWS EC2のインスタンスタイプ変更手順

以下のように,チェックを入れ,"Instance state"をクリックし,"Stop instance"を選択し,対象のインスタンスを止める.

以下画面が表示されるので,"Stop"をクリックする.

以下のように,ストップする.

ストップすると,以下のように"Stopped"が表示される."Actions"をクリックし,"Instance settings"をクリックする.

“Instance settings"をクリックし,"Change instance type"を選択する.

以下画面に遷移するので,"Instance type"をクリックし,"t2.nano"を選択する.

“t2.nano"を選択後,"Apply"をクリックする.

以下画面に遷移すると,"Instance type changed successfully"が表示される."Instance type"は,"t2.nano"が表示される.

“Instance state"をクリックし,"Start instance"を選択する.

“Instance state"は"Pending"になる.

少し時間が経過すると,以下のように"Instance state"が"Running"に変化すれば成功となる.

今後の予測費用
今回,私が利用しているAWSのプランでは,以下項目のコストが大きな割合を占めることが分かった.
- Relational Database Service (RDS)
- Elastic Compute Cloud (EC2)
- Elastic Load Balancing (ELB)
そのため,EC2のインスタンスタイプを"T2.micro"から"T2.nano"に変更することで,0.0152 USD/hourから0.0076 USD/hourに単価を下げることができた.
稼働時間が2月(先月)と3月(今月)で変わらないとすると,以下費用計算より,2月の費用は税込みで約64ドル,3月の費用は税込みで約55ドル(7500円)となる.
■2月の費用計算
RDS: 0.026 USD/hour * 672 hours = 17.47 USD
EC2: 0.0152 USD/hour * 1169 hours = 17.77 USD
ELB: 0.0243 USD/hour * 672 hours = 16.33 USD
その他: 6.74 USD
概算合計: 58.31 USD (+10%税)
■3月の見込費用計算
RDS: 0.026 USD/hour * 672 hours = 17.47 USD
EC2: 0.0076 USD/hour * 1169 hours = 8.88 USD
ELB: 0.0243 USD/hour * 672 hours = 16.33 USD
その他: 6.74 USD
概算合計: 49.42 USD (+10%税)
今後検討すべきこと
今回,EC2のインスタンスのタイプを"t2.micro"から"t2.nano"に変更することで,コスト削減することができたが,RDSとELBの有効なコスト削減方法が見当たらなかった.
EC2のインスタンスタイプを変更後も約7500円/月を負担する計算なので,以下サイトを参照し,CloudFrontやLightsailを利用できるかを検討しようと思う.
個人利用で始めるAWS学習記 | AWS個人利用は高すぎるって話
参照
株式会社カサレアル BSブログ | AWS EC2のインスタンスタイプ変更手順
個人利用で始めるAWS学習記 | AWS個人利用は高すぎるって話
以上