

# Cost
<a name="cost"></a>

AWS での Instance Scheduler を実行する際に使用される AWS サービスのコストは、お客様の負担となります。デプロイサイズに合わせてコストがどのように増加するかを理解することは、実装の計画と最適化に役立ちます。

## コストの増加要因
<a name="cost-scaling-factors"></a>

Instance Scheduler のコストは、いくつかの要因に基づいて増加します。

 **スケジュールターゲットの数**: 管理されている一意の account-region-service の組み合わせの数。各ターゲットには、スケジューリング間隔ごとに個別の Lambda 呼び出しが必要です。

 **ターゲットあたりのリソース**: 各ターゲット内のリソース (EC2 インスタンス、RDS データベースなど) の数は、Lambda の実行時間と期間コストに影響します。

 **運用メトリクスの複雑さ**: オプションの CloudWatch メトリクスのコストは、デプロイ全体で追跡される一意のインスタンスタイプとアクティブなスケジュールの数に応じて増加します。

 **スケジュールの頻度**: ソリューションは、設定した頻度 (デフォルトは 5 分) に基づいて実行されます。チェックの頻度が高いほど、Lambda 呼び出しは 1 日 24 回 (1 時間間隔) から 1 日 288 回 (5 分間隔) に増加します。

## スケジューリングターゲットの計算
<a name="calculating-scheduling-targets"></a>

スケジューリングターゲットは、少なくとも 1 つのアクティブマネージドインスタンスを含む account-region-service の一意の組み合わせです。同じ account-region-service の組み合わせ内の複数のインスタンスは、単一のスケジューリングターゲットとしてカウントされます。

 **計算例** 
+ アカウント A、us-east-1、5 EC2 インスタンス = 1 スケジューリングターゲット
+ アカウント A、us-east-1、3 RDS データベース = 1 スケジューリングターゲット
+ アカウント A、us-east-1、2 Auto Scaling グループ = 1 スケジューリングターゲット
+ アカウント A、us-west-2、2 EC2 インスタンス = 1 スケジューリングターゲット
+ アカウント B、us-east-1、10 EC2 インスタンス = 1 スケジューリングターゲット

合計: 5 つのスケジューリングターゲット

つまり、このソリューションはスケジュール間隔ごとに 5 つの個別の Lambda 関数を呼び出し、これらの account-region-service の組み合わせ全体ですべてのリソースを管理します。

**注記**  
ターゲットはスケジューリングの対象とすることができますが、少なくとも 1 つのリソースがそのターゲットでスケジューリング用にタグ付けされるまで、コスト計算では「アクティブ」とは見なされません。  
コストを最適化するために、Instance Scheduler はすべての Amazon RDS 関連サービスを 1 回の呼び出しにグループ化します。したがって、Amazon RDS、[Amazon Aurora](https://aws.amazon.com/rds/aurora/)、[Amazon Neptune](https://aws.amazon.com/neptune/)、[Amazon DocDB スケジューリング](https://aws.amazon.com/documentdb/)はすべてコスト計算のために 1 つの「RDS」サービスとしてカウントされます。

## コスト最適化戦略
<a name="cost-optimization-strategies"></a>

1. Lambda の料金が低いリージョンにデプロイする

1. 単一のターゲットスケールの制限によって増やす必要がある場合を除き、デフォルトの 512 MB Lambda メモリ設定を使用する

1. アクティブな使用における一意のスケジュールとインスタンスタイプの数を最小限に抑える

1. 要件に基づいてスケジューリング頻度を調整する

1. 使用する予定がない場合は、運用メトリクスダッシュボードを無効にする

[このソリューションの各 AWS サービス](aws-services-used-in-this-solution.md)の料金ウェブページを参照してください。

[AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-create.html) を使用して予算を作成することをお勧めします。これはコスト管理に役立ちます。料金は変更されることがあります。

## リファレンス料金の例 (毎月)
<a name="pricing-examples-monthly"></a>

次の例は、さまざまなデプロイサイズでコストがどのように変化するかを示しています。これらをリファレンスポイントとして使用して、特定のデプロイのコストを見積もります。

**注記**  
すべての参照料金は、ソリューションで使用されるプライマリサービスのコストの概算です。

### 小規模デプロイ (～月額約 9 USD)
<a name="small-deployment"></a>

以下は一般的な開発または小規模な本番稼働用デプロイの例です。
+ アクティブなターゲット 5
+ マネージドリソース 20
+ アクティブなスケジュール 3
+ インスタンスタイプ 2
+ スケジューリングの間隔 5 分
+ Lambda 関数 512 MB、平均ランタイム 5 秒


| AWS のサービス | 月額コスト [USD] | 
| --- | --- | 
|  AWS Lambda  |  ～2.00 USD  | 
|  AWS KMS  |  ～1.50 USD  | 
|  CloudWatch Logs  |  ～0.30 USD  | 
|  CloudWatch メトリクス  |  ～5.30 USD  | 
|  Amazon DynamoDB  |  ～0.05 USD  | 
|  合計:  |  ～9.15 USD  | 

### 中規模デプロイ (～月額 161 USD)
<a name="medium-deployment"></a>

以下は中規模のエンタープライズデプロイの例です。
+ アクティブなターゲット 250
+ マネージドリソース 1000
+ アクティブなスケジュール 15
+ インスタンスタイプ 15
+ スケジューリングの間隔 5 分
+ Lambda 関数 512 MB、平均ランタイム 5 秒
+ EC2 メンテナンスウィンドウ 5


| AWS のサービス | 月額コスト [USD] | 
| --- | --- | 
|  AWS Lambda  |  ～95.00 USD  | 
|  Amazon DynamoDB  |  ～1.00 USD  | 
|  CloudWatch Logs  |  ～10.00 USD  | 
|  CloudWatch メトリクス  |  ～40.00 USD  | 
|  AWS KMS  |  ～15.00 USD  | 
|  合計:  |  ～161.00 USD  | 

### 大規模なデプロイ (～月額 630 USD)
<a name="large-deployment"></a>

以下は大規模なエンタープライズデプロイの例です。
+ アクティブなターゲット 1000
+ マネージドリソース 5000
+ アクティブなスケジュール 500
+ インスタンスタイプ 50
+ スケジューリングの間隔 5 分
+ Lambda 関数 512 MB、平均ランタイム 5 秒
+ EC2 メンテナンスウィンドウ 100


| AWS のサービス | 月額コスト [USD] | 
| --- | --- | 
|  AWS Lambda  |  ～380.00 USD  | 
|  Amazon DynamoDB  |  ～5.00 USD  | 
|  CloudWatch Logs  |  ～50.00 USD  | 
|  CloudWatch メトリクス  |  ～140.00 USD  | 
|  AWS KMS  |  ～55.00 USD  | 
|  合計:  |  ～630.00 USD  | 

## デプロイのコスト見積もり
<a name="cost-estimation-for-your-deployment"></a>

特定のデプロイのコストを見積もるには

1. マネージドリソース (EC2 インスタンス、RDS データベースなど) の合計をカウントする

1. 管理するアカウントとリージョンの数を決定する

1. 必要なスケジューリング頻度を考慮する

1. 運用メトリクスが必要かどうかを判断する

1. 上記の参考例を使用して、予想されるコストを補間します。