#author("2026-11-05T09:51:36+00:00","","") #contents # AWS EC2 契約更新・インスタンス移行記録(2026年10月) **実施日:2026年10月3日~5日** [#df76b4a9] **対象:AWS東京リージョン(ap-northeast-1)** [#f41ce62d] **目的:3年間のReserved Instance契約満了に伴うコスト最適化とメールサーバー構成の整理** [#hbc38f91] #contents * 1. 概要 [#j0deb180] 2023年10月4日に購入したAWS EC2 Reserved Instance(RI)の3年間の契約が、2026年10月3日に満了した。 これに伴い、従来のReserved InstanceからEC2 Instance Savings Plansへ移行するとともに、EC2インスタンスタイプを旧世代のt2からt3aへ変更した。 また、メール配送の冗長化のために運用していたセカンダリMXサーバー(MX3)を廃止し、EC2インスタンス、EBS、Elastic IPの整理を実施した。 今回の変更は、OSやメールサーバーソフトウェアの更新を伴わない、AWSインフラと料金契約の見直しである。 * 2. 変更前の構成 [#of54e916] ** 2.1 EC2インスタンス [#j3517d29] |項目|MX2(プライマリ)|MX3(セカンダリ)|h |ホスト名|mail2.hmuna.com|mail3.hmuna.com| |用途|本番メールサーバー|バックアップMX| |インスタンスタイプ|t2.medium|t2.micro| |vCPU|2|1| |メモリ|4 GiB|1 GiB| |CPUアーキテクチャ|x86_64|x86_64| |OS|Ubuntu 18.04.6 LTS|Ubuntu Linux| |ストレージ|EBS gp2 30 GiB|EBS gp2 12 GiB| |パブリックIPv4|54.168.145.135|13.114.88.171| |料金契約|Standard RI|Standard RI| ** 2.2 旧Reserved Instance契約 [#ea75ae2c] - 契約方式:Standard Reserved Instance - リージョン:東京(ap-northeast-1) - 期間:3年間 - 支払い方式:All Upfront(全額前払い) - 契約開始:2023年10月4日 14:34 JST - 契約満了:2026年10月3日 14:34 JST Reserved Instanceは、対象インスタンスの利用料金を長期契約により割り引く仕組みである。 旧契約はt2ファミリーを対象としていたため、今回のt3aへの移行に合わせて新しい割引契約を検討した。 * 3. インスタンスタイプの見直し [#p0876ec9] ** 3.1 t2.mediumからt3a.mediumへの変更 [#gf18a9d3] MX2について、以下の変更を実施した。 |項目|変更前|変更後|h |インスタンスタイプ|t2.medium|t3a.medium| |vCPU|2|2| |メモリ|4 GiB|4 GiB| |CPU|Intel Xeon系|AMD EPYC系| |CPUアーキテクチャ|x86_64|x86_64| |仮想化・I/O基盤|旧世代|Nitro System| |ネットワーク|旧世代の仮想NIC|ENA| |EBSデバイス|従来型|NVMe| |OS|Ubuntu 18.04.6 LTS|変更なし| t3aはAMD EPYCを採用したバースト可能なEC2インスタンスファミリーであり、同等のt3インスタンスより安価に提供されている。 t2.mediumとt3a.mediumはvCPU数・メモリ容量が同じため、既存メールサーバーのリソース要件を維持したままコスト削減できる。 ** 3.2 t4g.mediumを選択しなかった理由 [#zcac33c0] t4g.mediumはAWS Graviton(Arm64)を採用し、t3a.mediumよりさらに安価である。 しかし、既存のUbuntu 18.04環境はx86_64であり、Arm64へ変更するにはOSやソフトウェア環境の再構築が必要になる。 今回の目的は契約更新とインスタンスタイプ変更を安全に実施することであったため、x86_64互換性を維持できるt3a.mediumを選択した。 ** 3.3 メモリ容量の判断 [#s803692e] 移行前のMX2は、ClamAV、MySQL、Postfix、Dovecot、Amavis、SpamAssassinなどを実行していた。 特にClamAV daemonは約1.4 GiBのメモリを消費しており、システム全体のメモリ使用量から判断して4 GiBを維持する必要があった。 CPU使用率は比較的低かったが、メモリ容量を2 GiBへ削減すると余裕が不足する可能性が高いため、t3a.smallへの縮小は見送った。 * 4. EC2料金比較 [#n35740f6] ** 4.1 オンデマンド料金 [#pc726056] 検討時点の東京リージョン、Linuxインスタンス料金を比較した。 |インスタンス|時間単価(USD)|月額概算(730時間)|h |t2.medium|$0.0608|$44.38| |t3.medium|$0.0544|$39.71| |t3a.medium|$0.0490|$35.77| |t4g.medium|$0.0432|$31.54| t2.mediumからt3a.mediumへの変更によって、オンデマンド料金は約19.4%低下する。 ただし、実際には長期割引契約を利用するため、オンデマンド料金がそのまま請求されるわけではない。 * 5. Reserved InstanceからSavings Plansへの移行 [#o64643b1] ** 5.1 Savings Plansの選択 [#d1a24b26] AWS Savings Plansには主に以下の種類がある。 |種類|特徴|h |Compute Savings Plans|インスタンスファミリーやリージョンをまたいだ柔軟な利用が可能| |EC2 Instance Savings Plans|特定リージョン・インスタンスファミリーを対象とし、より高い割引率を提供| 今回のMX2は、今後も東京リージョンでt3aファミリーを継続利用する見込みである。 このため、柔軟性よりも割引率を優先し、EC2 Instance Savings Plansを選択した。 ** 5.2 Savings Plans料金比較 [#rdebbffe] 2026年10月の購入検討時点の比較。 |契約方式|割引後の時間単価|3年間の料金|h |オンデマンド(t3a.medium)|$0.0490|約$1,287.72| |Compute Savings Plans(3年・全額前払い)|$0.0252|約$662.26| |EC2 Instance Savings Plans(3年・全額前払い)|$0.0184|$483.55| EC2 Instance Savings Plansはオンデマンド料金と比較して約62%の割引となる。 Compute Savings Plansと比較しても、3年間で約$179の削減になる。 ※上記はEC2インスタンスのコンピューティング料金の比較であり、EBS、Public IPv4、データ転送、税金などは含まない。 ** 5.3 購入したSavings Plan [#y5ef2bbb] |項目|設定値|h |Savings Plansタイプ|EC2 Instance Savings Plans| |リージョン|Asia Pacific (Tokyo)| |インスタンスファミリー|t3a| |契約期間|3年間| |支払いオプション|All Upfront| |時間当たりコミットメント|$0.01840| |前払い料金|$483.55| |定期料金|$0.00| |開始日時|2026-10-03 05:34 UTC| |終了日時|2029-10-02 05:33:59 UTC| |ステータス|Active| 開始日時を日本時間に換算すると2026年10月3日14:34 JSTとなり、旧RIの契約満了時刻と一致する。 これにより、旧RIから新Savings Planへ割引契約を切り替えた。 ** 5.4 RIとSavings Plansの違い [#y1f3a0b3] Reserved Instanceは、インスタンス属性に基づいて割引を適用する仕組みである。 Savings Plansは、1時間当たりの利用金額(USD/hour)をコミットすることで割引を受ける仕組みである。 今回購入したEC2 Instance Savings Plansでは、東京リージョンのt3aファミリーに対してコミットメントが適用される。 同一ファミリー内でのインスタンスサイズ変更にも対応できるため、将来t3a.smallやt3a.largeなどに変更する場合にも利用できる。ただし、購入したコミットメント額を超えた利用分には追加料金が発生する。 また、Savings PlansはEC2インスタンスの作成や予約そのものではなく、対象となる利用料金への割引を提供するものである。 * 6. MX2インスタンス移行作業 [#l7a0c848] ** 6.1 事前確認 [#o2604a79] t2からt3aへの移行に伴い、Nitro Systemへの対応状況を確認した。 確認項目: - ENAネットワークドライバの存在 - NVMeドライバの利用可能性 - ルートファイルシステムのマウント方式 - Linuxカーネルバージョン - Elastic IPの割り当て状況 移行前のカーネルはUbuntu AWS用の5.4系であり、ENAおよびNVMeをサポートしていた。 NVMeドライバはカーネルに組み込まれていることを確認した。 /etc/fstabのルートファイルシステムは以下のようにLABEL指定されていた。 LABEL=cloudimg-rootfs / ext4 defaults,discard 0 0 デバイス名に依存していないため、Nitro環境への移行後も正常にルートファイルシステムをマウントできると判断した。 ** 6.2 移行手順 [#c359ee27] + MX2の稼働状態とメールキューを確認 + EC2インスタンスを停止 + インスタンスタイプをt2.mediumからt3a.mediumへ変更 + インスタンスを起動 + OS、ネットワーク、ストレージを確認 + メールサービスの動作確認 Elastic IPを使用しているため、インスタンスのStop/StartによってパブリックIPv4アドレスは変更されない。 ** 6.3 移行後の確認結果 [#s526452b] 移行後の主な確認結果は以下の通り。 |項目|確認結果|h |インスタンスタイプ|t3a.medium| |CPU|AMD EPYC 7571| |vCPU|2| |メモリ|約3.8 GiB| |OS|Ubuntu 18.04.6 LTS| |カーネル|5.4.0-1163-aws| |仮想化方式|KVM| |ネットワークドライバ|ena| |ルートディスク|/dev/nvme0n1p1| |EBS容量|30 GiB| |Elastic IP|54.168.145.135| |メールキュー|空| NVMeデバイスへの切り替え、ENAネットワークドライバの利用ともに正常であり、OSおよびメールサービスの稼働を確認した。 ** 6.4 ClamAVの問題 [#ob1db80a] 移行後のsystemctl --failedで、clamav-freshclam.serviceの異常が確認された。 調査の結果、ClamAV 0.103.12が古く、署名データベースの更新時にCDNからHTTP 403を返される問題が発生していた。 この問題はt3aへの移行に起因するものではなく、旧OS環境で利用しているClamAVのバージョンに関連する問題と判断した。 clamav-daemon自体は正常稼働していたため、当面はfreshclamの自動更新サービスを停止・無効化した。 sudo systemctl stop clamav-freshclam sudo systemctl disable clamav-freshclam sudo systemctl reset-failed clamav-freshclam これは暫定措置であり、ウイルス定義の更新が停止するため、長期的にはメールサーバー環境の更新が必要である。 * 7. セカンダリMX(MX3)の廃止 [#h0e8853d] ** 7.1 廃止の背景 [#r07747c9] 従来はMX2を優先度10、MX3を優先度100としてDNSに登録していた。 10 mail2.hmuna.com. 100 mail3.hmuna.com. MX3はバックアップメールサーバーとして運用していたが、運用負荷とコストを考慮し、今回の契約更新に合わせて廃止することにした。 ** 7.2 廃止手順 [#q0477bdc] + Route 53のMXレコードからmail3.hmuna.comを削除 + DNSの変更が反映されたことをdigコマンドで確認 + MX3のEC2インスタンスを停止 + 約3日間、MX3停止状態でメール配送に問題がないことを確認 + EC2の終了保護を解除 + MX3インスタンスをTerminate + root EBSボリュームの自動削除を確認 + Elastic IPの解放作業を実施 ** 7.3 廃止対象リソース [#ud2033b2] |項目|リソース|処理|h |EC2|t2.micro|Terminate完了| |EBS|vol-073e0670bc9041588(12 GiB)|自動削除| |Elastic IP|13.114.88.171|解放手続き| |DNS MX|mail3.hmuna.com|削除済み| Elastic IPの解放時には、以前設定されていた逆引きDNS(PTR)レコードmail.hmuna.comが原因で解放が拒否された。 PTR削除後もAWS側でアカウントロックが残っていたため、AWS Supportへロック解除を依頼した。 ※2026年10月5日時点ではSupport Case作成まで確認済み。Elastic IPの解放完了は別途確認が必要。 ** 7.4 廃止による効果 [#kc2070f7] MX3の廃止により、以下のリソース料金を削減できる。 - t2.microのEC2コンピューティング料金 - 12 GiBのEBSストレージ料金 - 旧MX3用Public IPv4アドレス料金(EIP解放完了後) さらに、セカンダリMXのOS、メールサーバー、セキュリティ更新などの運用負担もなくなる。 ただし、バックアップMXによる冗長化は失われる。MX2が一時停止した場合には送信元メールサーバーの再送機構に依存する構成となるため、長時間障害への備えは別途検討する。 * 8. 契約更新後の確認 [#h53d5a2f] ** 8.1 Savings Plans適用確認 [#a8dbf274] 2026年10月5日、AWS Billing and Cost ManagementのSavings Plansインベントリで以下を確認した。 |項目|結果|h |Savings Planステータス|Active| |インスタンスファミリー|t3a| |リージョン|Tokyo| |支払い方式|All Upfront| |コミットメント|$0.01840/時間| |MTD使用率|100.00%| MTD使用率が100%であり、購入したコミットメントが対象EC2利用に適用されていることを確認した。 ** 8.2 AWSコストダッシュボード [#g0a9ea24] 2026年10月のAWSコストダッシュボードには、月額予測約$546という通常月より高い金額が表示された。 これはSavings Plansの3年間の全額前払い料金$483.55が購入月のコストに計上されたためである。 All Upfront方式では、契約期間の料金を購入時に一括支払いするため、翌月以降に同じ前払い料金が繰り返し発生するわけではない。 なお、EC2以外のEBS、Public IPv4、データ転送等の料金は引き続き発生する。 * 9. 最終構成と費用削減効果 [#ia56fa5a] ** 9.1 構成比較 [#v53da45d] |項目|変更前|変更後|h |メインMX|t2.medium|t3a.medium| |セカンダリMX|t2.micro|廃止| |EC2割引契約|Standard RI|EC2 Instance Savings Plans| |契約期間|3年間|3年間| |契約対象|t2系|東京リージョンのt3aファミリー| |支払い|All Upfront|All Upfront| |メインMXのEBS|30 GiB|30 GiB(変更なし)| |セカンダリMXのEBS|12 GiB|削除| |メインMXのElastic IP|54.168.145.135|変更なし| |セカンダリMXのElastic IP|13.114.88.171|解放手続き| ** 9.2 コスト面での効果 [#pa94bc35] 新しいt3a.mediumのコンピューティング料金は、3年間で$483.55となった。 これはt3a.mediumのオンデマンド料金約$1,287.72に対して約62%の削減となる。 さらに、旧t2.mediumのオンデマンド料金約$1,597.82と比較すると、3年間で約$1,114の差になる。 ただし、この差額はオンデマンド料金同士を基準にした参考値であり、旧Reserved Instanceの実際の購入費用との差額ではない。 MX3の廃止による費用削減も加わり、EC2インフラ全体のランニングコストを低減できた。 * 10. 今後の課題 [#cea465c1] ** 10.1 OSおよびメールサーバー環境の更新 [#x380200f] 今回の作業では既存のUbuntu 18.04環境を維持した。 Ubuntu 18.04は通常の標準サポート期間を終了しているため、今後のセキュリティ維持には新しいLTS環境への移行が必要となる。 現行サーバーを直接アップグレードするのではなく、新しいEC2インスタンスを別途構築し、設定・メールデータを段階的に移行する方式を採用する。 想定する新環境: - Ubuntu 26.04 LTS - Postfix - Dovecot 2.4 - MySQL 8.4 - PostfixAdmin 4.x - Rspamd - Nginx 新環境の検証が完了するまでは現行MX2を維持し、DNSの切り替えを最後に実施する。 ** 10.2 AWSリソースの追加整理 [#t7cac454] 以下の項目について継続確認する。 - 旧MX3 Elastic IPのロック解除と解放完了 - 旧MX3に関係する不要なDNS Aレコードの削除 - 不要なEBS Snapshotの有無 - Savings Plansの使用率・カバレッジ - EC2 CPUクレジット利用状況 - EBS gp2からgp3への変更による追加コスト削減の可能性 * 11. まとめ [#kc52158e] 2026年10月のAWS EC2契約更新では、以下の変更を実施した。 - 3年間のStandard Reserved Instance契約を終了 - 新たに3年間のEC2 Instance Savings Plansを購入 - MX2をt2.mediumからt3a.mediumへ変更 - CPUアーキテクチャとメモリ容量を維持しながらNitro Systemへ移行 - OSおよびメールサーバーの正常動作を確認 - MX3のバックアップMX機能を廃止 - 不要になったEC2インスタンスとEBSを削除 - Savings Plansの正常適用(使用率100%)を確認 これにより、既存メールサーバーの動作環境を大きく変更せずに、AWS EC2の長期利用料金を最適化できた。 今後は、別途構築するUbuntu 26.04 LTSベースの新メールサーバーへの移行を進める。