こんにちはhabrasociety!

個別のアカウントと多くのIAMユーザーを持つ大規模なプロジェクトがあります。 しかし、より小さなクライアントがより頻繁にあり、ここで私はすべての人をまとめて、それらを別々に請求したいと思います。 これを行う方法? 同じAWSアカウントで異なる顧客に請求するにはどうすればよいですか? これについてお話します。
タグ付け
AWSはタグを使用してリソースとマルチテナント請求を共有します。 タグ付けは何にでも付けることができます。 あらゆる種類のトラフィック、I / O、RDS、SQS、S3など タグによって個別に考慮することができます。 したがって、
PROJECTタグをメインタグとして、すべてのシリーズに適用します。次に例を示します。

S3バケット
Amazonからのレポートは別のS3バケットに入れられます。これを作成して準備する必要があります。 バケットを作成し、次のバケットポリシーを設定します。
バケットポリシー {
「バージョン」:「2008-10-17」、
「Id」:「Policy1335892530063」、
「ステートメント」:[
{
「Sid」:「Stmt1335892150622」、
「効果」:「許可」、
「プリンシパル」:{
「AWS」:「arn:aws:iam :: 386209384616:root」
}、
「アクション」:[
「s3:GetBucketAcl」、
「s3:GetBucketPolicy」
]、
「リソース」:「arn:aws:s3 ::: epm-cit_fin_reports」
}、
{
「Sid」:「Stmt1335892526596」、
「効果」:「許可」、
「プリンシパル」:{
「AWS」:「arn:aws:iam :: 386209384616:root」
}、
「アクション」:「s3:PutObject」、
「リソース」:「arn:aws:s3 ::: epm-cit_fin_reports / *」
}
]
}
このポリシーにより、AWS請求サービスがバケットにアクセスできるようになるため、レポートを追加できます。
課金設定
次に、
課金設定ページに移動し、インストール済みのポリシーで目的のバケットを指定して、すべてのサービスをオンにします。

コスト配分レポート
レポート設定
ページに移動して、顧客に請求するタグを選択します。

報告書
そのため、時間の経過とともに、選択したバケットにCSV形式のレポートファイルが表示されます。 AWSがカードからお金を引き出すすべてのアイテムは、それらの中に存在します。 タグ付けされたサービスからのアイテムにはマークが付けられます。 Excel / OO Calcでは、タグで行をフィルタリングし、個々のクライアントがアカウントにロールアップした量を表示できます。
レポートを美しくフォーマットするために何かをすることができます

結論
この短いストーリーでは、AWSマルチテナント請求のハイライトを紹介しました。 異なるユーザー間でサービスを共有し、合理的な請求書を発行することはとても簡単で簡単です。 残念ながら、現時点ではクライアント間でアクセス権を区別することは不可能であるため、クライアント自身がリソースを1つのアカウントで管理することはできませんが、いつか可能になると思います。