Alphausは、Cost and Usage Report(CUR)の設定を簡略化し、Reserved Instances、Savings Plans などの費用に関連する情報を正確に取得するために必要なAPIアクセスと権限を提供するためにCloud Formationテンプレートを提供しています。
本記事作成時点では、3つのCFテンプレートが有効で、それぞれRippleの支払いアカウント登録画面から選ぶメニューによって実行されるテンプレートが異なります。
支払いアカウント画面から支払いアカウントを新規登録する際に「デフォルトのコンフィギュレーションでCloudFormationの設定をします。」にチェックを入れる場合: テンプレート3 (下記全ての権限)
登録済みの支払いアカウントをアップデートする場合
Allow API Access: テンプレート2
CUR出力設定を確認する。: テンプレート3
Setup S3 bucket in a different region : テンプレート1
CURをエクスポートするためのS3バケットの作成。
用途:CURをS3バケットにエクスポートするために必要
対象リソース:CurS3BucketName(対象のS3バケット)
s3:GetBucketAcl
s3:GetBucketPolicy
s3:PutObject
Alphausがお客様のアカウントのコストに関連する情報にアクセスするためのIAMロールを設定するテンプレート。また、Rippleの他の機能で使用する必要な情報にアクセスするためのいくつかの権限も含まれています。
用途:まだ使用されていません。これらはAWS OrganizationsをRipple Billing Groupと同期させる将来的な実装予定機能のための設定です。
対象リソース: すべて
## Organizationsの情報を取得するために必要:
organizations:List*
organizations:Describe*
## 費用に関連する情報にアクセスするために必要:
ec2:DescribeReservedInstances
ec2:GetCapacityReservationUsage
rds:DescribeReservedDBInstances
elasticache:DescribeReservedCacheNodes
es:DescribeReservedElasticsearchInstances
redshift:DescribeReservedNodes
savingsplans:DescribeSavingsPlan*
cur:Describe*
budgets:Describe*
ce:Describe*
ce:Get*
ce:List*
## AWS Billing Conductorの請求グループから請求グループを作成し、プロフォーマCURを設定するために必要:
billingconductor:List*
cur:PutReportDefinition
role をアップデートするため
上記で作成した role (AlphausCostAccessRole) を将来的にアップデートするために必要(Ripple の機能追加や AWS の将来的な仕様変更に対応するため)
対象リソース:AlphausCostAccessRole のみ
iam:GetRole*
iam:PutRolePolicy
CFスタックアップデートのため
対象リソース:新機能のために追加の API アクセスが必要な場合、お客様は AWS コンソールで CF スタックを再度更新する必要はありません。お客様はRipple UIから必要な変更を要求され、お客様が承認した場合にのみ更新を実行します。
対象リソース:AlphausCostAccess スタック(本スタック)
cloudformation:DescribeStack*
cloudformation:UpdateStack*
上記の alphausdefaultcostaccess、alphausdefaultcostaccess の内容に加え、CUR のエクスポート設定を行います。