これは、IBM Cloud Advent Calendar 2025 13日目の記事です。
「IBM Cloud アカウントと IBM Cloudability の接続ガイド」の全てのブログ記事はこちらです:
- Part 1 - 概要と事前準備
- Part 2 - COSの作成・設定と、課金レポートへの接続
- Part 3 - COS課金レポート取得用IAMロールのTerraformによる作成
- Part 4 - CloudabilityでIBM Cloudアカウント接続の確認
3. COS課金レポート取得用IAMロールのTerraformによる作成
3.1 IAMロール作成用のTerraformテンプレート生成に必要な情報のコピー
Cloudability接続の事前準備として、使用するIBM Cloudアカウントがエンタープライズアカウントかどうかを確認するステップがありました。
エンタープライズアカウントではない場合:このガイドの手順に沿って進めてください(今回使用したアカウントもエンタープライズアカウントではありません)。
エンタープライズアカウントの場合:こちらに記載されている「Copy Account Details for account where Enterprise is configured」 の手順に従って、エンタープライズIDとアカウントIDのコピーを行ってください。このセクション (3.1) のステップ4からこちらのガイドに沿って手順を進めてください。
-
「リソース・リスト」の名前欄で、先ほど接続の時に使用したICOSインスタンスの名前を入力して検索し、選択。また、「ストレージ」の欄から、接続したICOSインスタンスを探して選択。

-
「オブジェクト」をクリック。先に part 2 ステップ10でコピーした「フォルダー名」と「オブジェクト名」のプレフィックス(ファイル名の先頭に付いている文字列)が一致しているか確認します。一致していれば、そのまま次のステップへ進みます。一致していなければ、プレフィックスをコピーして保管します。
jsonファイルの名前をコピー(おそらく「manifest」である)。

-
現時点で以下の情報がコピーされているはずです:
エンタープライズアカウントの場合は、エンタープライズIDもコピーされているはずです。
3.2 CloudabilityからTerraformテンプレートの生成
-
Cloudabilityにログイン。
「Settings」をクリックするし、「Vendor Credentials」をクリック。

-
先ほどコピーした情報を入力。入力が完了したら、「Generate Template」を選択。「Generate Template」をクリックするとテンプレートが生成され、ダウンロードの準備ができると「Generate Template」のボタンが「Download」に変わります。「Download」を選択し、テンプレートをダウンロード。
※「Verify Credentials」は押さないでください。押さずに一度閉じてください。

3.3 Terraform実行の事前準備
3.3.1 GitHubでテンプレートのアップロードと、アクセストークンの取得
-
GitHubにログインし、ホーム画面からリポジトリを作成します。初めて使う場合は「Create repository」、すでに使ったことがある場合は「New」を選択。


-
先ほどCloudability側で生成したテンプレートを、ドラッグ&ドロップするか、「choose your files」からファイルを選択してアップロードします。

-
処理が完了すると画面が自動的に戻り、ファイルが正常にアップロードされたことが確認できます。ここで、このレポジトリーのURLをコピーして保存しておいてください。

-
「Generate new token」を選択し、「Generate new token (classic)」をクリック。

-
「Note」にトークンの名前を入力し、「Expiration」で有効期限を設定します(接続が1ヶ月以内であれば30日で十分)。「repo」にチェックを入れ、「Generate token」をクリック。

-
「Generate token」をクリックするとトークンが作成され、画面に表示されます。
※このトークンは一度しか表示されない(別のページに移動すると消えてしまう)ため、必ずコピーして保存しておいてください。

3.3.2 IBM CloudページでAPIキーの作成・取得
参考資料:IBM Cloud Docs: Creating an API key in the console
-
IBM Cloudのページに戻ります。アカウントがCloudabilityに接続したいアカウントであることを確認した上で「管理」から「アクセス(IAM)」を選択。

-
「作成」をクリックするとAPIキーが表示されます。
※このAPIキーもしばらくすると再表示できなくなるため、必ずコピーして保存しておいてください。

3.4 TerraformをSchematicsで実行
-
「GitHub、GitLab、またはBitbucket リポジトリーのURL」欄に、先ほどコピーしたリポジトリのURLをペーストする。
「パーソナル・アクセス・トークン(プライベート・リポジトリーの場合のみ必要)」欄に、GitHubで作成したトークンをペーストする。
上記2つを入力したら「次へ」をクリック。

-
「ワークスペース名」と「タグ」を入力し、「リソース・グループ」はデフォルトのままにする(権限でリソース・グループが一つしか選べない場合はそのリソース・グループを選ぶ)。ワークスペースの「ロケーション」を選択し、「次へ」をクリック。
「次へ」をクリックすると「作成」ボタンが表示されるので、「作成」をクリック。


補足:「ワークスペースを作成できません。無許可アクセスです。適正なアクセス資格情報とアクセス権を所有していることを確認してください。」とエラーが出てしまう場合は、Part 1 - 概要と事前準備の「1.1 アカウントの権限の準備・確認」を参照し、権限などをもう一度確認してみてください。

-
「編集」をクリックするとサイド画面が表示されるので、ここに3.3.2ステップ4で作成したAPIキーを入力し、「保存」をクリックする。

-
プランの適用に成功すると、「管理」セクションから作成されたリソースにアクセスできるようになります。
「管理」から「アクセス(IAM)」を選択する。

-
「役割」タブを開くと、カスタムロールを確認することができます。
「CloudabilityStorageCustomRole」と表示されていれば、リソースのデプロイが完了しており、必要に応じてアクセス権やロールの管理が可能になっています。

以上で「Part 3 - COS課金レポート取得用IAMロールのTerraformによる作成」は終了です!
これで IBM Cloud アカウントと Cloudability の接続が完了し、Cloudability で課金レポート情報を取得できるようになっているはずです。
次のセクションでは、接続が正常に完了しているかを確認します。



























