0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM Cloud アカウントと IBM Cloudability の接続ガイド: Part 3 - COS課金レポート取得用IAMロールのTerraformによる作成

Last updated at Posted at 2025-12-12

これは、IBM Cloud Advent Calendar 2025 13日目の記事です。

「IBM Cloud アカウントと IBM Cloudability の接続ガイド」の全てのブログ記事はこちらです:

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からこちらのガイドに沿って手順を進めてください。

  1. 「管理」から「アカウント」を選択。
    Cloudability_3.1.1.png

  2. 「アカウント設定」を選択。
    Cloudability_3.1.2.png

  3. アカウントIDをコピー。
    Cloudability_3.1.3.png

  4. 「ナビケーション・メニュー」をクリック。
    Cloudability_3.1.4.png

  5. 「リソース・リスト」をクリック。
    Cloudability_3.1.5.png

  6. 「リソース・リスト」の名前欄で、先ほど接続の時に使用したICOSインスタンスの名前を入力して検索し、選択。また、「ストレージ」の欄から、接続したICOSインスタンスを探して選択。
    Cloudability_3.1.6.png

  7. COSのインスタンスの名前をコピーします。COSのインスタンス内の接続に使用したバケットを選択。
    Cloudability_3.1.7.png

  8. 「構成」を選択。「バケットの詳細」の欄の「バケット名」と「ロケーション」をコピー。
    Cloudability_3.1.8.png

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

  10. 現時点で以下の情報がコピーされているはずです:

    1. フォルダー名(オブジェクト名のプリフィックス)
    2. アカウントID
    3. COSインスタンス名
    4. バケット名
    5. ロケーション
    6. jsonファイル名
      Cloudability_3.1.11.png

エンタープライズアカウントの場合は、エンタープライズIDもコピーされているはずです。

3.2 CloudabilityからTerraformテンプレートの生成

  1. Cloudabilityにログイン。
    「Settings」をクリックするし、「Vendor Credentials」をクリック。
    Cloudability_3.2.1.png

  2. 「Add Datasource」をクリック。
    Cloudability_3.2.2.png

  3. 「IBM」をクリック。
    Cloudability_3.2.3.png

  4. 「IBM」クリックするとこのようなサイドメニューが表示されます。「Next」を選択。
    Cloudability_3.2.4.png

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

3.3 Terraform実行の事前準備

3.3.1 GitHubでテンプレートのアップロードと、アクセストークンの取得

  1. GitHubにログインし、ホーム画面からリポジトリを作成します。初めて使う場合は「Create repository」、すでに使ったことがある場合は「New」を選択。
    Cloudability_3.3.1.1.1.png
    Cloudability_3.3.1.1.2.png

  2. 「Repository name」にリポジトリの名前を入力し、「Create repository」をクリック。
    Cloudability_3.3.1.2.png

  3. 「uploading an existing file」を選択。
    Cloudability_3.3.1.3.png

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

  5. ファイルがアップされたら「Commit changes」を選択。
    ファイルの処理に数分かかる場合があります。
    Cloudability_3.3.1.5.1.png
    Cloudability_3.3.1.5.2.png

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

  7. 画面右上のプロフィール写真を選択。
    Cloudability_3.3.1.7.png

  8. 「Settings」を選択。
    Cloudability_3.3.1.8.png

  9. 「Developer settings」を選択。
    Cloudability_3.3.1.9.png

  10. 「Personal access tokens」を選択し、「Tokens (classic)」をクリック。
    Cloudability_3.3.1.9.png

  11. 「Generate new token」を選択し、「Generate new token (classic)」をクリック。
    Cloudability_3.3.1.10.png

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

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

3.3.2 IBM CloudページでAPIキーの作成・取得

参考資料:IBM Cloud Docs: Creating an API key in the console

  1. IBM Cloudのページに戻ります。アカウントがCloudabilityに接続したいアカウントであることを確認した上で「管理」から「アクセス(IAM)」を選択。
    Cloudability_3.3.2.1.png

  2. 「APIキー」から「作成」を選択。
    Cloudability_3.3.2.2.png

  3. APIキーの名前を「名前」に入力し、「作成」を選択。
    Cloudability_3.3.2.3.png

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

3.4 TerraformをSchematicsで実行

  1. APIキーをコピーして保存したら、IBM Cloudの検索バーに「Schematics」と入力して選択する。
    Cloudability_3.4.1.png

  2. 「Terraform」を選択し、「ワークスペースの作成」をクリックする。
    Cloudability_3.4.2.png

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

  4. 「ワークスペース名」と「タグ」を入力し、「リソース・グループ」はデフォルトのままにする(権限でリソース・グループが一つしか選べない場合はそのリソース・グループを選ぶ)。ワークスペースの「ロケーション」を選択し、「次へ」をクリック。
    「次へ」をクリックすると「作成」ボタンが表示されるので、「作成」をクリック。
    Cloudability_3.4.4.1.png
    Cloudability_3.4.4.2.png
    補足:「ワークスペースを作成できません。無許可アクセスです。適正なアクセス資格情報とアクセス権を所有していることを確認してください。」とエラーが出てしまう場合は、Part 1 - 概要と事前準備の「1.1 アカウントの権限の準備・確認」を参照し、権限などをもう一度確認してみてください。
    Cloudability_3.4.4.3.png

  5. 問題なくワークスペースを作成できた場合は、このような画面が表示されます。
    Cloudability_3.4.5.png

  6. 画面を下にスクロールし、「ibmcloud_api_key」の右端にある3点アイコンをクリックし、「編集」を選択する。
    Cloudability_3.4.6.png

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

  8. APIキーを設定すると「プランの適用」ボタンがクリックできるようになるので、クリック。
    Cloudability_3.4.8.png

  9. 処理には数秒〜数分かかる場合があります。
    Cloudability_3.4.9.png

  10. プランが正常に適用されると、以下のような画面が表示されます。
    Cloudability_3.4.10.png

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

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

以上で「Part 3 - COS課金レポート取得用IAMロールのTerraformによる作成」は終了です!

これで IBM Cloud アカウントと Cloudability の接続が完了し、Cloudability で課金レポート情報を取得できるようになっているはずです。
次のセクションでは、接続が正常に完了しているかを確認します。

最後:Part 4 - CloudabilityでIBM Cloudアカウント接続の確認

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?