Well-Architected Framework コスト最適化

AWS Budgetsは、コストと使用状況を監視し、設定した金額や使用状況のしきい値に近づいたり超えた場合にアラートやアクションを実行するサービスです。アラートは、メールやSNSのほかに、Slack等のチャットアプリでも受け取ることができます。また、しきい値を超えた時のアクションとして、特定のインスタンスの停止設定やIAMのポリシーやサービスコントロールポリシー (SCP) の付与によるリソースの制御が可能で、これによりさらなるコスト発生を抑制できます。

AWS Organizationsは、複数のAWSアカウントを一元的に管理するためのサービスです。AWS Organizationsを使用することで、管理対象のAWSアカウントに対する権限の設定や、各アカウントの請求情報を集約した一括請求が利用できます。

※サービスコントロールポリシー (SCP)
サービスコントロールポリシー(SCP)は、組織に属しているOU(Organizational Unit)またはAWSアカウントに対して、AWSサービスへのアクセス権限や利用可能なリソースを制限できる機能です。例えば、組織に所属しているアカウントにMFA(多要素認証)を強制したり、特定のアカウントが利用できるサービスを制限したりできます。

例えば、Organizationsで新たなリソースのプロビジョニングを制限するSCPを設定し、Budgetsで予算のしきい値を超えたときに、設定したSCPを自動的に付与することができます。
このように「AWS Organizations」と「AWS Budgets」と組み合わせることで、各アカウントごとに予算を設定することができ、企業はより精密な財務管理を実現し、AWS環境全体でのコスト効率を向上させることができます。

[AWS OrganizationsとAWS Budgetを利用した予算管理のイメージ]

Budgets自体のアクション機能を使えば、Lambdaを使わずに直接リソースを停止できます。

Compute Savings Plansは1年または3年の期間、一定のサービス使用量(1時間あたりの利用料金)を決めて契約することで、通常よりも低価格になる購入オプションです。このプランは、リザーブドインスタンスとは違って使用するインスタンスタイプを事前に決める必要はありません。Compute Savings Plansの場合、Amazon EC2、AWS Lambda、AWS Fargate 全体の使用量に適用されます。
Organizationsに含まれるアカウントで購入した場合、管理アカウントでSavings Plansの割引共有を有効化することでOrganizations内のすべてのアカウントでの使用量に適応され有効活用ができます。

Organizationsに含まれるアカウントのSavings Plansの割引共有を有効化/無効化する操作は管理アカウントからしかできません。購入したメンバーアカウントのSavings Plansの割引共有は管理者アカウントから指定されます。

AWS DataSyncは、オンプレミスとAWSのストレージサービス間、またはAWSのストレージサービス間で、高速かつ信頼性の高いデータ移行と同期を提供するマネージドサービスです。移行元としてオンプレミス側のファイルサーバー(例:NFS、SMBなど)もサポートしている点が特徴です。また、DataSyncはデータ転送に特化しているため、設定や運用が容易で、スケジュールに基づく定期的なデータ転送も可能です。さらに、DataSyncはデータ転送量に応じた従量課金制を採用しており、実際に移行するデータ分だけの支払いとなるため、コスト効率も優れています。これにより、無駄なコストを削減しながら効率的にデータを移行できます。

[オンプレミスとAWSストレージサービス間のデータ移行]

オンプレミス環境で使用する場合は、DataSyncエージェントをインストールする必要があります。エージェントをインストールすることで、オンプレミスのファイルサーバーからAmazon FSxなどのストレージサービスへのデータ同期が可能となります。

Data Firehoseは、リアルタイムデータストリーミングに特化しており、定期的なバックアップには適していません。

Storage Gatewayのボリュームゲートウェイは、iSCSI(Internet Small Computer System Interface)接続を使用してオンプレミスのブロックデータをS3に保管するサービスです。保管型ボリュームゲートウェイは、すべてのデータをオンプレミスのボリュームストレージに保存し、非同期でS3にバックアップします。しかし、ファイルベースのプロトコル(例:NFS、SMB)には対応していません。

S3ファイルゲートウェイはオンプレミスからSMBまたはNFSを使用して、S3バケットへアクセスできるようにするゲートウェイです。GlueはフルマネージドのサーバーレスETLサービスで、データソース(S3やDynamoDBなど)からデータを抽出し、変換・統合したデータをターゲット(S3、Redshiftなど)へ格納します。AthenaはS3上のデータに対して標準SQLを実行できるデータ分析サービスです。これらを組み合わせたアプローチは、データの移行、変換、クエリの全プロセスをカバーしているため、要件に適合します。

Redshiftは強力なデータウェアハウスサービスで大規模データセットの分析に特化しており、日々のデータ取り込みで利用するにはコストが高くなります。

Data Firehoseはリアルタイムデータのストリーミングに適していますが、既に生成されたCSVファイルの扱いには向いていません。またEMRは大規模なデータ処理に適しているため、この要件で利用するにはコストが高くなります。

AWS Compute Optimizerは、コンピューティングリソースの設定と使用状況を分析し、コスト最適化とパフォーマンス向上のための推奨事項を提供します。
対象となるリソースには、EC2インスタンス、EC2 Auto Scalingグループ、EBSボリューム、Lambda関数、Fargate利用のAmazon ECSなどが含まれます。Compute Optimizerを使用すれば、ECSタスク定義のCPUとメモリ設定に関する最適な推奨事項を得ることができ、コストの最適化とパフォーマンスの改善が期待できます。

Cost Explorerは過去のリソース使用量と費用を確認できますが、現在のパフォーマンス問題の原因となっているリソース不足を特定することは困難です。また、適切なリソース設定を具体的に設定できる機能もありません。

CloudWatchを使用してECSタスクのメトリクスを監視することで、パフォーマンスのボトルネックを特定することはできます。しかし、CloudWatchはリソース設定の最適化に関する具体的な推奨事項を提供するサービスではないため、コストの最適化とパフォーマンスの改善を解決することはできません。

不完全なマルチパートアップロードを削除するポリシーは、アップロードプロセスが中断された場合に残る不完全な断片をクリーンアップし、ストレージコストを削減するのに有効です。S3 Intelligent-Tieringはアクセスパターンに基づいて自動でデータを適切なコスト効率のよいストレージ階層に移動してくれるストレージクラスです。30日後にアクセスが減少しアクセスパターンが一定でなくなるログファイルをS3 Intelligent-Tieringに移動させることはコスト効率を向上させる有効な手段です。180日後にログを削除するライフサイクルポリシーは、要件に基づいて不要なデータを削除し、ストレージコストを削減するのに役立ちます。

バージョニング機能を使用しないとオブジェクト削除マーカーを持つファイルはありません。

Time To Live(TTL)機能は、特定の時点で自動的にデータ項目を削除する機能です。項目にTTL属性(UNIX時間形式のタイムスタンプ)を設定することで、その時刻が来たときにDynamoDBが自動的に項目を削除します。このプロセスは完全に自動化されており、追加の管理やコストが発生しません。これにより、データのライフサイクル管理が簡素化され、不要なデータによるストレージコストの増加を防ぎます。

DynamoDB StreamsとLambda関数を使用してデータを削除することは可能ですが、TTL属性を使用するよりも複雑です。Lambda関数の実行には追加のコストがかかり、管理も必要です。

DynamoDBテーブルをスキャンし古いセッションデータを削除するBatchジョブを実行することも可能ですが、TTL属性を使用する方法よりも管理が複雑で新しいサービスの利用によりコストも増加します。

EventBridgeとLambdaを使用して定期的にデータを削除する方法もありますが、TTL属性を使用する方法よりも管理が複雑で新しいサービスの利用によりコストも増加します。

EC2インスタンスには、利用目的に基づいてコストを最適化するために複数の購入オプションがあります。

上記の表から、ベースラインとなる台数のEC2インスタンスは、長期契約で低価格となるリザーブドインスタンスが適しています。一方、需要増加に対応するためのEC2インスタンスは、スポットインスタンスが最も低価格です。スポットインスタンスは利用中にインスタンスが中断する可能性がありますが、Amazon SQSキューでリクエストを中継している場合、万が一処理中にインスタンスが中断してもSQSキューに保持されているメッセージは失われず、別のインスタンスで処理を再開できます。

AWS Lambdaはサーバーレスでプログラムのコードを実行できるサービスです。Lambdaはイベント駆動で、S3にアップロードされたデータに基づいてリアルタイム処理を行うのに適しています。また処理するデータサイズが小さいため、Lambdaの実行時間とリソース消費は限定的であり、コストを抑えられます。DynamoDBは柔軟でスケーラブルなNoSQLデータベースであり、リアルタイムのデータ分析結果の保存に適しています。

スポットインスタンスは安価ですが、常時使用できるとは限らないため、リアルタイムでジョブを実行できる保証がなく要件にありません。RDSはフルマネージドなリレーショナルデータベースサービスで、小規模なJSONデータのリアルタイム分析の結果保存には向いていません。

Glueを使用したETL処理は蓄積したデータの処理には適していますが、リアルタイム処理には向いていません。

EMRは大規模なデータ処理に適していますが、この要件の小さいデータ量の処理にはコスト効率が悪いです。HDFSは大量のデータの保存に適していますが、ここでは小規模なデータを扱っているため向いていません。

高性能なプロビジョンドIOPS SSDを使用したEBSはブロックレベルのストレージであり、高いパフォーマンスが必要なデータベースなどに適していますが、大規模な静的コンテンツの配信には向いていません。またEC2インスタンスを介したコンテンツの配信は、グローバルなトラフィックの急増に効率的に対応するための最適な方法ではありません。

VPCエンドポイントは、セキュリティ上の制約でインターネットとの通信が制限されているプライベートサブネット内のAWSリソースから、インターネットゲートウェイを経由せずにVPC外のAWSサービスへアクセス可能にする機能です。
S3やDynamoDBの場合ゲートウェイ型が利用できます。VPCゲートウェイエンドポイントを通じてデータをS3に転送する場合、そのデータ転送はAWSのプライベートネットワーク内で行われるためデータの外部への露出もありません。また使用料もインターネットデータ転送料金も発生しないため、データ量が多いアプリケーションにとっては特に大きなコスト節約につながります。

パブリックサブネットにNATゲートウェイを作成し、S3へのアクセスに使用する
NATゲートウェイを使用すると、インターネットを介してS3にアクセスするため、データの外部への露出を増加します。またNATゲートウェイは使用料が発生し、NATゲートウェイを介したデータ転送はインターネットを経由したデータ転送となるためコストがかかります。

インターネットゲートウェイをVPCに追加し、インターネット経由でS3バケットにアクセスする
インターネットゲートウェイを通じたアクセスは、データの外部への露出を増加させます。またインターネットを経由したデータ転送はコストがかかります。

オンデマンドインスタンスをベースラインとして使用し、追加のコンピューティングリソースが必要な場合に限ってスポットインスタンスを利用することにより、ピーク時にはスポットインスタンスを使用してコストを大幅に削減し、ピークが過ぎた後はオンデマンドインスタンスで最低限の運用を続けることができるます。この組み合わせの購入オプションを利用することで、ワークロードの動的な要求に柔軟に対応しつつコストを削減できます。

Amazon S3のオブジェクトへアクセスする際に発生する転送料金は、S3バケットの所有者が支払います。S3オブジェクトを共有する際にバケットの所有者が転送料金を負担したくない場合は、バケットを「リクエスタ支払い」に設定するとアクセス元に対して転送料金が請求されるようになります。

CloudFrontはキャッシュを利用してデータを高速に配信できるサービスです。
CloudFrontを経由してもデータ転送料金は削減できません。

Amazon S3は安価で耐久性が高く、保存容量が無制限のオブジェクトストレージサービスです。高い拡張性と可用性を持つので、ユーザーがアップロードした画像ファイルを保存するストレージとして最適です。また、S3バケットに保存したファイルには一意のURLが付与されるので、後述する画像IDとの関連付けができます。

Amazon DynamoDBはKey-Value型のデータ形式をサポートするNoSQLのデータベースです。NoSQLのデータベースは、RDB(関係データベース)のようにある表AとBのデータを結合して結果を得たり分析するような利用方法よりも、単一のデータを格納・取得するというシンプルな利用に向いています。DynamoDBに保存するデータは3つのAZに自動的に保存されるので、可用性に優れています。さらに、DynamoDBはデータ容量が増えた時、自動的にスケールアウト(拡張)します。

DynamoDBは「スキーマレス」と言われることが多いデータベースで、属性の追加や変更が非常に柔軟に行えます。スキーマとはデータベースの構造のことです。新たなデータ項目を追加する場合、通常はスキーマの変更と既存の格納済みデータへのスキーマ変更に対応する修正を行う必要がありますが、DynamoDBのようなデータベースではプライマリキー(データを一意に識別するために使われる項目)以外の属性については、スキーマの変更作業自体が不要になります。DynamoDBを利用して画像IDをキー、S3の画像ファイルのURLやハッシュタグなどの情報をバリュー(値)として格納することで、データ管理を効率化できます。DynamoDBでは1つのキーに対して複数のバリューを格納できます。また、DynamoDBは主に読み取り・書き込み操作の容量とストレージ容量に対して使用した分だけ課金されるので、コストパフォーマンスに優れています。

RDS for Oracleへ移行する場合、既存のオンプレミスのOracleデータベースから比較的容易に移行できますが、Oracleライセンス料が発生します。
一般的にOracleのライセンス料は高額で、例えば、RDSの同じインスタンスタイプ(db.m5.large)の場合、RDS for PostgreSQLでは0.494USD/時間に対し、RDS for Oracleでは1.028USD/時間です(※)。OracleのライセンスをBYOL(Bring Your Own License:所有しているライセンスの持ち込み)で使用したとしても、他のRDSデータベースやDynamoDBに比べて高額になります。コストパフォーマンスに優れたシステムという要件を満たせません。

AWSの主なデータ転送料金は以下のとおりです。

上記の表から、同一リージョン間、インターネット経由、Direct Connect経由、CloudFront経由を比較すると、同一リージョン間のデータ転送料金が最も安価であることが分かります。

ストレージに関してはコスト効率を考えた場合、データのアクセス頻度が減少するにつれて、より低コストでアクセス頻度が低いストレージクラスに移行することが望ましいです。変換画像の移行に関しては、最初の30日は頻繁にアクセスされるためS3 Standard、1年まではアクセス頻度が減るのでS3 Standard-IA、1年を過ぎれば年に一度しかアクセスされないのでS3 Glacier Flexible Retrievalがそれぞれ適しています。
元の気象データは永久に保管する必要がありますが、再利用される機会はほぼなくなり、たとえ再利用されるとしても取り出しまで2週間の余裕があるため、S3 Glacier Deep Archiveにアーカイブすることでコスト効率よく保管できます。

NATゲートウェイを使用すると主に2つのコストが発生します。
・NATゲートウェイの使用料
NATゲートウェイはフルマネージドサービスとして提供され、アクティブである時間に応じて料金がかかります。通常は時間単位で計算されるため、NATゲートウェイが起動している時間が長いほど、費用も増加します。
・データ転送コスト
NATゲートウェイを介してインターネットと通信する際に、データがVPCからインターネットへ転送されるときデータ量に基づいて料金が課金されます。

VPCゲートウェイエンドポイントを利用すると、VPC内のリソースがDynamoDBやS3とインターネットを経由せず直接プライベートに通信できます。VPCゲートウェイエンドポイント自体は使用料もかからず、同一リージョン内でのデータ転送は無料です。これによりNATゲートウェイの使用料やデータ転送コストが削減でき、全体的なコスト節約につながります。

NATゲートウェイはフルマネージドサービスのため複数用意する必要はありません。複数のNATゲートウェイを使用するとコストが増加します。またインターネットを経由してのデータ転送となりますので、データ量に基づいて料金が課金されます。

アプリケーションをパブリックサブネットに移動することで、EC2インスタンスが直接インターネットゲートウェイを使用してDynamoDBにアクセスできるようになります。ただしインターネットゲートウェイを通じてデータを送受信すると、データがインターネットゲートウェイを通過してインターネットにデータ転送される場合、転送されたデータ量に基づいて料金がかかります。またこのアプリケーションはパブリックIPアドレスを持つことになり、インターネットに露出することで潜在的な攻撃の対象となります。セキュリティの観点からも望ましくありません。このアプローチはコスト面でもセキュリティ面でも最適ではありません。

AWS Lambdaはサーバーレスでプログラムのコードを実行できるサービスで、実行できるコードはJava、Node.js 、Pythonなどで1回につき最長15分まで実行できます。メモリ使用量と実行時間に基づいて課金されるため、短期間のタスクに対して最もコスト効率が良いです。また、Lambdaではサーバーレスのためユーザーはインフラストラクチャの管理が不要になり、コード実行だけ行えば良いため運用管理が最小限になります。
EventBridgeは、AWSリソースのスケジューリングされたイベントや状態変化に基づいてアクションを自動化するために使われるサービスで、定期的にジョブを開始させるのに適しています。

Amazon EC2インスタンスを起動し、必要なソフトウェアをインストールして、Cronジョブを使用して1時間毎にジョブを実行する
→EC2インスタンスを24時間稼働し続ける必要があり、別途インフラの管理も必要です。1時間ごとのバッチジョブのためとしては過剰なリソースとなるため、コスト効率は良くなく求められている要件に合いません。

EC2はインスタンスの起動時間に対して課金される一方、Lambdaは実行時間と選択したメモリの容量に対して課金されます。Lambdaはリクエストのない期間は料金が発生しないので、リソースの効率化とコスト削減が期待できます。
さらにLambdaはサーバーレスなので、EC2インスタンスの運用に必要なサーバーの監視や動作状況に応じたスケーリング、セキュリティパッチの適用などが必要なくなるので、運用コストも削減できます。

Amazon SQSはフルマネージドのメッセージキューイングサービスです。「メッセージキューイング」とは個々のサービスやシステムをメッセージを使用して連携する仕組みのことで、サービス同士の橋渡しを担います。Amazon SQSはプル型なので、受信側の都合の良いタイミングでSQSへポーリング(問い合わせ)を行って、メッセージを受け取ります。

サービスAはクライアントからのリクエストを受け、キュー(queue)と呼ばれる領域にリクエスト(メッセージ)を投入します。サービスBはキューからメッセージを取得し、処理します。

Lambdaで実行されるLambda関数が実行される起点のイベントを「トリガー」といいます。トリガーにSQSのキューを指定すると、リクエストがキューに投入された時、Lambda関数が実行されてリクエストを処理します。リクエストは順番に処理されていくので、突然発生する大量のリクエストにも対応できます。

オンプレミスからAWSストレージへデータ移行を行う方法には、主にAmazon Storage GatewayやAmazon DataSyncなどを使用したオンラインで行う方法と、AWS Snowファミリーを使用したオフラインで行う方法の2種類があります。オンラインで移行する場合は、移行対象のデータが更新中のものであったり、停止できないシステムなどの動的なデータでも移行可能です。一方、オフラインで移行する方法は、物理的なストレージ機器を移送してS3バケット上へ保存するので、静的なデータの移行に適しています。バックアップデータを移動したり、ある時点でのデータを移行してそれ以降はS3上のデータを活用するといったケースで利用します。設問の要件で1か月以内にオンラインでデータ移行が可能か否かを計算します。会社がデータ転送用に使用できるインターネット回線は600Mbpsであることから、600TBのデータを600Mbpsで転送すると約92日(1KByte=1000Byteで計算)かかります。オンラインで1か月以内にデータ転送を行うのは不可能なので、オフラインで転送する必要があります。Snowファミリーは多量のデータをAWSストレージへ転送するサービスです。利用者には大容量のストレージを備えた機器がAWSから貸し出され、移行対象のデータを機器へ取り込んでからAWSへ返送すると、データがAmazon S3へ保存される仕組みです。Snowファミリーにはデータの量や用途ごとに選べる3つのサービスがあります。Snowball Edge Storage Optimizedでは80TBを搭載したデバイスをレンタルできるので、約600TBのデータに必要な8台のデバイスを注文します。Snowballではデバイスを注文してから運搬を含めてS3への移行は約10日で完了としているので、インポート・エクスポートにそれぞれ数日かかったとしても1か月以内に完了します。転送したデータの保存先は「S3 Glacier Deep Archive」がもっともコストパフォーマンスが良いです。 Glacier Deep ArchiveはAWSが提供しているストレージサービスの中で、1GBあたりのデータ保存料金が最も低価格のアーカイブデータ向けストレージです。保存料金が低価格である代わりに、データの取り出しに長い遅延と高い取り出し料金がかかります。アクセスがほとんどないデータを長期にわたって保存する場合に適しています。

リザーブドインスタンスは、Amazon EC2を1年もしくは3年の長期契約を結ぶことによって、オンデマンドインスタンスよりも低価格で利用できる購入オプションです。Compute Savings Plansは、1年もしくは3年の期間、一定のサービス使用量(1時間あたりの利用料金)を決めて契約することで、オンデマンド料金よりも安価になる購入オプションです。Amazon EC2、AWS Lambda、AWS Fargateが対象です。EC2インスタンスを長期利用する場合は、リザーブドインスタンスとCompute Savings Plansともにオンデマンドインスタンスより低価格で契約できますが、設問の選択肢のEC2インスタンスはリザーブドインスタンスかオンデマンドインスタンスかの2択となっているので、リザーブドインスタンスが正解になります。

Amazon Athenaは、Amazon S3上のデータに対して標準SQLを実行できるデータ分析サービスです。サーバーレスですので、EC2インスタンスなどインフラ(実行環境)のセットアップや管理が不要です。
データ分析に利用できるサービスにはAmazon EMRやAmazon Redshiftなどがありますが、いずれもインスタンスやクラスターなどのインフラの管理が必要です。Athenaは、常にサーバーを起動しておく必要がなく、プロトタイプの検証や手早く分析をしたいようなケースに向いています。また、S3上に出力される様々なAWSのサービスのログをAthenaで分析するといった使い方もできます。

以下は実際のマネジメントコンソールのイメージです。

Amazon RDSはフルマネージド型のリレーショナルデータベースです。RDS単体でSQLクエリを実行可能ですが、サーバーレスサービスではありません。

VPCピアリングとは、VPC間のルーティングを可能にする機能です。異なるリージョンのVPCや他のAWSアカウントのVPCでも、同一のプライベートネットワーク内に存在しているかのように、相互に通信できます。
データ転送料が安価なVPCピアリングで営業用VPCと商品管理用VPCを接続することで、データ転送にかかるコストの削減が可能です。

AWS Resource Access Manager(RAM)は、AWSリソースを複数のAWSアカウントで共有できるサービスです。AWS RAMは追加料金なしで利用できます。
AWS RAMを利用して商品管理用VPCを共有することにより、営業用VPCからプライベートネットワーク経由で見積書作成アプリケーションへアクセス可能になります。

AWS Direct Connectは企業のデータセンターやプライベート環境からAWSクラウドへ専用回線を使って直接接続するセキュアなサービスです。このサービスではDirect Connectロケーションを通じてAWSネットワークへ信頼性の高い接続が得られ、インターネット経由の接続と比較してより安定した高速性と低遅延性が得られる特長があります。ユーザーはDirect Connectロケーションで提供される施設を利用して、自己所有もしくはAWS Direct Connectパートナーが提供する機器を通じてAWSに専用線で接続することができます。
「ホスト接続」は、AWS Direct Connectパートナーが持っている一つの物理的なDirect Connect接続を複数のAWSユーザーで共有するオプションです。Direct Connectの料金は、予約した帯域幅に基づいて発生するため、平均使用率が1Gbpsの15%未満であればより少ない帯域幅のプランを選択することで、高額なプライベート接続を独占的に利用する代わりに、使用する帯域幅に応じてより低いコストでAWSサービスにアクセスできるようになります。

プレイスメントグループは、複数のEC2インスタンスを論理的にグループ化し、インスタンス間での低遅延な通信や、ハードウェア障害による影響を軽減できる機能です。プレイスメントグループのうち「クラスタープレイスメントグループ」は、グループ内のEC2インスタンスを単一AZ内の物理的に近い距離に配置するので、各EC2インスタンス同士の通信は遅延が発生しにくく高速な通信が可能になります。また、同一AZ内のデータ転送は料金が発生しないためコスト効率も良好です。

[クラスタープレイスメントグループ]

同一リージョン内の複数AZに、スプレッドプレイスメントグループに所属するインスタンスを起動する
スプレッドプレイスメントグループは高可用性を提供しますが、複数AZ間のデータ転送はコストが高くなりがちで、レイテンシーも増加します

Auto Scalingグループを作成し、単一AZに存在しているすべてのEC2インスタンスにIPv6のみを設定し、内部通信をIPv6アドレスを使用して行う→IPv6がネットワークパフォーマンスに直接的な利益をもたらすわけではなく、レイテンシー問題の解決には直接寄与しません

AWS Cost Explorerは、AWSリソースの使用量やコストをグラフで視覚化し、データを詳細に分析できるサービスです。例えば、EC2やRDSなどのサービスごとに使用状況やコストを詳細に分析し、使用量の変化を時間軸で分析したり、コスト増加の原因を特定するグラフを作成することが可能です。

[各RDSインスタンスのコスト・使用料のグラフ]

AWS Budgetsは、コストと使用状況を監視し、設定した金額や使用状況のしきい値に近づいたり超えた場合にアラートやアクションを実行するサービスです。アラートは、メールやSNSのほかに、Slack等のチャットアプリでも受け取ることができます。また、しきい値を超えた時のアクションとして、特定のEC2インスタンス、RDSインスタンスの停止設定などが可能で、これによりさらなるコスト発生を抑制できます。

[Budgetsのコンソール画面]

AWS Cost ExplorerとAWS Budgetsを組み合わせることで、効率的にコスト管理を行うことができます。

Trusted Advisorは、コスト削減やパフォーマンス向上の推奨事項を提供しますが、過去のデータに基づいた詳細なコスト分析は行いません。

AWS Direct Connect(DX)はオンプレミスなどのユーザー環境からAWSへ、専用回線を使ってセキュアに接続するサービスです。Direct Connectは、Direct ConnectロケーションのDirect ConnectエンドポイントからAWSネットワークへの接続を保証しています。

AWS Direct Connectの利用料金には2つの要素があります。1つ目は「ポート時間」で、Direct Connectロケーション内で契約しているネットワーク機器の利用時間に対して料金が発生します。Direct Connectを契約している間はデータ転送有無にかかわらず常に一定の料金がかかります。2つ目は「データ転送アウト」で、AWS内からDirect Connect経由でAWS外へ送信されるネットワークトラフィック量に対して料金が発生します。Direct Connectのデータ転送アウトで発生する料金は、インターネットを経由したデータ転送料金よりも安価に設定されています。
すでにDirect Connectを契約している場合、インターネットよりDirect Connectを利用した方が転送コストを削減できます。

すでにDirect Connectを契約している場合はインターネットよりDirect Connectを利用した方が転送コストを削減できます。

Aurora Serverlessは、DBインスタンスの負荷状況に応じて、自動的にDBインスタンスの起動、停止、スケールアップ/スケールダウンを実施する機能です。通常のAuroraではDBインスタンス作成時にインスタンスタイプ(db.t3.mediumなど)を指定しますが、Aurora Serverlessではデータベースの負荷状況に応じた性能で稼働します。また、データベースの需要がないときはDBインスタンスを停止し、需要があれば自動的に起動します。データベースの利用率に変動のあるシステムや、利用量の予測が難しいシステムに使用すると、コスト削減の効果が期待できます。

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

関連記事

コメント

この記事へのコメントはありません。