0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

使っていないのに課金?今すぐできるVPCエンドポイントのコスト削減!

0
Posted at

vpc-cost-reduction.png

はじめに

マルチアカウント環境のコスト削減を検討しているときに、未使用のVPCエンドポイントが大量に見つかりました。
AWSサービスへプライベートな通信ができるVPCエンドポイントは便利ですが、未使用であってもオンデマンド料金が発生するため、余分なコストを払い続けていました。
本記事では、実際のコスト削減活動で実施した削減対象の見極めから具体的な3つの削減アプローチまで、わかりやすく紹介します。

目次

  1. なぜ無駄なコストが発生していたのか?
    1-1. 「インターフェイス型」のVPCエンドポイントがたくさん作成されていた
    1-2. 複数サブネットに配置したためコストが増加した
    1-3. 未使用のVPCエンドポイントを削除していなかった
  2. 削減対象の選び方
    2-1. Trusted Advisorで「完全に未使用」なものを探す
    2-2. メトリクスで「ほとんど使われていない」ものを探す
  3. コスト削減方法
    3-1. VPCエンドポイントの削除
    3-2. 配置サブネット数を削減する
    3-3. VPCエンドポイントを集約する
    3-3-1. コスト重視なら「VPCピアリング」
    3-3-2. 管理のしやすさ重視なら「Transit Gateway」

おわりに
We Are Hiring!

1. なぜ無駄なコストが発生していたのか?

VPCエンドポイントの料金体系を理解することは、コストを最適化する上で非常に重要です。
実際にコスト増加を招いた「3つの原因」についてご紹介します。

1-1. 「インターフェイス型」のVPCエンドポイントがたくさん作成されていた

VPCエンドポイントには「ゲートウェイ型」と「インターフェイス型」の2種類があります。
課金対象となるのは「インターフェイス型」のみです。
今回はマルチアカウント環境だったため、各アカウントで多くのインターフェイス型のVPCエンドポイントが作成されていることによりコストが増加していました。

1-2. 複数サブネットに配置したためコストが増加した

インターフェイス型は、東京リージョンの場合以下のような料金設定になっています。

オンデマンド料金(固定):$0.014/h(月額:$10.08)
データ処理料金:$0.01/GB
つまり、1つのサブネットに配置するだけで、毎月およそ$10のコストが発生します。
実際には、冗長構成のため3サブネットにVPCエンドポイントを作成したことで、より多くのコストが発生していました。

1-3. 未使用のVPCエンドポイントを削除していなかった

データ通信がゼロであっても、時間単位の「オンデマンド料金」は発生し続けることがコスト増加の最大の原因です。実際に、3サブネットでVPCエンドポイントを作成し未使用であったにも関わらず、削除していなかったため余分なコストが発生していました。

2. 削減対象の選び方

コスト削減のターゲットとなるのは、「利用頻度が少ないVPCエンドポイント」です。
対象を見つけ出すために、AWSの標準機能である「Trusted Advisor」と「メトリクス(監視データ)」の2つを確認します。
実際に、ほとんど使われていないVPCエンドポイントも対象にしたかったため、Trusted Advisorだけでなくメトリクスを確認して削減対象を選定しました。

2-1. Trusted Advisorで「完全に未使用」なものを探す

Trusted Advisorのコスト最適化カテゴリ「非アクティブな VPC インターフェイスエンドポイント」を確認します。このカテゴリでは「過去30日間にわたって全くデータ処理が行われていないVPCエンドポイント」がリストアップされます。
これにより、明らかに不要なものを一目で特定できます。

ポイント
AWS Trusted Advisor の「コスト最適化 (Cost Optimization)」チェックを含むすべてのチェックは、以下のサポートプランを契約している AWS アカウントで利用できます。

ビジネス (Business) サポートプラン
エンタープライズ On-Ramp (Enterprise On-Ramp) サポートプラン
エンタープライズ (Enterprise) サポートプラン

2-2. メトリクスで「ほとんど使われていない」ものを探す

Trusted Advisorでは「月に1回だけ使われた」ような微小な利用頻度のVPCエンドポイントは検知対象外となります。より厳密に削除対象を選定したい場合は、対象エンドポイントの「モニタリング」タブから以下のメトリクスをチェックします。

NewConnections:接続された回数から「利用頻度」を確認
BytesProcessed:バイト数からVPCエンドポイントの「処理量」を確認
これらのメトリクスを確認し、通信がほとんど発生していなければ、削除の対象として検討しましょう。

ポイント
メトリクスを確認する際は、期間を「過去1ヶ月間」に設定するのがオススメです。
月末や月初にしか実行されない処理の通信を見落とすのを防ぐことができます。

3. コスト削減方法

実際に実施したVPCエンドポイントのコスト削減方法を3つ紹介します。
ユースケースに適した削減方法を選択します。

3-1. VPCエンドポイントの削除

・【ケース】すべての配置サブネットで利用頻度が少ない
どのサブネットでもほとんど通信が発生していない場合は、VPCエンドポイントを完全に削除してしまうのがベストです。
とくに開発環境やテスト環境では、24時間稼働する必要はありません。
そのため、「必要な時だけ作成し、不要になったら削除する」というメリハリのある運用がコスト削減の鍵になります。

3-2. 配置サブネット数を削減する

・【ケース】一部の配置サブネットで利用頻度が少ない
冗長構成で複数サブネットに配置していると、サブネットごとに利用頻度にバラツキがあるケースがあります。
実は、同じVPC内の別サブネットに配置されているVPCエンドポイントを経由して通信することが可能です。
そのため、本番環境以外であれば冗長構成をあまり意識する必要がないため、利用頻度が少ないサブネットからエンドポイントを削除する手法が有効です。

vpc-cost-reduction2.png

VPCエンドポイントは配置サブネット数を0にすることも可能です。
再作成する手間を省きたい場合、VPCエンドポイントは削除せず配置サブネット数を0にすることも選択肢になります。
再度利用する可能性がある場合、設定だけを残しておき、必要になったタイミングで再びサブネットを追加するのがおすすめです。

ポイント
別のアベイラビリティーゾーン(AZ)をまたぐ通信のため、以下の料金が発生する点に注意です。

送信(アウトバウンド):$0.01/GB
受信(インバウンド):$0.01/GB

3-3. VPCエンドポイントを集約する

・【ケース】マルチアカウント環境で同じ種類のVPCエンドポイントを使用する
各VPCに個別にエンドポイントを置くのではなく、1つの「共有VPC」に集約して使い回すことで、大幅なコスト削減が可能です。
また、集約してしまえばVPCエンドポイント再作成作業がなくなるため、運用効率の向上が見込めます。実際には、共有VPCに配置されている一部のエンドポイントサービスのみ集約対象にしてコストを削減しました。集約を実現するための方法として、要件に合わせて以下の2つから選択します。

3-3-1. コスト重視なら「VPCピアリング」

VPCエンドポイントを配置した共有VPCに対して、送信元VPCから接続するためにVPCピアリングを設定します。
この設定を行うことで、他のVPCからでも共有VPCにあるエンドポイントを経由した通信が可能となります。

・メリット:VPCピアリングは無料で設定できる
・デメリット:アカウントが増えるほど接続設定が複雑化し、運用管理が困難になる

vpc-cost-reduction3.png

3-3-2. 管理のしやすさ重視なら「Transit Gateway」

送信元VPCにTransit Gatewayアタッチメントの作成、ルートテーブルを変更してTransit Gateway経由でVPCエンドポイントを配置した共有VPCに通信できるようにします。

メリット:アカウント数が増えても通信を一元化できるため運用管理がしやすい
デメリット:Transit Gatewayの利用料金が発生する

vpc-cost-reduction4.png

おわりに

本記事では、VPCエンドポイント削減方法について紹介しました。
実際の環境での削減活動を通して、AWSのコスト削減には以下の2点が大切だと感じました。

・各個人のコスト削減に対する意識向上:料金が発生するリソースを把握し、不要なリソースは日常的に削除する
・ヒューマンエラーによるコスト増加を防ぐ仕組み:削除のし忘れがあっても、継続的に未使用のリソースを通知する
単なるリソースの削減に終わるのではなく、この「意識」と「仕組み」を整えることが、長期的にコストを削減するための近道だと感じています。

この記事が、みなさんのAWSコスト削減活動の参考になれば嬉しいです。

We Are Hiring!

エンジニアの皆さん、今の環境で「これ以上の成長イメージが湧かない」「新しい技術に挑戦できていない」とモヤモヤしていませんか?
FindConsultingでは、最大6か月間、要件定義や基本設計といった最上流から学べる超実践的研修を導入しています。また、高い技術を持つトップエンジニアが直接レクチャーし、メンター制度もあるため安心して成長できる環境が整っています。
現在、FindConsultingでは一緒に働く仲間を大募集中です。
「もっと成長したい!」「新しい技術に挑戦したい!」という方は、まずはカジュアル面談でざっくばらんにお話ししましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?