本文へスキップ
BecomeCoder

AWS SAP(ソリューションアーキテクト プロフェッショナル)コース · 第9章 既存システムの改善②:パフォーマンスとコスト最適化 · レッスン52

ストレージとデータ転送のコスト最適化 ― S3ライフサイクル、VPCエンドポイント

導入

コンピュートの最適化と並んで見落とされがちなのが、ストレージとデータ転送料です。特にデータ転送料は「気づいたら請求の大きな割合を占めていた」という事故が起きやすい領域です。

説明

まずS3のストレージクラス最適化です。SAAでも学んだ内容ですが、SAPでは「アクセスパターンが読めない」という制約がよく付きます。

手法向いている状況
ライフサイクルルール(手動で階層を定義)アクセスパターンが予測できる(30日後は低頻度、など)
S3 Intelligent-Tieringアクセスパターンが読めない・変動する
Glacier系(Instant/Flexible/Deep Archive)長期保管・アーカイブ、取り出し頻度が極めて低い

「アクセスパターンが不明」「頻度が変動する」という問題文には、監視オーバーヘッドなしに自動で階層を移動してくれる Intelligent-Tiering が最適解になることが多いです。

次に、データ転送料の削減です。AWSの料金体系では、同一AZ内の通信は無料、AZをまたぐと課金、インターネット経由の送信(アウト)は特に高額という原則があります。

flowchart TD
    A["EC2 → S3への通信"] --> B{"インターネット経由か?"}
    B -->|"はい:NAT Gateway等経由"| C["データ転送料が発生"]
    B -->|"いいえ:VPCエンドポイント経由"| D["AWS内部経路で転送料を削減"]

VPCエンドポイント(Gateway型・Interface型)を使うと、S3やDynamoDBなどAWSサービスへの通信をインターネットやNAT Gatewayを経由せず、AWSのネットワーク内で完結させられます。これにより、NAT Gatewayの処理料金とデータ転送料の両方を削減できます。SAPでは「NAT Gateway経由の通信費が高額になっている」という状況の改善策として、VPCエンドポイントへの切り替えが頻出です。

他にも、次のような転送コストの原則を押さえておきます。

  • 同一リージョン内で完結させる: リージョンをまたぐ通信は転送料が発生するため、可能な限り同一リージョン内で処理を完結させる。
  • CloudFrontを使う: オリジンからの直接配信よりCloudFront経由の方が転送料が安くなるケースが多い(キャッシュヒット時はオリジンへのアクセス自体が減る)。
  • Direct Connectの活用: オンプレとの大量データのやり取りが常態化しているなら、インターネット経由のVPNより、専用線であるDirect Connectの方が転送コストが有利になることがある。

読んでみよう

ストレージ・データ転送のコスト問題は「どこを経由しているか」を図でイメージできるかが鍵です。「NAT Gateway経由でS3にアクセスしていて転送料が高い」と読んだら、即座に「VPCエンドポイント」が思い浮かぶように、典型パターンを図と一緒に覚えておきましょう。