• システム開発に関わる内容をざっくりと書いていく

EC2 その他について

個人的にわからなくて困ったのがコストエクスプローラで表示される「EC2 その他」

ここには「EBS」「EIP」「NATゲートウェイ」等が入るらしい。

内訳を見たい場合はグループ化の条件のディメンションを「使用タイプ」にすると

このように内訳が見える

NATゲートウェイを消し忘れたので数日間料金が発生した。NATゲートウェイ削除する→EIPで料金が発生する(NATゲートウェイ実行中の場合は料金がかからないが、単独になると料金がかかるとのこと)→EIPを開放する

これで日々の課金が解消した。

慎重にやらないと意図しない課金が発生するので個人の学習目的ではあまりアカウント作りたくない。放置しなければ良いだけだが。。

その他、課金となる落とし穴について、

AWSは、オンデマンドで使えるクラウドサービスを提供しており、非常に便利でスケーラブルなインフラを構築することができる。しかし、クラウドの特性上、使用しないリソースに対しても課金が発生することがあり、予想外のコストが発生することがある。ここでは、AWSでよくある課金の落とし穴について説明し、リソース管理の重要性を解説する。


1. EC2インスタンスの関連リソースが原因の課金

EC2インスタンスを削除したからといって、全ての関連リソースが自動で解放されるわけではない。EC2に関連するリソースには、削除後も料金が発生し続けるものがあるため注意が必要。

EBS(Elastic Block Store)ボリューム

EC2インスタンスを削除しても、EBSボリュームが残っていると課金が継続される。EBSはデータの保存を目的としたストレージサービスだが、未使用のままでも課金されるため、不要になったボリュームは必ず削除する。

  • 対策: インスタンスを削除する際に、関連するEBSボリュームも一緒に削除するかどうかを確認する。

EIP(Elastic IP)

EIPは、EC2インスタンスにアタッチされている間は課金されないが、インスタンスが停止または削除され、EIPが未使用の状態で残っている場合は課金が発生する。EIPは「固定IP」を提供するサービスであり、使用しないEIPを放置すると意図せず料金が発生する。

  • 対策: インスタンスを削除する際には、EIPも同時に解放することを忘れない。

NATゲートウェイ

NATゲートウェイは、プライベートサブネットにインターネットアクセスを提供するためのサービスだが、使用しないまま放置しても料金が発生する。特に、NATゲートウェイが削除されていないと、バックエンドのリソースにアクセスがない場合でも、料金が発生し続ける。

  • 対策: 使用していないNATゲートウェイを見つけたらすぐに削除し、不要なEIPの確認も行う。

2. S3(Simple Storage Service)のストレージ課金

S3は、非常に多くのデータを格納できるオブジェクトストレージサービスだが、不要なデータが増え続けると、保存コストがかさんでいく。また、転送コストやリクエスト数に応じた課金も発生するため、無制限にデータを保存していると想定以上のコストがかかる。

未使用のオブジェクトの課金

使用していない古いオブジェクトが大量に残っていると、保存容量に対して継続的に課金される。特に、バックアップやログファイルが自動で保存され続けると、容量が増加し続ける。

  • 対策: S3バケットにライフサイクルポリシーを設定して、一定期間経過後にオブジェクトを削除したり、コストが低いストレージクラス(例: Glacier)に移動させる。

転送コスト

S3に保存されたデータの転送には、外部へのダウンロードや別リージョンへのコピーなどで課金が発生する。特に、データを頻繁にダウンロードする場合、転送コストがかさんでいく。

  • 対策: 大量データを外部に転送する必要がある場合は、その頻度を最小限に抑え、リージョン間のデータ移動も慎重に管理する。

3. データ転送のコスト

AWSでは、データ転送に対しても料金がかかる。特に、VPC内の異なるサブネットや、別リージョン、インターネットへのデータ転送には課金が発生する。

インターネットデータ転送

EC2やS3からインターネットに向けてデータを転送する際には、転送量に応じたコストが発生する。特に、動画や大規模なファイルを外部に提供するようなアプリケーションでは、転送コストが増加しやすい。

  • 対策: データ転送量をモニタリングし、必要に応じてCloudFrontなどのCDNを導入してコストを最適化する。

リージョン間データ転送

異なるリージョン間でのデータ転送は、通常の転送よりも高額な料金が発生する。

  • 対策: データを複数のリージョンにわたって使用する場合、そのコストを意識した設計を行い、必要に応じてデータのキャッシングやローカル保存を検討する。

4. RDS(Relational Database Service)のバックアップとスナップショット

RDSはAWSのマネージドデータベースサービスだが、バックアップやスナップショットが自動的に作成され、ストレージを占有し続けることで課金が発生する。これらのバックアップは便利だが、不要なものは削除しないと無駄なコストが発生する。

スナップショットの保持

RDSスナップショットは手動で作成でき、削除しない限り永続的に保存される。必要以上のスナップショットを保存し続けると、ストレージコストが増加する。

  • 対策: 不要になったスナップショットは定期的に削除し、コストを最小限に抑える。

自動バックアップのストレージ

自動バックアップのストレージはデフォルトで無料で提供されるが、保持期間やデータ量が増加すると追加コストが発生する。

  • 対策: 自動バックアップの保持期間を適切に設定し、不要なデータを保存しないようにする。

5. AWS Lambdaの非効率なトリガー設定

AWS Lambdaは、イベント駆動型のサーバーレスコンピューティングサービスだが、トリガーの設定が適切でない場合、Lambda関数が頻繁に実行されることで課金がかさむことがある。例えば、S3に新しいオブジェクトがアップロードされるたびにLambda関数が実行される設定をしていると、不要な実行コストがかかる。

  • 対策: Lambda関数のトリガー条件を見直し、必要なイベントにのみ関数を実行させる。定期的に実行頻度を確認し、適切な制御を行う。

との事。。