1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】 リザーブドインスタンスの購入を拒否する方法

Last updated at Posted at 2024-03-20

一部のサービスについては調査中ですが、現時点での一覧を公開します。

リザーブドインスタンスは、クラウドサービスにおいて事前にリソースを予約し、コスト最適化を図る方法の一つです。しかし、リザーブドインスタンスの購入は高額になる可能性があり、予期しない支出を引き起こすリスクも伴います。

この問題に対処する一つの方法は、IAM ポリシーを利用してリザーブドインスタンスの購入を明示的に拒否することです。具体的には、以下のアクションを拒否する IAM ポリシーの設定を検討してください。

リザーブドインスタンスの対象サービス

過去のブログで 10 のサービスを調査しました。一覧を再掲します。 [1]

リザーブドの種類 AWS サービス
リザーブドインスタンス EC2, RDS, OpenSearch Service
リザーブドノード ElastiCache, Redshift, MemoryDB
リザーブドキャパシティ DynamoDB, CodeBuild, CloudFront
その他 Elemental MediaLive

上記サービスの購入に関するアクション

*ReservedInstances*などと幅広く指定する事も可能ですが、以下のアクションを明確に拒否する事も効果的と考えます。
以下のアクションを IAM ポリシーで Deny することで、各サービスにおける購入を制限することが可能です。

  • ec2:PurchaseReservedInstancesOffering [2]
  • ec2:CreateCapacityReservation [2]
  • rds:PurchaseReservedDBInstancesOffering [3]
  • es:PurchaseReservedInstanceOffering [4]
  • elasticache:PurchaseReservedCacheNodesOffering [5]
  • redshift:PurchaseReservedNodeOffering [6]
  • memorydb:PurchaseReservedNodesOffering [7]
  • dynamodb:PurchaseReservedCapacityOfferings [8]
  • codebuild:CreateFleet [9]
  • (CloudFront 調査中) [10]
  • medialive:PurchaseOffering [11]

【補足 1 】アクション名に含まれる Offering とは?

以下の情報の組み合わせで一意の Offering ID が決まります。[12]
リザーブドインスタンスを購入する際には、この Offering ID を指定する必要があります。

  • インスタンスタイプ
  • 支払オプション
  • 期間
  • 購入台数
  • (その他)

したがって、Offering を拒否することで、リザーブドインスタンスを購入することが出来なくなります。
言い換えると、リザーブドインスタンスを購入する許可を拒否する必要があります。

【補足 2 】CodeBuild のリザーブドキャパシティについて

DyanamoDB や CloudFront とは位置付けが異なる様です。[13]
他の RI や Savings Plans のように、特定の期間を指定して購入するものではなさそうです。

Savings Plans の購入に関するアクション

リザーブドインスタンスと異なり、 Savings Plans は以下のアクションで指定が可能です。

  • cloudfront:CreateSavingsPlan [14]
  • savingsplans:CreateSavingsPlan [15]

参考資料

[1] 【AWS】 リザーブドインスタンスの対象サービスを全部言えますか?

[2] Amazon EC2 のアクション、リソース、および条件キー

[3] Amazon RDS のアクション、リソース、および条件キー

[4] Amazon OpenSearch Service のアクション、リソース、および条件キー

[5] Amazon ElastiCache のアクション、リソース、および条件キー

[6] Amazon Redshift のアクション、リソース、および条件キー

[7] Amazon MemoryDB のアクション、リソース、および条件キー

[8] Amazon DynamoDB のアクション、リソース、および条件キー

[9] AWS CodeBuild のアクション、リソース、条件キー

[10]

[11] AWS Elemental のアクション、リソース、および条件キー MediaLive

[12]リザーブドインスタンスの購入 - Amazon Elastic Compute Cloud

[13] AWS CodeBuild のリザーブドキャパシティを使ってみました | DevelopersIO

[14] Amazon CloudFront のアクション、リソース、および条件キー

[15] AWS Savings Plans のアクション、リソース、および条件キー

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?