COLUMN
AWSのコスト削減について解説(Amazon EC2編)~Amazon EC2を安く使うための方法を徹底解説~
【相談無料】エンジニアがお客さまのAWS/Azure環境のコスト削減のご相談に乗ります!
こんにちは。NTT東日本の石井です。 |
みなさん、業務に使用するサーバーはどのように運用されておりますでしょうか。クラウド技術を活用しようにも、料金面についての疑問や不安を感じる方もいらっしゃるかと思います。
是非、本コラムを通じてクラウドならではのメリット・料金体系についてご理解いただけますと幸いです。
目次:
- 1.AWSのコスト削減術について
- 1-1.使わないコンピューティングサービスの停止
- 1-2.ストレージサービスの容量・データ引き出しの削減
- 1-3.ネットワークサービスの最適化
- 1-4.AWSの利用料を事前に見積る
- 1-5.AWSの利用料が高額になる前にアラートを出す
- 2.よく利用されるAmazon EC2とは
- 2-1.Amazon EC2の概要
- 2-2.Amazon EC2の利用料金
- 3.Amazon EC2の利用料金の削減方法
- 3-1.どのリージョンを使用するか
- 3-2.どのインスタンスタイプを使用するか
- 3-3.どのOSで運用するか
- 3-4.どのテナント属性で運用するか
- 3-5.インスタンスのデータ保存容量
- 3-6.データ転送量
- 3-7.IPアドレスについて
- 3-8.Amazon EC2インスタンスの起動時間
- 4.サーバーのクラウド移行やAWS/Azureのコスト削減はNTT東日本へお任せください
- 5.まとめ
1.AWSのコスト削減術について
まずはAWS全般の概要とコスト最適化について簡潔に解説します。
AWSは世界中のデータセンターでさまざまなサービスを展開しており、使った分だけ請求される「従量課金制」で使用することができます。
サービスの種類は200を超えており、コスト削減の手法についてもそれぞれ異なりますが、以下5種類に大別されます。
1-1.使わないコンピューティングサービスの停止
Amazon EC2やAmazon RDSといったクラウド上に設置されている仮想サーバーのレンタルサービスです。コンピューティングリソースが起動した時間によって課金されるため使わない時間は停止されることにより、AWS利用料を削減させることができます。また、コンピューティングサービスにはSavings Planやリザーブドインスタンスがあり、こちらを適用することによりコストを削減させることが可能です。
1-2.ストレージサービスの容量・データ引き出しの削減
Amazon S3やAmazon EBSなどといった、クラウド上でデータを保存することができるサービスです。保存したデータの容量やデータの引き出しに対して課金されるため「不要なデータは削除する」、「必要以上のリクエストを行わない」などの対策でAWS利用料を削減することができます。
1-3.ネットワークサービスの最適化
Amazon VPCなどといった、クラウド上の仮想ネットワーク基盤を利用できるサービスです。
Amazon VPCの利用は無料ですが、別のAZ(アベイラビリティゾーン)やインターネット向けのデータの送信を大量にしたり、NAT-GWやVPN接続のサービスを使用したりすると課金されることになります。不要なデータ通信を行わないことや必要な接続が終了したらサービスを停止させることによりAWS利用料を削減することができます。
1-4.AWSの利用料を事前に見積る
AWSの利用料は、「従量課金制」です。利用料については月末で集計され翌月に請求されるような流れになりますが、AWS公式が事前に金額の見積りを作成することができるツールを公開しています。
※見積りツール画面上部[Language:English]をクリックいただくことで、日本語へ変更することが可能です。
使用したいサービスとその内容を記載していくことにより利用料金の概算を計算することが可能になっています。
1-5.AWSの利用料が高額になる前にアラートを出す
事前にAWS利用についてある程度の予算見積りを実施しその中でAWSを使用したいといった考えもあるかと思います。
AWS Budgetsというサービスを使用することにより、事前に設定した予算設定に近づくと事前に設定した通知先(メールアドレス等)に通知を配信してもらえます。
このツールでは、利用料金が事前に設定した閾値に達すると警告してくれますが、課金の停止までは対応できません。
メールを確認次第、速やかに原因を確認しリソースを停止させるか、停止できないリソースならば予算を追加するなどの対応をしましょう。
今回のコラムでは、コンピューティングサービスの代表である、Amazon EC2サービスでのコスト削減の詳細について解説します。
2.よく利用されるAmazon EC2とは
2-1.Amazon EC2の概要
Amazon EC2とは、AWSが運用するコンピューティングプラットフォームです。
Linux/Windows/MacOSなどの多種多様なOSを使用でき、WebサーバーやAPサーバーのホストを含めサーバー端末をかなり自由に使えることが特徴です。コンピュータの性能もインスタンスタイプというパッケージで多数ラインナップされており適切なインスタンスタイプを選択することで、経済的かつ効率のいいサーバー構築・運用が可能になっております。
2-2.Amazon EC2の利用料金
利用料金は従量課金制で大まかではありますが、下記のような式で請求されます。
(OS利用料+インスタンスタイプ)×利用時間(時間または秒)
このように、データセンターに設置されているサーバーを時間(または秒)単位で気軽に利用できるのが大きなメリットとなっております。
3.Amazon EC2の利用料金の削減方法
Amazon EC2では自由にサーバーを扱えるといったことがご理解いただけたかと思いますが、Amazon EC2の料金を下げるにはどのようなことをすればよいでしょうか。ここでは以下8つの削減ポイントについて解説いたします。
- どのリージョンを使用するか
- どのインスタンスタイプで運用するか
- どのOSで運用するか
- どのテナント属性で運用するか
- インスタンスのデータ保存容量
- データ転送量
- IPアドレスについて
- EC2インスタンスの起動時間
3-1.どのリージョンを使用するか
AWSでは世界中さまざまな国と地域にデータセンターがあり、例えば日本にいながら、アメリカのデータセンターでサーバーを構築・運用することが可能です。
アメリカのインスタンスタイプの単価は日本と比較し割安となっているためコストを節約するならば選択肢の一つに入ってきますが、下記には注意が必要です。
- 通信遅延:ユーザーが日本にいる場合は、海外リージョンへの往復通信が発生するため通信遅延が発生しユーザー満足度低下に注意が必要です。
- 他のAWSサービスとの接続:他のAWSサービスと同一リージョンにしないと遅延やリージョン外通信で通信費用による課金が発生します。
別のリージョンを使用するならば、例えば開発中のインスタンスに限定するなどの対策を講じることで、開発中のインスタンスに対する費用を削減できます。
3-2.どのインスタンスタイプを使用するか
Amazon EC2では、さまざまなインスタンスタイプを提供しています。インスタンスタイプは高スペックなものほど課金額が高くなります。サーバーの利用目的に合うインスタンスタイプ選びも重要です。
またAWSでは、AWS Compute OptimizerというAWSリソースの設定と使用率のメトリクスを分析するサービスもありますので、このようなサービスを用いリソースの棚卸を定期的に実施することで、過剰なインスタンスタイプへの課金を抑制することが可能です。
3-3.どのOSで運用するか
Amazon EC2では、Windows・Linux・macOSなどさまざまなOSを利用できます。
WindowsとLinuxでは、Linuxのほうが比較的に安価で構築できるため、可能ならばLinuxを使用することで課金を抑制することが可能です。
3-4.どのテナント属性で運用するか
Amazon EC2では、1台の物理サーバーを他のAWSユーザーと共有して使うか専有して使うかを選択することが可能です。共有して使うことができれば安価に使うことができます。
通常、共有のものを使用するので、あまり意識する必要はないかもしれませんが、サーバー上で使用するアプリケーションソフトウェアのライセンスや企業内のルールによっては、専有して使う必要がある可能性があるため、確認して選択する必要があります。
3-5.インスタンスのデータ保存容量
Amazon EC2の仮想サーバー上にデータを保存することができますがデータを保管する際はストレージコストが発生するため、不要なデータについて削除や他のストレージサービスへ移管すると課金を抑制することが可能です。
また保存するデータに応じ、Amazon S3やAmazon RDSなどを組み合わせて使用することにより、料金面だけなくデータの耐久性(耐障害性)の向上も見込むことが可能です。
3-6.データ転送量
Amazon EC2から、インターネットや別のAZ(アベイラビリティゾーン)へのデータ転送を実施する際も注意が必要です。これらのデータ転送量についても従量課金制となっているため、必要以上にデータ送信しないようにするとよいでしょう。
3-7.IPアドレスについて
Amazon EC2では、インターネットからサーバーへの接続を受け付けるためのグローバルIPアドレスを取得することが可能ですが、インスタンスを停止するとグローバルIPアドレスが変わります。これを防ぐためにElastic IPアドレスというサービスを使用することにより、グローバルIPアドレスを固定させることが可能です。しかし、これにより取得されたグローバルIPアドレスは課金されるため、グローバルIPアドレスが変わっても困らないのであれば、Elastic IPアドレスは取得しないようにするとよいでしょう。
またAWSでは、2024/02/01にグローバルIPアドレスの料金が変更となり、稼働中インスタンスに対するグローバルIPアドレスに対しても課金されるようになりました。こちらも使用しない時間は停止(IPアドレスの解放)させることで課金を抑制することが可能ですので、必要のないインスタンスは停止させるようにしましょう。
【相談無料】エンジニアがお客さまのAWS/Azure環境のコスト削減のご相談に乗ります!
3-8.Amazon EC2インスタンスの起動時間
3-8-1 Amazon EC2インスタンスを24時間起動させておく必要はあるか
Amazon EC2は、インスタンスを起動した時間で課金額が大きく変わります。
例えば、24時間起動させる必要のないインスタンスで、使用時間が1日8時間の場合、不要な時間のインスタンスを停止させればコストを削減することができます。
また、24時間起動させる必要のあるインスタンスも事前にAWSに届け出ることにより、インスタンスを安く使用することが可能です。
ここでは、各パターンでのインスタンスを安く使う方法について解説します。
3-8-2 Amazon EC2インスタンスを停止させ課金を止める
先にも解説しました通り、インスタンスを使用しない時間はインスタンスを停止させることにより、課金額を抑制させることが可能です。ここでは、2つの方法を解説します。
3-8-2-1 Amazon EC2インスタンスを手動で停止させ課金を止める
Amazon EC2では、マネジメントコンソールを使用することにより、簡単にサーバーの起動・停止を実施することが可能です。
① マネジメントコンソールにログイン
② EC2サービスを検索/開く
③ 停止させたいインスタンスを選択
④ 「インスタンスの状態」から「インスタンスの停止」ボタンを押す。
これだけで、インスタンスを停止させることが可能です。
起動も同様に
① マネジメントコンソールにログイン
② EC2サービスを検索/開く
③ 起動させたいインスタンスを選択
④ 「インスタンスの状態」から「インスタンスを開始」ボタンを押す。
注意:「インスタンスの停止」と似たようなボタンとして「インスタンスの終了」がありますが、こちらはインスタンスに保存されているすべてのデータを破棄する操作となります。この操作を実施してしまうと再度インスタンスを起動させることができなくなってしまうため、「インスタンスの終了保護」を使用し、誤操作でインスタンスを終了できないようにすると良いでしょう。
また、マネジメントコンソール以外だとAWS CLIやAWS SDK等幅広くAWSを操作できる環境があるため、利用スタイルに合わせてツールの選択が可能です。
こちらの方法ですとユーザーが手動でインスタンスの起動・停止を管理できるため、作業中に停止させられるリスクが少ない。といったメリットがありますが、停止忘れにより、高額課金となってしまう可能性があります。
3-8-2-2 インスタンスを自動で停止させ課金を止める
Amazon EC2は、Amazon EventBridgeを使用することにより例えば、インスタンスを朝9時に自動起動させ、夜9時に自動停止させるなどといったことが容易に実現可能となります。こちらの例では、夜9時になるとインスタンスが停止するため、インスタンスの停止忘れが起こらないというメリットはありますが、夜9時の時点で作業中でもインスタンスが停止するため設定には注意が必要です。
3-8-3 24時間稼働が必要なインスタンスでもリザーブドインスタンスやSavings Planを使用する
これまででは、使用しない時間にインスタンスを停止させることについてご説明いたしましたが、24時間稼働が必要なインスタンスはどうすればよいでしょうか。AWSでは、事前に必要なインスタンスファミリーや台数の申告・前払いを実施することによりインスタンスを安く使うことが可能です。
3-8-3-1 リザーブドインスタンス
リザーブドインスタンスは、事前にインスタンスタイプ・OS・台数・テナント属性を固定し申告して使用することで安く使用することができます。
事前申告には、1年または3年の期間と支払いオプションとして「全額前払い」・「一部前払い」・「前払いなし」を選ぶことができ、通常、3年全額前払いが一番割引率の高い購入方法となります。
また、リザーブドインスタンスは、キャパシティ予約を提供しています。リザーブドインスタンス購入期間中は予約した数のインスタンスを起動できる可能性を高めることができます。
3-8-3-2 Savings Plan
Savings Planは事前に、コンピューティング使用料(USDドル/時)を事前申告することで、Amazon EC2などのコンピューティング使用料を安く購入することが可能です。
こちらも、事前申告には1年または3年の期間と支払いオプションとして「全額前払い」・「一部前払い」・「前払いなし」を選ぶことができ通常、3年全額前払いが一番割引率の高い購入方法となります。
3-8-3-3 Savings Planやリザーブドインスタンスとオンデマンドどちらが有利?
Amazon EC2ではオンデマンドで稼働時間を短くするか、AWSに事前に申告することで料金を安く使うことができることを解説しました。ここでは、どの程度停止させればオンデマンドのほうが安くなるかについてシミュレーションしてみます。
ここでは、AWSの見積りツールを用いて計算します。
詳細要件により結果は異なるため、お客様のご要件等からお見積りをご希望でしたらNTT東日本へお気軽にお問い合わせください。
【条件】以下の通りの条件にて計算します。
① SP(Savings Plans)/RI(スタンダードプランリザーブドインスタンス)は、一番課金額が安くなる「3年前払い」を適用する。
② インスタンスタイプはすべてのパターンで「t3.large」で統一する。
③ インスタンス起動時間以外の費用(ストレージ・データ通信・Amazon EventBridge 等)はここでは考慮しない。
④ 東京リージョン・共有テナンシー・Amazon Linuxにて比較する。
⑤ オンデマンドは、通年(365日)で同じ時間に起動/終了するものとする。
⑥ 使用している間のインスタンスタイプの変更は実施しないものとする。
⑦ 本計算で使用するAmazon EC2の料金は2024年3月13日現在のものです。
【計算】
① 長期利用プランの選定
まずは、SPとRIを比較します。
SP(EC2 Instance Savings Plans):$1074.85
RI(スタンダードリザーブドインスタンス):$1075
ここでは、長期利用についてはSP(EC2 Instance Savings Plans)で比較します。
② オンデマンドの計算について
上記条件における1時間当たりのインスタンスの料金は「$0.1088」です。
ここから下記の通り計算します。
$0.1088 ×24(時間/日)×365(日/年)×3(年) = $2859.264
③ 割引率とオンデマンドとの比較
$1074.85(SPの3年分の金額) ÷ $2859.264(オンデマンド24時間・365日・3年分の金額) ≒ 0.37… SPの割引率は約63%
一日は24時間なので
24×0.37 = 8.88 (≒9時間)
一日9時間利用のAWSの見積りは・・・
毎月$29.78
$29.78 × 36(か月)=$1072.08
結果一日約9時間以内の利用ならばオンデマンドのほうが安いことになります。
ちょっと一息 不正利用の高額課金を防ぐには?
AWSは「従量課金制」であるといったことをご理解いただけたかと思いますが、中には「不正アクセスされ高額課金されてしまった」というような声を見聞きされた方もいらっしゃるかもしれません。このような不正アクセスからAWSアカウントを守るには以下の対応が必要です。
- ユーザアカウントに対しMFAを設定する
- 不要なアクセスキー・シークレットアクセスキーを使用しない。
- 最小特権の原則を意識
- ルートアカウントは日常業務で使用しない。
- 不要アカウントの削除
アカウントのセキュリティを維持することで、不正アクセスによる高額課金や情報漏洩のリスクを最小限に抑えることができますので、これからアカウントを作る方は、もちろんすでにアカウントをお持ちの方もセキュリティ設定を確認してみてください。
4.サーバーのクラウド移行やAWS/Azureのコスト削減はNTT東日本へお任せください
① NTT東日本では、「ゼロからのクラウド化」をワンストップで支援いたします。
② NTT東日本では、300社のお客さまのクラウド導入・運用の実績があり、運用に関するトラブルは24時間365日サポートするプランの用意がございます。
③ NTT東日本では、AWSアドバンストティアサービスパートナーの認定やAWSクラウドの導入・運用のプロフェッショナルが多数在籍しており日々さまざまな業種のお客様からのご連絡をお待ちしております。
5.まとめ
① Amazon EC2の利用金額は、リージョン・インスタンスタイプ・起動時間が主で決まる。
② Amazon EC2は、Savings Planやリザーブドインスタンスを使用すると1時間当たりの利用単価が安くなる。
NTT東日本ではクラウドに関するコンテンツをご用意しておりますので、そちらもぜひご覧下さい。
関連コラム
Amazon Web Services(AWS)および記載のあるAWSの各サービス名は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
RECOMMEND
その他のコラム
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。