インフラ
実践ノウハウ

AWS運用コスト大幅削減した全手法【大手企業DX責任者の実例】

【チェックリスト付き】AWSコストを年間数百万円削減した全手法。Reserved Instance、Savings Plans、RDS Rightsizing、ECS移行の具体的な設定手順と削減額を実データで公開。明日から使える。

公開:
更新:
15分で読めます
実践的ノウハウ
読了時間
15
#AWS#コスト削減#インフラ

AWS運用コスト大幅削減した全手法【大手企業DX責任者の実例】

大手企業でDX推進責任者として、AWS運用コストを大幅削減した全手法を公開します。

記事ヘッダー画像

この記事で得られること

セクション1画像

✅ AWS月額コストを大幅削減する具体的な手法
✅ すぐに実践できる10の施策(難易度・効果付き)
✅ 社内稟議を通すための説得資料の作り方
✅ コスト可視化ツールの選定と設定方法
✅ 削減後の運用体制とモニタリング方法

対象読者: インフラエンジニア、SRE、CTO、コスト削減を任されたマネージャー


導入:月間300万円のAWSコストに悩んでいた

セクション2画像

削減前の状況

2年前、私が着任した時のAWS環境は正直「カオス」でした。

課題1: コストの全体像が不明

  • 各部門が独自にリソースを作成
  • タグ付けルールがバラバラ
  • どこで何にお金がかかっているか誰も把握していない

課題2: 無駄なリソースの放置

  • 開発環境が24時間稼働
  • 検証用インスタンスが削除されずに残っている
  • 古いスナップショットが大量に保存されている

課題3: 最適化されていない構成

  • オンデマンドインスタンスのみ使用
  • RDSのインスタンスサイズが過剰
  • S3のストレージクラスが最適化されていない

月間コスト: 約300万円(年間3,600万円)
経営層からの指令: 「20%削減できないか?」

最終的に 大幅削減(月額180-210万円) を達成しました。

AWSコスト削減比較グラフ


AWS運用コスト削減TOP10施策

セクション3画像

# 施策 削減効果 難易度 所要時間
1 RDSのRightSizing 15-20% 2-3週間
2 Reserved Instance導入 10-15% 1週間
3 ECSへのコンテナ化 8-低い割合 2-数ヶ月
4 S3ライフサイクル設定 5-8% 1-2日
5 開発環境の自動停止 3-5% 1週間
6 EBSボリュームの最適化 2-4% 2週間
7 CloudFront導入 3-5% 1週間
8 Lambda化(サーバーレス) 2-3% 1-2ヶ月
9 Spot Instance活用 2-4% 2週間
10 不要リソースの削除 5-10% 継続

合計削減効果: 55-86%(重複を考慮すると大幅)


施策1: RDSのRightSizing(削減効果15-20%)

実施前の状況

  • RDS: db.m5.2xlarge(8 vCPU、32GB RAM)
  • 月額コスト: 約50万円(Multi-AZ、本番環境5台)
  • CPU使用率: 平均10-15%(過剰スペック)

実施内容

ステップ1: パフォーマンスメトリクスの収集(2週間)

CloudWatch メトリクス:
- CPUUtilization: 平均低い割合、最大30%
- DatabaseConnections: 平均50、最大120
- ReadLatency: 平均5ms
- WriteLatency: 平均8ms

結論: スペックが2-3倍過剰

ステップ2: ダウンサイジングプランの作成

変更前: db.m5.2xlarge(8 vCPU、32GB)
変更後: db.m5.xlarge(4 vCPU、16GB)
削減率: 50%

ステップ3: 段階的な移行

  1. Week 1: ステージング環境で検証
  2. Week 2: 本番環境1台で検証(深夜メンテナンス時間)
  3. Week 3-4: 残り4台を順次移行

結果

  • 削減額: 月25万円削減(年間300万円)
  • パフォーマンス: 影響なし(CPU使用率20-30%で安定)
  • 削減率: 50%

注意点

⚠️ 必ずパフォーマンステストを実施

  • 負荷試験ツール(JMeter、Gatling)で事前検証
  • ピーク時のメトリクスを2週間以上収集
  • バッファは2倍を確保(使用率50%以下を目安)

⚠️ Blue/Green デプロイメントを活用

# RDS Blue/Green Deploymentを使えばダウンタイムゼロで移行可能
aws rds create-blue-green-deployment \
  --blue-green-deployment-name "rds-rightsizing" \
  --source-arn arn:aws:rds:region:account:db:source-db \
  --target-db-instance-class db.m5.xlarge

施策2: Reserved Instance導入(削減効果10-15%)

実施前の状況

  • EC2: すべてオンデマンド(約30台)
  • 月額コスト: 約80万円
  • 使用パターン: 24時間365日稼働

実施内容

ステップ1: 使用パターンの分析(AWS Cost Explorer使用)

稼働パターン分類:
- 常時稼働(本番環境): 20台 → RI対象
- 平日のみ稼働(開発環境): 10台 → オンデマンド継続

ステップ2: RI購入プランの作成

【1年間 All Upfront】
- 対象: t3.medium x 10台
- 削減率: 40%
- 初期費用: 約100万円
- 回収期間: 8ヶ月

【3年間 All Upfront】
- 対象: m5.large x 10台
- 削減率: 60%
- 初期費用: 約250万円
- 回収期間: 12ヶ月

RDS料金プラン比較表

ステップ3: 社内稟議を通す

説得ポイント:

  1. ROI計算書を作成

    • 1年間の削減額: 120万円
    • 3年間の削減額: 数百万円
    • IRR(内部収益率): 45%
  2. リスク分析を提示

    • ビジネスが縮小した場合のリスク
    • → マーケットプレイスで売却可能(流動性あり)
  3. 段階的導入を提案

    • まず1年RIで10台導入
    • 効果を検証してから3年RIを拡大

結果

  • 削減額: 月12万円削減(年間144万円)
  • 削減率: 15%
  • ROI: 8ヶ月で投資回収

2025年版のおすすめ

Savings Plansの方が柔軟でおすすめ!

Reserved Instance(旧):
- インスタンスタイプ固定
- リージョン固定
- 柔軟性が低い

Savings Plans(新):
- インスタンスファミリー内で変更可能
- Compute Savings Plans: EC2、Fargate、Lambda全対応
- 柔軟性が高い

私の推奨:

  • Compute Savings Plans(1年間): 40%削減
  • 対象サービス: EC2、Fargate、Lambda
  • コミットメント: 月額使用量の70%

Savings Plans比較


施策3: ECSへのコンテナ化(削減効果8-低い割合)

実施前の状況

  • EC2: m5.xlarge x 15台(Webアプリケーション)
  • 月額コスト: 約60万円
  • CPU使用率: 平均20%(リソースの無駄)

実施内容

ステップ1: コンテナ化の準備(1ヶ月)

# 既存のアプリケーションをDockerコンテナ化
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

ステップ2: ECS Fargate構成の設計

# ECS Task Definition
CPU: 512 (.5 vCPU)
Memory: 1024 MB
Tasks: 30個(m5.xlarge 15台分の処理を30タスクで実行)

コスト比較:

EC2: m5.xlarge x 15台 = 60万円/月
Fargate: 512 CPU x 30タスク = 48万円/月
削減額: 12万円/月(20%削減)

ステップ3: ALB + Auto Scalingの設定

# ECS Service with Auto Scaling
aws ecs create-service \
  --cluster my-cluster \
  --service-name my-service \
  --task-definition my-task:1 \
  --desired-count 10 \
  --launch-type FARGATE \
  --load-balancers targetGroupArn=arn:aws:...

Auto Scaling設定:

最小タスク数: 10
最大タスク数: 30
スケールアウト条件: CPU使用率 > 70%
スケールイン条件: CPU使用率 < 30%

結果

  • 削減額: 月12万円削減(年間144万円)
  • 削減率: 20%
  • 副次効果:
    • デプロイ時間: 10分 → 2分(80%短縮)
    • スケーラビリティ向上
    • 障害時の自動復旧

注意点

⚠️ Fargate vs EC2の使い分け

Fargateが向いている:
- トラフィックに波がある
- 運用工数を削減したい
- コンテナ数が少ない(100個以下)

EC2(ECS on EC2)が向いている:
- 常時高負荷
- コンテナ数が多い(100個以上)
- コスト最優先

施策4: S3ライフサイクル設定(削減効果5-8%)

実施前の状況

  • S3ストレージ: 50TB(すべてStandard)
  • 月額コスト: 約120万円
  • アクセスパターン: 90%は30日以上アクセスなし

実施内容

S3ストレージクラスの理解

Standard: $0.023/GB → 頻繁にアクセス
Standard-IA: $0.0125/GB → 月1回以下のアクセス(削減率45%)
Glacier Instant Retrieval: $0.004/GB → 四半期1回(削減率83%)
Glacier Flexible Retrieval: $0.0036/GB → 年1回(削減率84%)
Glacier Deep Archive: $0.00099/GB → ほぼアクセスなし(削減率96%)

ライフサイクルポリシーの設定

{
  "Rules": [
    {
      "Id": "Archive-old-logs",
      "Status": "Enabled",
      "Filter": {
        "Prefix": "logs/"
      },
      "Transitions": [
        {
          "Days": 30,
          "StorageClass": "STANDARD_IA"
        },
        {
          "Days": 90,
          "StorageClass": "GLACIER_IR"
        },
        {
          "Days": 365,
          "StorageClass": "DEEP_ARCHIVE"
        }
      ],
      "Expiration": {
        "Days": 2555
      }
    }
  ]
}

適用対象:

  • ログファイル(30TB) → IA → Glacier
  • バックアップ(15TB) → Glacier Instant Retrieval
  • アーカイブ(5TB) → Deep Archive

結果

  • 削減額: 月10万円削減(年間120万円)
  • 削減率: 8%
  • 所要時間: 2日(ポリシー設定のみ)

S3 Intelligent-Tieringの活用

2024年のおすすめ:

S3 Intelligent-Tiering:
- 自動でアクセスパターンを分析
- 最適なストレージクラスに自動移行
- モニタリング料金: $0.0025/1000オブジェクト(格安)

設定方法:

aws s3api put-bucket-intelligent-tiering-configuration \
  --bucket my-bucket \
  --id intelligent-tiering-rule \
  --intelligent-tiering-configuration \
    "Status=Enabled,Tierings=[{Days=30,AccessTier=ARCHIVE_ACCESS},{Days=90,AccessTier=DEEP_ARCHIVE_ACCESS}]"

施策5: 開発環境の自動停止(削減効果3-5%)

実施前の状況

  • 開発環境: EC2 x 20台、RDS x 5台(24時間稼働)
  • 使用時間: 平日9:00-21:00のみ(週60時間 / 168時間)
  • 稼働率: 35%
  • 月額コスト: 約40万円

実施内容

Lambda関数で自動停止/起動

import boto3

ec2 = boto3.client('ec2')
rds = boto3.client('rds')

def lambda_handler(event, context):
    # 開発環境タグがついているインスタンスを取得
    instances = ec2.describe_instances(
        Filters=[
            {'Name': 'tag:Environment', 'Values': ['development']},
            {'Name': 'instance-state-name', 'Values': ['running']}
        ]
    )

    instance_ids = [
        i['InstanceId']
        for r in instances['Reservations']
        for i in r['Instances']
    ]

    if instance_ids:
        ec2.stop_instances(InstanceIds=instance_ids)
        print(f'Stopped instances: {instance_ids}')

    # RDSも同様に停止
    db_instances = rds.describe_db_instances()['DBInstances']
    for db in db_instances:
        if 'Environment' in db.get('TagList', []):
            if db['Tag']['Value'] == 'development':
                rds.stop_db_instance(DBInstanceIdentifier=db['DBInstanceIdentifier'])

    return {
        'statusCode': 200,
        'body': f'Stopped {len(instance_ids)} instances'
    }

EventBridge(CloudWatch Events)でスケジュール実行

# 平日21:00に停止
aws events put-rule \
  --name stop-dev-instances \
  --schedule-expression "cron(0 12 ? * MON-FRI *)" \
  --state ENABLED

# 平日9:00に起動
aws events put-rule \
  --name start-dev-instances \
  --schedule-expression "cron(0 0 ? * MON-FRI *)" \
  --state ENABLED

結果

  • 削減額: 月26万円削減(65%削減)
  • 年間削減: 312万円
  • 所要時間: 1週間(Lambda開発+テスト)

応用: Instance Schedulerの活用

AWS公式ツール: Instance Scheduler

# CloudFormationでデプロイ
aws cloudformation create-stack \
  --stack-name instance-scheduler \
  --template-url https://s3.amazonaws.com/.../instance-scheduler.template \
  --parameters \
    ParameterKey=Schedule,ParameterValue="weekdays-9to21"

スケジュール例:

weekdays-9to21:
  起動: 月-金 9:00
  停止: 月-金 21:00

office-hours:
  起動: 月-金 8:00
  停止: 月-金 20:00
  タイムゾーン: Asia/Tokyo

コスト可視化ツールの選定と設定

ツール比較

ツール コスト 特徴 おすすめ度
AWS Cost Explorer 無料 AWS公式、基本機能 ⭐⭐⭐
AWS Cost and Usage Report 無料 詳細レポート、S3出力 ⭐⭐⭐⭐
CloudHealth $$$$ 高機能、マルチクラウド ⭐⭐⭐⭐
Datadog Cloud Cost $$$ インフラ監視と統合 ⭐⭐⭐
Kubecost $$ Kubernetes特化 ⭐⭐⭐

私の推奨構成

1. AWS Cost and Usage Reportをベースに

# S3バケットにレポート出力
aws cur put-report-definition \
  --report-definition \
    ReportName=monthly-cost-report,\
    TimeUnit=HOURLY,\
    Format=Parquet,\
    Compression=Parquet,\
    S3Bucket=my-cost-reports,\
    S3Region=us-east-1,\
    S3Prefix=cur/

2. AthenaでSQLクエリ

-- 部門別コスト集計
SELECT
  line_item_usage_account_id,
  resource_tags_user_department AS department,
  SUM(line_item_blended_cost) AS cost
FROM cost_and_usage_report
WHERE year = '2024' AND month = '01'
GROUP BY 1, 2
ORDER BY cost DESC;

3. QuickSightでダッシュボード化

ダッシュボード構成:
- 月次コスト推移(折れ線グラフ)
- サービス別コスト(円グラフ)
- 部門別コスト(棒グラフ)
- 前月比増減(テーブル)

社内稟議を通すための説得資料

資料構成(10スライド)

スライド1: サマリー

タイトル: AWS運用コスト30%削減提案

現状: 月額300万円(年間3,600万円)
目標: 月額210万円(年間2,520万円)
削減額: 年間数百万円

投資: 数百万円(RI購入、移行費用)
回収期間: 5.5ヶ月

スライド2: 課題の可視化

【現状の3大課題】
1. コスト構造の不透明さ
   → どこで何にいくら使っているか不明

2. 無駄なリソースの放置
   → 使われていないインスタンス・スナップショットが大量

3. 最適化の欠如
   → オンデマンドのみ、スペック過剰

スライド3: 削減施策TOP5

1. RDS Rightsizing: 15-20%削減
2. Reserved Instance: 10-15%削減
3. ECS化: 8-低い割合削減
4. S3ライフサイクル: 5-8%削減
5. 開発環境停止: 3-5%削減

スライド4: ROI計算

初期投資: 数百万円
年間削減: 1,080万円
3年間削減: 3,240万円

ROI: 216%(3年間)
IRR: 52%
回収期間: 5.5ヶ月

スライド5: リスク分析

【リスク】
1. パフォーマンス劣化
   → 2週間の検証期間で事前確認

2. RI購入後の使用量減少
   → マーケットプレイスで売却可能

3. 移行時の障害
   → Blue/Greenデプロイで無停止移行

スライド6: 実施スケジュール

Month 1: S3ライフサイクル、開発環境停止(クイックwin)
Month 2: RDS Rightsizing(パフォーマンス検証)
Month 3: RI購入、ECS化開始
Month 4-6: ECS化完了、効果測定

経営層を説得するコツ

  1. 財務指標で語る

    • ROI、IRR、NPV(正味現在価値)を計算
    • 「削減額」ではなく「利益貢献」として表現
  2. クイックwinを見せる

    • まず簡単な施策(S3、開発環境停止)で10%削減
    • 「できる」実績を作ってから大きな投資を提案
  3. 競合比較

    • 同業他社のクラウドコスト効率を調査
    • 「業界平均より20%高い」などのデータを提示

削減後の運用体制とモニタリング

1. コスト管理の組織体制

【体制図】
CTO(最終責任者)
  ↓
DX推進責任者(私)
  ↓
├ インフラチーム(実行)
├ 開発チーム(協力)
└ 財務チーム(予算管理)

2. 月次レビュー会議

開催頻度: 毎月第1営業日
参加者: CTO、DX推進責任者、インフラリーダー、財務担当

アジェンダ:

  1. 前月コスト実績(予算比)
  2. サービス別・部門別の増減分析
  3. 異常コストのアラート確認
  4. 今月の削減施策進捗
  5. 来月の予算見通し

3. アラート設定

AWS Budgetsで予算管理

aws budgets create-budget \
  --account-id 123456789012 \
  --budget \
    BudgetName=monthly-aws-budget,\
    BudgetLimit={Amount=2100000,Unit=JPY},\
    TimeUnit=MONTHLY,\
    BudgetType=COST

CloudWatchアラートで異常検知

# 日次コストが前日比+20%の場合にアラート
Metric: EstimatedCharges
Statistic: Maximum
Period: 86400 # 1日
Threshold: 前日比+20%
Actions: SNS通知  Slack連携

4. タグ付けルールの徹底

必須タグ:

Environment: production / staging / development
Department: engineering / marketing / sales
CostCenter: CC-001 / CC-002 / CC-003
Owner: email@example.com
Project: project-name

タグ付けの強制:

# Service Control Policy(SCP)でタグなしリソースの作成を禁止
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ec2:RunInstances",
        "rds:CreateDBInstance",
        "s3:CreateBucket"
      ],
      "Resource": "*",
      "Condition": {
        "Null": {
          "aws:RequestTag/Environment": "true"
        }
      }
    }
  ]
}

まとめ:AWS削減の3つのポイント

1. 可視化なくして削減なし

  • まずコスト構造を徹底的に可視化
  • Cost and Usage Report + Athena + QuickSightで自動化
  • タグ付けルールの徹底

2. クイックwinで信頼を得る

  • 難易度の低い施策から着手(S3、開発環境停止)
  • 1ヶ月で10%削減を実現
  • 信頼を得てから大きな投資(RI、ECS化)を提案

3. 継続的な改善サイクル

  • 月次レビュー会議で進捗確認
  • 新サービス・新機能のキャッチアップ
  • FinOpsの文化を組織に根付かせる

すぐに実践できる3ステップ

ステップ1: 現状把握(今日から)

  1. AWS Cost Explorerで月次コスト推移を確認
  2. サービス別・リージョン別のコスト内訳を分析
  3. 上位10リソースを特定

ステップ2: クイックwin(今週中)

  1. S3ライフサイクルポリシーを設定
  2. 開発環境の自動停止をLambdaで実装
  3. 不要なスナップショット・AMIを削除

ステップ3: 中長期施策(来月から)

  1. RDS Rightsizingの検証開始
  2. Reserved Instance / Savings Plansの購入計画
  3. コンテナ化(ECS/EKS)の検討

著者について

DX・AI推進コンサルタント
大手企業グループのDX推進責任者・顧問CTO | 長年のIT・DXキャリア | AWS・GA4・生成AI活用を専門に実践ノウハウを発信中

➡️ お問い合わせ・ご相談はこちら

#AWS #コスト削減 #インフラ #DX推進 #クラウド最適化


最終更新: 2025年11月9日

この記事を書いた人

NL

nexion-lab

DX推進責任者・顧問CTO | IT業界15年以上

大手企業グループでDX推進責任者、顧問CTOとして活動。AI・生成AI活用、クラウドインフラ最適化、データドリブン経営の領域で専門性を発揮。 実務で培った知識と経験を、ブログ記事として発信しています。

AI・生成AIDX推進顧問CTOAWS/GCPシステム開発データ分析
詳しいプロフィールを見る
✨ 無料相談受付中 ✨

インフラのご相談はお任せください

長年の実績とDX推進の実践ノウハウで、貴社の課題解決をサポートします。まずはお気軽にご相談ください。

無料相談を申し込む
おすすめ記事

こちらの記事もおすすめ

関連する実践的なノウハウをご紹介

インフラ

データ指向アプリケーション設計【大規模システム構築の完全ガイド2025】

データ指向アプリケーション設計の完全ガイド。分散システム、データベース設計、スケーラビリティ、信頼性を大規模システム構築の実例で徹底解説。

2211月16日
インフラ

Kubernetes + Docker実践ガイド【コンテナオーケストレーション完全攻略2025】

Kubernetes + Docker実践ガイド。コンテナオーケストレーション、デプロイ戦略、監視、トラブルシューティングを2025年最新ベストプラクティスで完全解説。

2011月16日
インフラ

Terraform×IaCでインフラ構築を自動化【実践ガイド2025】

Terraform×IaCでインフラ構築を完全自動化。AWS/GCPマルチクラウド対応のベストプラクティスをコード例付きで2025年最新版として解説。

174月5日
インフラ

AWS vs GCP比較【料金・性能・機能の違い】どっちを選ぶ?2025年版

AWSとGCPを徹底比較。料金体系の違い、コンピューティング・ストレージ性能、機械学習サービスを実データで検証。初心者向けにどちらを選ぶべきか、用途別おすすめを2025年最新版で解説。

133月25日
インフラ

マイクロサービスアーキテクチャ設計パターン【実践ガイド2025】

【設計図付き】マイクロサービスの設計パターン10選。サービス分割の判断基準、API設計のベストプラクティス、障害対策を大規模システム実例で解説。モノリスからの移行手順も公開。

2111月16日
AI活用

企業AI導入セキュリティ完全ガイド【2025年最新・実践的対策集】

企業AI導入におけるセキュリティ対策を完全解説。データ漏洩防止、プロンプトインジェクション対策、コンプライアンス対応を2025年最新事例で実践的に紹介。

2011月16日