---
sourceDocument: Xanadu IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/it-operations-management

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# IBM Cloud プラットフォームディスカバリー

# IBM Cloud プラットフォームディスカバリー {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：57分

ServiceNow ディスカバリー アプリケーションでは、IBM Cloud Platform パターンを使用して、IBM Cloud Platform コンポーネント (Softlayer API v3、v 3.1、Bluemix API v2) を検索します。 これらのリソースを検出するには、ServiceNow Store から ディスカバリーとサービスマッピングパターン アプリケーションをアップデートする必要があります。
このパターンを Now Platform で使用するには、London パッチ 7、Madrid パッチ 2、またはそれ以降のリリースを使用します。

## ストアでアプリを要求する {#ibm-cloud-platform-discovery__section_gvb_cql_rlb}

[ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「[ServiceNow Storeバージョン履歴のリリースノート](https://www.servicenow.com/docs/bundle/store-release-notes/page/release-notes/store/sn-store-release-notes.html)」を参照してください。{#ibm-cloud-platform-discovery__inline-send-to-store}

## 必須条件 {#ibm-cloud-platform-discovery__section_xrh_4wz_ghb}

MID サーバー
:   クラウドディスカバリー専用 MID サーバー を使用します。MID サーバー には、16 コア、8 GB が搭載され、4 GB の Java Memory Model (JVM) メモリが割り当てられている必要があります。
:   インターネットアクセスで専用の MID サーバー を展開して接続します。

認証情報
:   クラウドリソースは IBM クラウドにあります。IBM アカウントにアクセスするための IBM 認証情報を作成します。  
    1. 移動先 ディスカバリー認証情報.
    2. \[新規\] をクリックします。
    3. \[IBM 認証情報\] をクリックしてフォームに入力します。  
       {#ibm-cloud-platform-discovery__table_gxd_ljv_2hb__entry__2}

       | フィールド | 説明 |
       |-|-|
       | 名前 | 認証情報名。例：<kbd class="ph userinput">ibm-cred</kbd>。 |
       | 順序 | プラットフォームでデバイスへのログオンを試行するときに、この認証情報を試行する順序。値が小さいほど、認証情報がリストの上位に表示されます。多くの認証情報を使用する場合、またはログイン試行が 3 回失敗してセキュリティによってユーザーがロックアウトされた場合、認証情報の順序を確立します。すべての認証情報の順序番号が同じであるか、または順序番号がない場合、インスタンスは認証情報をランダムな順序で試行します。デフォルト値は 100 です。 |
       | Softlayer API ユーザー | Softlayer API のユーザー名。Softlayer コンソールで定義された Softlayer API ユーザー名を使用します。 |
       | Softlayer API キー | Softlayer API のキー。Softlayer コンソールで定義された Softlayer API キーを使用します。 |
       | Bluemix API キー | Bluemix API のキー。IBM Cloud コンソールで定義された Bluemix API キーを使用します。 |
       [表 : 1. 認証情報フォーム]

       {#ibm-cloud-platform-discovery__table_gxd_ljv_2hb}
    4. \[送信\] をクリックします。
    {#ibm-cloud-platform-discovery__ol_exd_ljv_2hb}

IBM Cloud サービスアカウントの作成
: 前の手順で定義した認証情報を使用して、IBM Cloud サービスアカウントを作成します。  
1. 移動先 Cloud Provisioning and Governanceサービスアカウント.
2. \[新規\] をクリックします。
3. フォームのフィールドに入力します。  
   {#ibm-cloud-platform-discovery__table_l3l_fyx_hhb__entry__2}

   | フィールド | 説明 |
   |-|-|
   | 名前 | 認証情報名。例：<kbd class="ph userinput">ibm-snow</kbd> |
   | アカウント ID | IBM アカウント ID 名。IBM アカウント ID を入力します。 |
   | ディスカバリー 認証情報 | 以前に定義した ディスカバリー 認証情報。 |
   | データセンタータイプ | データセンタータイプ。例：<kbd class="ph userinput">IBM データセンター [cmdb_ci_ibm_datacenter]</kbd> |
   [表 : 2. クラウドサービスアカウントフォーム]

   {#ibm-cloud-platform-discovery__table_l3l_fyx_hhb}
4. \[送信\] をクリックします。
{#ibm-cloud-platform-discovery__ol_k3l_fyx_hhb}

サーバーなしディスカバリースケジュールの作成
:   サーバーなし ディスカバリー を構成します。

    1. Now Platformで、 ディスカバリーディスカバリースケジュール.
    2. \[新規\] をクリックします。
    3. フォームのフィールドに入力します。  
       {#ibm-cloud-platform-discovery__table_i3d_bzy_fhb__entry__2}

       | フィールド | 説明 |
       |-|-|
       | 名前 | このディスカバリースケジュールの名前。例：<kbd class="ph userinput">サーバーなしパターン</kbd> |
       | 検出 | 検出タイプ。\[サーバーなし\] を選択します。 |
       | MID サーバー | MID サーバー の名前。例：<kbd class="ph userinput">Discovery_Server</kbd> |
       | アクティブ | ディスカバリー でこのスケジュールを有効にするためのオプション。ディスカバリー を有効にするには、このチェックボックスをオンにします。 |
       | 実行 | ディスカバリースケジュールを実行する頻度を指定します。 |
       [表 : 3. ディスカバリースケジュールフォーム]

       {#ibm-cloud-platform-discovery__table_i3d_bzy_fhb}
    4. ディスカバリースケジュールフォームのヘッダーを右クリックし、\[保存\] を選択します。

    5. \[サーバーなし実行パターン\] タブをクリックします。
    6. \[新規\] をクリックします。
    7. フォームのフィールドに入力します。  
       {#ibm-cloud-platform-discovery__table_k3d_bzy_fhb__entry__2}

       | フィールド | 説明 |
       |-|-|
       | 名前 | このサーバーなし実行パターンの名前。例：<kbd class="ph userinput">IBM1</kbd> |
       | パターン | 実行するパターンの名前。 複数のパターンを実行する場合は、複数のレコードを作成します。 |
       | プロキシー ホスト | プロキシー サーバーをインストールするマシンの完全修飾ドメイン名。\[グローバル\] を指定します。 |
       | アクティブ | ディスカバリー でこのスケジュールを有効にするためのオプション。ディスカバリー を有効にするには、このチェックボックスをオンにします。 |
       [表 : 4. サーバーなし実行パターンフォーム]

       {#ibm-cloud-platform-discovery__table_k3d_bzy_fhb}
    8. IBM Cloud Platform パターンで必要となるパラメーターを次のように設定します。  
       {#ibm-cloud-platform-discovery__table_l3d_bzy_fhb__entry__2}

       | パラメーター | 説明 |
       |-|-|
       | cloud_cred_id | 設定に指定された IBM 認証情報の sys_id。 |
       | cloud_account_id | IBM アカウント ID。 |
       | cloud_datacenter_type | cmdb_ci_ibm_datacenter |
       [表 : 5. ディスカバリーパターンランチャーパラメーター]

       {#ibm-cloud-platform-discovery__table_l3d_bzy_fhb}
    9. \[更新\] をクリックします。
    10. ディスカバリーを開始するには、サーバーなしディスカバリー定義に移動して、\[今すぐ検出\] をクリックします。
    {#ibm-cloud-platform-discovery__ol_txj_x31_hhb}

IBM フロー：水平ディスカバリー
:
    * サーバーなしスケジュールを使用して検出を実行するには、選択された IBM Cloud プラットフォームパターンを実行し、IBM Cloud プラットフォームリソースを検出します。
    * サービスアカウントを使用して検出を実行するには、完全な IBM Cloud プラットフォームディスカバリースケジュールを実行し、サポートされているすべての IBM Cloud プラットフォームリソースを検出します。
    {#ibm-cloud-platform-discovery__ul_hfd_mzx_khb}

クラウドカスタム操作
:   クラウド REST -- コンテキストに応答を追加  
    大規模な応答と効率的なメモリ使用をサポートするクラウド REST クエリの操作。

    * \[応答変数名 (Response Variable Name)\] フィールドで設定されている応答のテーブルを指定する場合を除き、クラウド REST クエリのカスタム操作と同じ値を持つすべてのフィールドを指定します。

    * \[解析を定義\] を \[なし\] に設定します。
    {#ibm-cloud-platform-discovery__ul_mdn_wj5_lhb}

:   IBM アカウントのデータを取得するメソッド

    1. 移動先 パターンデザイナーカスタム運用.

    2. \[クラウド REST -- コンテキストに応答を追加\] をクリックします。

    {#ibm-cloud-platform-discovery__ol_nlw_wp5_lhb}

    メソッド：Get コール

    データの取得に使用される API URL：  
    * ロードバランサー https://api.softlayer.com/rest\<api_version\>/SoftLayer_Network_LBaaS_LoadBalancer/getAllObjects?objectMask=mask\[listeners\[defaultPool\],members,healthMonitors\]
    * ネットワーク https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getNetworkVlans?objectMask=mask\[primaryRouter.datacenter,name,id,vlanNumber,networkSpace\]
    * ネットワーク https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getSubnets?objectMask=mask\[datacenter\]
    * ネットワーク https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getSecurityGroups?objectMask=mask\[rules\]
    * 組織およびスペース https://api.\<region\>.bluemix.net/v2/organizations
    * https://api.\<region\>.bluemix.net/v2/spaces
    * SSH キー https://api.softlayer.com/rest/v3/SoftLayer_Account/SoftLayer_Account/getSshKeys
    * ストレージ https://api.softlayer.com/rest/\<api_version\>/SoftLayer_Account/getNetworkStorage
    * 仮想サーバー https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getSecurityGroups
    * http://api.softlayer.com/rest/v3.1/SoftLayer_Account/getSecurityGroups?objectMask=mask\[id,name,networkComponentBindings\[networkComponentId,networkComponent\[networkId,guest\[fullyQualifiedDomainName,hostname,id,datacenter\[name\]\]\]\]\]
    * https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getVirtualGuests?objectMask=mask\[hostname,domain,powerState,fullyQualifiedDomainName,notes,id,statusId,placementGroupId,sshKeys\[label,key,id,fingerprint,createDate,modifyDate,notes\],primaryBackendIpAddress,primaryIpAddress,networkVlans\[id,name,note,vlanNumber\],blockDeviceCount,blockDevices\[device,diskImageId,mountType,guestId,id,mountMode\],allowedNetworkStorage\[id,fileNetworkMountAddress,iscsiTargetIpAddresses,nasType,username,serviceResourceBackendIpAddress\],maxCpu,maxMemory,datacenter,networkComponentCount,regionalGroup,datacenter,location,operatingSystem\[id,softwareDescription\[id,name,longDescription,manufacturer,referenceCode,version\]\],networkComponents\[guestId,id,port,name,primarySubnet\[networkIdentifier,id,networkVlan\[id\]\],status,macAddress,primaryIpAddress\]\]
    {#ibm-cloud-platform-discovery__ul_gvs_kv3_hkb}

EVAL 関数

:   次の EVAL 関数を使用して、ロードバランサー API 応答を完全な JSON 形式に変換します。デフォルトの応答の形式は、「\[\<リソースオブジェクト\>\]」に設定されています。

        var cloud_lb_response = ${cloud_lb_response};
        for (var i = 0; i < cloud_lb_response.size(); i++){
              cloud_lb_response.set(i, '{"result":[' + cloud_lb_response.get(i) + ']}');
        }
        CTX.setAttribute("cloud_lb_response", cloud_lb_response;

    次の EVAL 関数を使用して、ネットワーク API 応答を完全な JSON 形式に変換します。デフォルトの応答の形式は、「\[\<リソースオブジェクト\>\]」に設定されています。  

        var network_response = ${network_response};
        for (var i = 0; i < network_response.size(); i++){
              network_response.set(i, '{"result":[' + network_response.get(i) + ']}');
        }
        CTX.setAttribute("network_response", network_response);

    次の EVAL 関数を使用して、LB アベイラビリティゾーン (データセンター) から IBM リージョンを取得します。パターン内の他のリソースにも同じ関数が使用されます。  

        var res = "";
        res = IbmCloudDcToRegion.convertDctoRegion(${cloud_lb[].cloud_lb_az_short_name});

    次の EVAL 関数を使用して、パターン内で必要なアルゴリズムを選択します。  

        var rtrn
        var lb_algorithm = ${cloud_lb_pools[].lb_algorithm}.toString();
        switch (lb_algorithm){  
           case "ROUNDROBIN":
              lb_algorithm = "round-robin";
              break;    
           case "WEIGHTED_RR":
              lb_algorithm = "round-robin";
              break;          
           case "LEASTCONNECTION":
              lb_algorithm = "least-connections";
              break;     
           default: break;

    次の EVAL 関数を使用して、組織とそれに対応するスペースをホストするアカウントに対して一意のリージョンを解析します。  

        var tableWithoutDuplicates = '';
        tableWithoutDuplicates =  DuplicateRemover.removeDuplicates(${account_region},["region_name"]);
        CTX.setAttribute("account_region_unique",  tableWithoutDuplicates);

    次の EVAL 関数を使用して、IBM クラウドアカウントにアサインされているすべての組織の情報を取得します。ここでは、一意のリージョンを取得する反復処理が実行されます。  

        var cloudcall = new CloudRestAPIClient();
        var resourceTable = ${account_region_unique[*].region_name};
        var tableSize = resourceTable.size();                                     
        var tmp_response = new Packages.java.util.ArrayList();
        var all_organizations_response = new Packages.java.util.ArrayList();
        for (var i = 0; i < tableSize ; i++){
           if  (!resourceTable.get(i)) continue;
           var url = "https://api."+resourceTable.get(i)+".bluemix.net/v2/organizations";
           tmp_response = cloudcall.arrayListExecute(${service_account}, null, url, null, 'GET', null, 'true', CTX);
           
           for (var j = 0; j < tmp_response.size(); j++){
              all_organizations_response.add('{"result":[' + tmp_response.get(j) + ']}');
           }
        }
        CTX.setAttribute("all_organizations_response", all_organizations_response);

    次の EVAL 関数を使用して、IBM クラウドアカウントにアサインされているすべてのスペースの情報を取得します。ここでは、一意のリージョンを取得する反復処理が実行されます。  

        var rtrn = '';
        var cloudcall = new CloudRestAPIClient();
        var resultList = new Packages.java.util.ArrayList();
        var rest = '';
        var resourceTable = ${account_region_unique[*].region_name};
        var result = new Packages.java.util.ArrayList();
        var all_organizations_response = ${all_organizations_response}
        for (var i = 0; i < resourceTable.size() ; i++){
           var url = "https://api."+resourceTable.get(i)+".bluemix.net/v2/spaces";
           result = cloudcall.arrayListExecute(${service_account}, null, url, null, 'GET', null, 'true', CTX);
           for (var z = 0; z < all_organizations_response.size(); z++){
              var jsonObj = JSON.parse(result.get(z));
              ms.log("length "+jsonObj.resources.length);
        for(var j=0;j<jsonObj.resources.length;j++){
                 var guid = jsonObj.resources[j].metadata.guid;
                 var url = jsonObj.resources[j].metadata.url;
                 var name = jsonObj.resources[j].entity.name;
                 var organization_guid = jsonObj.resources[j].entity.organization_guid;
                 var allow_ssh = jsonObj.resources[j].entity.allow_ssh ? "true" : "false";
                 var row = new Packages.java.util.HashMap();
         Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug(">>>>>>>>>>>>>||||||||||||>>>>>> region alias=" + resourceTable.get(i)); 
                 Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug(">>>>>>>>>>>>>||||||||||||>>>>>> region full name=" + IbmCloudDcToRegion.regionNamebyAlias(resourceTable.get(i))); 
                 row.put("region", IbmCloudDcToRegion.regionNamebyAlias(resourceTable.get(i)));
                 row.put("space_guid",guid);
                 row.put("space_url",url);
                 row.put("space_name",name);
                 row.put("space_organization_guid",organization_guid);
                 row.put("space_allow_ssh",allow_ssh);
                 row.put("rest", rest);
                 resultList.add(row);
              }
           }
           CTX.setAttribute('spaces_table', resultList);
        }
             
    次の EVAL 関数を使用して、一意のリージョンに基いてすべてのスペースをフィルタリングします。  

        var space_region = ${spaces_table[].region};

        Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug("filtering space according to LDC. space_region=" + space_region);
        var regions = ${cmdb_ci_ibm_datacenter[*].region};
        Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug("input regions list=" + regions.toString());

        var rtrn = "false";
        if(regions.contains(space_region)) {
            rtrn = "true";
        }
        rtrn;

    次の EVAL 関数を使用して、ストレージ検出に基いてすべてのスペースをフィルタリングします。  

        var storage_response = ${storage_response};
        for (var i = 0; i < storage_response.size(); i++){
              storage_response.set(i, '{"result":[' + storage_response.get(i) + ']}');
        }
        CTX.setAttribute("storage_response", storage_response);

    変更されない応答は「\[\<リソースオブジェクト\>\]」という形式であるため、次の EVAL 関数を使用して、API 応答を完全な JSON 形式に変換します。  

        var ssh_key = ${ssh_key_json};
        for(var i = 0; i < ssh_key.size(); i++){
           ssh_key.set(i,'{"result\" : ' + ssh_key.get(i) + "}");
        }
        CTX.setAttribute("ssh_key_json", ssh_key);

    次の EVAL 関数を使用して、アベイラビリティゾーンをストレージボリュームテーブルに入力します。  

        var rtrn;
        var resource_group = ${network_storage[].resource_name};
        var regex = /.*-(\w{3}\d{2}).*/;
        var az_name = regex.exec(resource_group);
        if (az_name) {
           rtrn = az_name[1];
        } else {
           rtrn;
        }

    次の EVAL 関数を使用して、リージョンをストレージボリュームテーブルに入力します。  

        var res = "";
        res = IbmCloudDcToRegion.convertDctoRegion(${network_storage[].availability_zone});

    次の EVAL 関数を使用して、ストレージのサイズをギガバイトからバイトに変換します。  

        var rtrn = '';

        var size = ${network_storage[].size};

        rtrn = (parseInt(size) * 1073741824) + '';

    次の EVAL 関数を使用して、ストレージのサイズをギガバイトからバイトに変換します。  

        var cloudcall = new CloudRestAPIClient();
        var resourceTable = ${network_storage[*].storage_object_id};
        var tableSize = resourceTable.size();
        var allResources = new Packages.java.util.ArrayList();
        var response = new Packages.java.util.ArrayList();
        for (var i = 0; i < tableSize ; i++){
           if  (!resourceTable.get(i)) continue;
           var url = "https://api.softlayer.com/rest/"+${api_version}+"/SoftLayer_Network_Storage/"+resourceTable.get(i)+"/getObject?objectMask=mask[snapshots]";
           // the commented out code is to call the "Cloud Rest Call" API
           
           allResources = cloudcall.arrayListExecute(${service_account}, null, url, null, 'GET', null, 'true', CTX);
           for (var j = 0; j < allResources.size(); j++){
              response.add('{"result":[' + allResources.get(j) + ']}');
           }
        }
        CTX.setAttribute("all_snapshots_response", response);

    次の EVAL クロージャを使用して、API から受信した JSON を JSON パーサーで使用できる形式に変換します。デフォルトの JSON は `$vm _json_array` に保存されていますが、新しい JSON は `$vm _json` に保存されます。  

        var vm_json = new Packages.java.util.ArrayList();
        vm_json.addAll(${vm_json_array});

        for (var i = 0 ; i < vm_json.size(); i++){
              vm_json.set(i, '{\"result\":[' + vm_json.get(i) + ']}');
        }

        CTX.setAttribute("vm_json", vm_json); 

    次の EVAL クロージャを使用して、電源ステータスが「オン」である場合は、「on」を返します。電源ステータスが「オフ」の場合は、値「off」が返されます。  

        var power = ${cmdb_ci_vm_instance[].state};
        var rtrn = '';

        if (power == 'Running'){
           rtrn = "on";
        }
        else {
           rtrn = "off"
        } 

    次の EVAL クロージャを使用して、指定されたアベイラビリティゾーン名に基づいて CI のリージョンを返します。  

        var az = ${cmdb_ci_vm_instance[].avail_zone};
        var rtrn = '';
        rtrn = IbmCloudDcToRegion.convertDctoRegion(az);

    次の EVAL クロージャを使用して、HashSets の HashMap をビルドし、VM をネットワークストレージに接続します。次のキーが使用されます。

    * P = ページ
    * V = VM
    * N = ネットワークストレージ
    {#ibm-cloud-platform-discovery__ul_vdf_j2v_lhb}  

        var rtrn = '';
        var vmJson = ${vm_json_array};
        var VMtoStorageHashMap = new Packages.java.util.HashMap();

        for (var p = 0 ; p < vmJson.size(); p++){
           var page = JSON.parse(vmJson.get(p));
           for (var now_V in page){
              if (page[v].allowedNetworkStorage.length > 0){
                 var vm_id = page[v].id + '';
                 var storageSet = new Packages.java.util.HashSet();
                 for (var n in page[v].allowedNetworkStorage){
                    storageSet.add(page[v].allowedNetworkStorage[n].id + '');
                 }
                 VMtoStorageHashMap.put(vm_id,storageSet);
              }
           }
        }
        CTX.setAttribute("VMStorageCache", VMtoStorageHashMap); 

    次の EVAL クロージャを使用して、テーブルから重複エントリを削除します。  

        var tableWithoutDuplicates = '';
        tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${cmdb_ci_os_template},["object_id"]);
        CTX.setAttribute("cmdb_ci_os_template", tableWithoutDuplicates);

    次の EVAL クロージャを使用して、現在のセキュリティグループ ID に関連する VM ID のリストを作成します。  

        var rtrn = '';
        //get the Security Group ID of the current record in the table for comparison
        var current_table_id = ${security_groups[].sec_group_id};
        var current_table_id_string = current_table_id + '';

        // get the list of instance's ID that will be then added to Security Group table
        var needed_value_id_list = ${sec_group_network_components[*].vm_instance_id};
        //get the list of Security Group IDs in the Network Component table, which will then be compared one by one to the current record of the security_groups table
        var compare_id_list = ${sec_group_network_components[*].sec_group_id};

        var beforeReturn = '';
        var separator = '';
        for (var i = 0; i <  compare_id_list.size(); i++)   {
           
           if   (current_table_id_string == compare_id_list.get(i)){
              
              beforeReturn += separator + needed_value_id_list.get(i);
              separator = ',';
           }
        }
        rtrn = beforeReturn;

    次の EVAL クロージャを使用して、セキュリティグループとそれを使用するように設定された VM の間で HashSet の HashMap をビルドします。  

        rtrn = '';
        var secGroupTable = ${cmdb_ci_endpoint_comp_security};
        var secToVMHashSet = new Packages.java.util.HashMap();

        // this loop worst case O(N*M) M = security groups, N = VMs
        for(var i=0; i<secGroupTable.size(); i++){
           var securityTableId = secGroupTable.get(i).get('object_id');
           var vmListStr = secGroupTable.get(i).get('instance_list');
           var vmList = vmListStr.split(",");

           var vmSet = new Packages.java.util.HashSet();
           for (var j in vmList){
              vmSet.add(vmList[j]);
           }

           secToVMHashSet.put(securityTableId,vmSet);
        }
        CTX.setAttribute("securityVMCache",  secToVMHashSet);

    次の EVAL クロージャを使用して、現在の VM が現在のセキュリティグループ ID を使用している場合は「true」を返します。  

        var rtrn = '';
        var vm_id = ${cmdb_ci_vm_instance[].object_id};
        var vmHashSet = ${securityVMCache}.get(${cmdb_ci_endpoint_comp_security[].object_id});
        rtrn = vmHashSet.contains(vm_id);

    次の EVAL クロージャを使用して、現在の VM が現在のストレージボリュームを使用している場合は「true」を返します。  

        var rtrn = '';
        var vm_id = ${cmdb_ci_vm_instance[].object_id};
        var vol_id = ${cmdb_ci_endpoint_iscsi[].object_id};
        var vmHashSet = ${VMStorageCache}.get(vm_id);
        if (vmHashSet){
           rtrn = vmHashSet.contains(vol_id);
        }
        else {
           rtrn = 'false'
        }

    変更されない応答は「\[\<リソースオブジェクト\>\]」という形式であるため、次の EVAL 関数を使用して、API 応答を完全な JSON 形式に変換します。

        var cloud_response = ${location_groups_response}
        for (var i = 0; i < cloud_response.size(); i++){
            cloud_response.set(I, '{"result":[' + cloud_response.get(i) + ']}');
        }
        CTX.setAttribute("location_groups_response", cloud_response);

    列「lg_id」に基づいて「location_groups_az」テーブル内の一意のロケーショングループを解析し、その結果を格納する新しいテーブル「location_groups_az_unique」を作成します。

        var tableWithoutDuplicates= '';
        tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${location_groups_az},["lg_id"]);
        CTX.setAttribute("location_groups_az_unique", tableWithoutDuplicates);

    ロケーショングループごとのアベイラビリティゾーンのリストを作成します。このリストは、location_groups_az_uniquetable 内の新しい列に保存されます。リストレコードはカンマで区切られているため、連続的な手順で一意の関係性を作成できます。

        var current_table_id= ${location_groups_az_unique[].lg_id};
        var current_table_id_string = current_table_id+ '';
        var needed_v alue_id_list = ${location_groups_az[*].lg_az_id};
        var compare_id_list= ${location_groups_az[*].lg_id};
        var beforeReturn= '';
        var separator = ',';
        for (var i= 0; i< compare_id_list.size(); i++)  {
            if (current_table_id_string == compare_id_list.get(i)){
            beforeReturn += separator + needed_v alue_id_list.get(i) + separator;
          }
        }
        rtrn = beforeReturn;

クラウド関連 CI 関係の有効化
:   検出されたコンポーネントをアプリケーションサービスに含めるには、サービスマッピング によるタグベースのディスカバリーで使用される CI 関係を有効にします。これらの CI 関係は、ServiceNow Store の 1.0.68 リリースから利用可能です。操作手順については「[タグベースのディスカバリーの構成](https://servicenow-prod.fluidtopics.net/pU4NHRwyspLbEGtm1mBVog "デフォルト構成を微調整して、タグベースのディスカバリー処理中にどの CI の サービスマッピング をアプリケーションサービスに含めるかを制御します。")」を参照してください。

## 水平ディスカバリー中に ディスカバリー によって収集されるデータ {#ibm-cloud-platform-discovery__section_zdq_vwz_ghb}

データは、次のパターンを使用して収集されます。

* IBM Cloud ロードバランサー
* IBM Cloud ロケーショングループ
* IBM Cloud Network
* IBM Cloud 組織およびスペース
* IBM Cloud リソースグループ
* IBM Cloud SSH キー
* IBM Cloud ストレージ
* IBM Cloud 仮想サーバー
{#ibm-cloud-platform-discovery__ul_pmq_bnt_3hb}  
IBM コンポーネントについて収集されるデータ：

IBM Cloud ロードバランサー検出リソース
:   {#ibm-cloud-platform-discovery__table_o21_dlv_2hb__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_cloud_load_balancer ||
    | name | ロードバランサー名。 |
    | object_id | ロードバランサーの一意の識別子。 |
    | fqdn | ロードバランサーのアドレス (ホスト名)。 |
    | dns_name | ロードバランサーのドメインサーバー名。 |
    | short_description | 簡単に識別できるように入力したロードバランサーの説明。 |
    | operational_status | ロードバランサーのステータス。次のいずれかになります。 * ONLINE * OFFLINE {#ibm-cloud-platform-discovery__ul_kqp_xwv_jhb} |
    | location | データセンターの場所。 |
    | state | ロードバランサーのプロビジョニングステータス。 |
    | 関連 CI：cmdb_ci_lb_service ||
    | name | パターン作成名。以下で構成されます。 * ロードバランサー名 * プロトコルのタイプ * リソースタイプリスナー {#ibm-cloud-platform-discovery__ul_bwh_l5x_khb} |
    | object_id | ロードバランサーの一意の識別子。 |
    | port | リスナーのポート番号。 |
    | front_end_port | リスナーのプロトコルポート番号。 |
    | listener_protocol | リスナーのプロトコル。次のいずれかのプロトコルになります。 * TCP * HTTP * HTTPS {#ibm-cloud-platform-discovery__ul_c2c_5wt_3hb} |
    | operational_status | リスナーのプロビジョニングステータス。 |
    | 関連 CI：cmdb_ci_lb_pool ||
    | name | パターン作成名。以下で構成されます。 * ロードバランサー名 * プロトコルのタイプ * port * リソースタイプ「pool」 {#ibm-cloud-platform-discovery__ul_aqn_r1y_khb} |
    | object_id | ロードバランサープールの一意の識別子。 |
    | port | バックエンドのプロトコルポート。 |
    | pool_status | ロードバランサープールのプロビジョニングステータス。 |
    | load_balancing_method | 負荷分散方法。次のいずれかのアルゴリズムになります。 * 「ROUNDROBIN」 * 「WEIGHTED_RR」 * 「LEASTCONNECTION」 {#ibm-cloud-platform-discovery__ul_f4f_rzt_3hb} |
    | 関連 CI：cmdb_ci_lb_pool_member ||
    | name | パターン作成名。以下で構成されます。 * ロードバランサー名 * プロトコルのタイプ * プールメンバーの IP アドレス {#ibm-cloud-platform-discovery__ul_bxl_5cy_khb} |
    | object_id | ロードバランサープールメンバーの一意の識別子。以下で構成されます。 * メンバー ID * リスナー ID {#ibm-cloud-platform-discovery__ul_tkx_xcy_khb} |
    | ip_address | ロードバランサーメンバーの IP アドレス。 |
    | server_id | IBM Cloud のメンバーの ID。 |
    | load_balancer | 関連するロードバランサーの名前。 |
    | 関連 CI：cmdb_ci_lb_health_service ||
    | name | パターン作成名。以下で構成されます。 * ロードバランサー名 * プロトコルのタイプ * リソースタイプ：健全性チェック * リソース ID {#ibm-cloud-platform-discovery__ul_k2w_1dy_khb} |
    | object_id | 健全性サービスチェックの一意の識別子。 |
    | monitor_type | 健全性チェックタイプ。次のいずれかになります。 * TCP * HTTP * HTTPS {#ibm-cloud-platform-discovery__ul_epn_lb5_3hb} |
    | timeout_sec | 健全性チェック応答を待機する場合のタイムアウト (秒)。 |
    | check_interval_sec | 健全性チェックを実行する間隔 (秒)。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_o21_dlv_2hb}

IBM Cloud ロケーショングループ検出リソース
:   {#ibm-cloud-platform-discovery__table_location_groups__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_cloud_location_group ||
    | name | ロケーショングループの識別に使用されるわかりやすい名前。 |
    | object_id | ロケーショングループレコードの ID。 |
    | locationGroupType 名 | ロケーショングループタイプの名前。 |
    | short_description | 自身の判断で使用するロケーショングループに関する簡単なメモ。 |
    | locationGroup タイプ ID | ロケーショングループタイプの ID。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_location_groups}

IBM Cloud ネットワークディスカバリーリソース
:   {#ibm-cloud-platform-discovery__table_wlf_ybx_jhb__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_network ||
    | name | VLAN 番号。 |
    | object_id | ネットワークの一意の識別子。 |
    | access_port_vlan | VLAN 番号。 |
    | is_external | ネットワークスペース値。値は次のいずれかです。 * network_space が「PUBLIC」である場合は true * network_space が「PRIVATE」である場合は false {#ibm-cloud-platform-discovery__ul_sz1_tjx_jhb} |
    | state | ステータスの値は「利用可能」です。 |
    | 関連 CI：cmdb_ci_cloud_subnet ||
    | name | 名前。「network_identifier/cidr」で構成されます。 |
    | object_id | サブネットの一意の識別子。 |
    | subnet_mask | サブネットのネットマスク。 |
    | gateway | ゲートウェイ IP アドレス。 |
    | cidr | IP アドレスおよび IP ルーティングを割り当てる方式：「network_identifier/cidr」。 |
    | category | サブネットタイプ。 |
    | broadcast_address | サブネットブロードキャストアドレス。 |
    | available_ip_count | サブネットで利用可能な IP アドレスの数。 |
    | 関連 CI：cmdb_ci_compute_security_group ||
    | name | セキュリティグループ名。 |
    | object_id | セキュリティグループの一意の識別子。 |
    | short_description | 簡単に識別できるように入力したセキュリティグループの説明。 |
    | 関連 CI：cmdb_ci_compute_security_group_rule ||
    | name | セキュリティグループルールの object_id フィールドと同じ値を持つフィールド。 |
    | object_id | セキュリティグループルールの一意の識別子。 |
    | created | CI が作成された日付。 |
    | direction | 情報の方向。次のいずれかになります。 * 受信 * 送信 {#ibm-cloud-platform-discovery__ul_zqw_vny_jhb} |
    | Ethertype | Ethertype。次のいずれかになります。 * IPv4 * IPv6 {#ibm-cloud-platform-discovery__ul_jyf_zny_jhb} |
    | port_range_min | ルールが適用される範囲の最初のポート。 |
    | port_range_max | ルールが適用される範囲の最後のポート。 |
    | protocol | ルールが適用されるプロトコル。 |
    | remote_group_id | ソース/宛先セキュリティグループのセキュリティグループ ID。これは、このセキュリティグループ内に設定されたすべての IP アドレスに、このルールが適用されることを意味します。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_wlf_ybx_jhb}

IBM Cloud 組織およびスペース検出リソース
:   {#ibm-cloud-platform-discovery__table_vbc_2cx_jhb__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_cloud_org ||
    | name | クラウド組織の名前。 |
    | guid | 組織の一意の識別子。 |
    | URL | 組織の一意の URL。 |
    | billing_enabled | 組織で使用している請求方法。次のいずれかになります。 * 有効/(TRUE) * 無効/(FALSE) {#ibm-cloud-platform-discovery__ul_ngl_rpy_jhb} |
    | quota_definition_url | 組織で利用可能なリソース。 |
    | spaces_url | 組織に割り当てられたスペースの一意の URL。 |
    | operational_status | 組織の運用ステータス。 |
    | 関連 CI：cmdb_ci_cloud_space ||
    | name | スペースの一意の名前。 |
    | object_id | スペースの一意の識別子 (guid)。 |
    | alllow_ssh | SSH 経由のアプリケーションへのアクセスが許可されているか、許可されていないか。ブール値。次のいずれかになります。 * TRUE * FALSE {#ibm-cloud-platform-discovery__ul_dmk_yzn_lhb} |
    | URL | メタデータ記述からのスペースの URL。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_vbc_2cx_jhb}

IBM Cloud リソースグループ検出リソース
:   {#ibm-cloud-platform-discovery__table_ezd_1k1_xhb__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_resource_group ||
    | name | リソースグループの名前。 |
    | object_id | リソースグループの一意の識別子。 |
    | quota_id | リソースグループに関連付けられているクォータ ID を示す値。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_ezd_1k1_xhb}

IBM Cloud SSH キー検出リソース
:   {#ibm-cloud-platform-discovery__table_v5p_tdx_jhb__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_cloud_key_pair ||
    | name | SSH キーを識別するための名前。 |
    | object_id | SSH キーレコードの ID。 |
    | key | SSH キーレコード。 |
    | finger_print | 長い SSH キーの認証またはルックアップに使用される短いバイトシーケンス。この値は、SSH キーの追加または変更時に自動的に生成されます。読み取り専用。行われた変更は無視されます。 |
    | created _date | SSH キーが追加された日付。読み取り専用。行われた変更は無視されます。 |
    | modify_date | SSH キーが修正された日付。読み取り専用。行われた変更は無視されます。 |
    | short_description | 簡単に識別できるように入力した SSH の説明。 |
    | 関連 CI：cmdb_ci_ibm_datacenter ||
    | name | データセンターの名前。 |
    | region | データセンターがあるリージョン。 |
    | discovery_status | IBM データセンターに関するステータス情報。 |
    | sys_class_name | データセンターのクラス。 |
    | 関連 CI：cmdb_ci_cloud_service_account ||
    | name | クラウドサービスアカウントの名前。 |
    | account_id | このクラウドサービスアカウントのアカウント ID。 |
    | discovery_credentials | このクラウドサービスアカウントの認証情報。 |
    | datacenter_url | 論理データセンター (LDC) を入力するために使用する URL。 |
    | datacenter_type | データセンターのタイプ。例：IBM データセンター \[cmdb_ci_ibm_datacenter\] |
    | datacenter_discovery_status | 前回実行した「データセンターを検出」のステータス。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_v5p_tdx_jhb}

IBM Cloud ストレージ検出リソース
:   {#ibm-cloud-platform-discovery__table_zd3_wdx_jhb__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_storage_volume ||
    | name | 次の目的に使用されるユーザー名： * EVault でないストレージボリュームにアクセスするため * EVault サーバーエージェントをボールトバックアップシステムに登録するため {#ibm-cloud-platform-discovery__ul_cjk_4gd_khb} |
    | object_id | ストレージアカウントの一意の識別子。 |
    | size | ストレージアカウントの容量 (GB)。 |
    | size_bytes | ストレージアカウントの容量 (バイト)。 |
    | label | ストレージネットワークリソースの名前。 |
    | storage_type | ストレージタイプの説明。例：NAS。 |
    | fqdn | ストレージリソースの IP アドレスまたは完全修飾ドメイン名。 |
    | device | ストレージボリュームに関連付けられたデバイスの一意の識別番号。 |
    | 関連 CI：cmdb_ci_storage_vol_snapshot ||
    | name | ストレージネットワークリソースの名前。 |
    | object_id | ストレージの一意の識別子。 |
    | capacity | スナップショットボリュームの容量 (GB)。 |
    | fqdn | ストレージリソースの IP アドレスまたは完全修飾ドメイン名。 |
    | location | ストレージボリュームが配置されている一意のアベイラビリティゾーン。 |
    | 関連 CI：cmdb_ci_ibm_datacenter ||
    | name | データセンターの名前。 |
    | region | データセンターがあるリージョン。 |
    | discovery_status | IBM データセンターに関するステータス情報。 |
    | sys_class_name | データセンターのクラス。 |
    | 関連 CI：cmdb_ci_cloud_service_account ||
    | name | クラウドサービスアカウントの名前。 |
    | account_id | このクラウドサービスアカウントのアカウント ID。 |
    | discovery_credentials | このクラウドサービスアカウントの認証情報。 |
    | datacenter_url | LDC を入力するために使用する URL。 |
    | datacenter_type | データセンターのタイプ。例：IBM データセンター \[cmdb_ci_ibm_datacenter\] |
    | datacenter_discovery_status | 前回実行した「データセンターを検出」のステータス。 |
    | 関連 CI：cmdb_ci_availability_zone ||
    | name | アベイラビリティゾーン (AZ) の名前。 |
    | object_id | このリソースの一意の識別子。 |
    | short_description | 入力したアベイラビリティゾーンの説明。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_zd3_wdx_jhb}

IBM Cloud 仮想サーバー検出リソース
:   {#ibm-cloud-platform-discovery__table_njj_ydx_jhb__entry__2}

    | フィールド | 説明 |
    |-|-|
    | メイン CI：cmdb_ci_vm_instance ||
    | name | VM の名前。 |
    | object_id | VM の一意の識別子。 |
    | dns_domain | VM ドメインサーバー名。 |
    | fqdn | VM の IP アドレス。 |
    | short_description | IBM コンソール上の VM に添付されているメモに記されている説明。 |
    | cpu | この VM に割り当てられた CPU コア数。 |
    | memory | この VM に割り当てられたメモリサイズ。 |
    | disks | この VM に割り当てられたディスク数。 |
    | state | VM の実行中のステータス。 * On：API から「実行中」として返されます。 * Off：API から「停止」として返されます。 {#ibm-cloud-platform-discovery__ul_dyp_xt4_n3b} |
    | placement_group_id | 配置グループ ID。 |
    | nics | NIC の数。 |
    | 関連 CI：cmdb_ci_nic ||
    | name | 名前。以下で構成されます。 * ロードバランサー名 * ポート {#ibm-cloud-platform-discovery__ul_bxv_2dy_khb} |
    | object_id | NIC の一意の識別子。 |
    | ip_address | NIC で設定されている IP。 |
    | mac_address | NIC の MAC の詳細。 |
    | netmask | IP アドレスをサブネットに分割し、ネットワーク内で利用可能なホストを指定するために使用されるマスク。 |
    | status | NIC のステータス。 |
    | 関連 CI：cmdb_ci_endpoint_vnic ||
    | name | VNIC エンドポイントの名前。 |
    | object_id | VNIC エンドポイントの一意の識別子。 |
    | host | ホストの識別子。 |
    | 関連 CI：cmdb_ci_storage_volume ||
    | name | 次の目的に使用されるユーザー名： * EVault でないストレージボリュームにアクセスするため * EVault サーバーエージェントをボールトバックアップシステムに登録するため {#ibm-cloud-platform-discovery__ul_j1n_ktd_khb} |
    | object_id | ストレージアカウントの一意の識別子。 |
    | size | ストレージアカウントの容量 (GB)。 |
    | size_bytes | ストレージアカウントの容量 (バイト)。 |
    | label | ストレージネットワークリソースの名前。 |
    | storage_type | ストレージタイプの説明。例：NAS。 |
    | fqdn | ストレージリソースの IP アドレスまたは完全修飾ドメイン名。 |
    | device | ストレージボリュームに関連付けられたゲストの一意の識別番号。 |
    | 関連 CI：cmdb_ci_endpoint_nfs ||
    | name | NFS エンドポイントの名前。 |
    | host | ホストの識別子。 |
    | protocol | 適用されたプロトコル。 |
    | type | NFS エンドポイントタイプ。 |
    | created | NFS エンドポイントが作成された日付。 |
    | updated | NFS エンドポイントが更新された日付。 |
    | discovery_source | ディスカバリーのソース。例：ServiceWatch |
    | host_name | NFS エンドポイントのホスト名 |
    | 関連 CI：cmdb_ci_endpoint_iscsi ||
    | host | ISCSI エンドポイントのホスト識別子。 |
    | port | GCP iSCSI と VM との接続方法を決定するポート。 |
    | protocol | 適用されたプロトコル。 |
    | type | ISCSI エンドポイントタイプ |
    | created | ISCSI エンドポイントが作成された日付。 |
    | updated | ISCSI エンドポイントが更新された日付。 |
    | discovery_source | ディスカバリーのソース。例：ImportSet |
    | host_name | ISCSI エンドポイントのホスト名 |
    | 関連 CI：cmdb_ci_endpoint_block ||
    | name | ブロックエンドポイントの名前。 |
    | object_id | ブロックエンドポイントの一意の識別子。 |
    | host | ホストの識別子。 |
    | 関連 CI：cmdb_ci_os_template ||
    | name | イメージの名前。例：「CentOS 7.0-64 Minimal for VSI」。 |
    | object_id | イメージの一意の識別子。 |
    | memory_mb | イメージで使用される OS。例：Linux。 |
    | root_device_type | ルートで使用されるデバイスのタイプ。 |
    | image_source | イメージのソース。 |
    | image_type | イメージのタイプ。 |
    | infuse_key | イメージの注入に使用されるキー。 |
    | update_host_name | イメージの更新ホスト名。 |
    | credentials | イメージの認証情報。 |
    | バージョン | OS バージョン。例：「7.0-64 Minimal for VSI」。 |
    | 関連 CI：cmdb_ci_cloud_key_pair ||
    | name | キー (キーラベル) を識別する名前。 |
    | object_id | キーレコードの ID。 |
    | key | キーレコード。 |
    | finger_print | キーの認証またはルックアップに使用される短いバイトシーケンス。この値は、キーの追加または変更時に自動的に生成されます。読み取り専用。行われた変更は無視されます。 |
    | created _date | キーが追加された日付。読み取り専用。行われた変更は無視されます。 |
    | modify_date | キーが修正された日付。読み取り専用。行われた変更は無視されます。 |
    | short_description | 簡単に識別できるように入力した説明。 |
    | 関連 CI：cmdb_ci_compute_security_group ||
    | name | セキュリティグループ名。 |
    | object_id | セキュリティグループの一意の識別子。 |
    | short_description | 簡単に識別できるように入力したセキュリティグループの説明。 |
    | 関連 CI：cmdb_ci_endpoint_comp_security ||
    | host | CPU セキュリティエンドポイントのホスト識別子。 |
    | port | CPU セキュリティエンドポイントの一意の識別子。 |
    | protocol | 適用されたプロトコル。 |
    | type | CPU セキュリティエンドポイントのタイプ |
    | created | CPU セキュリティエンドポイントが追加された日付。読み取り専用。行われた変更は無視されます。 |
    | updated | CPU セキュリティエンドポイントが変更された日付。読み取り専用。行われた変更は無視されます。 |
    | discovery_source | ディスカバリーのソース。例：手動入力。 |
    | host_name | CPU セキュリティエンドポイントのホスト名。 |
    | 関連 CI：cmdb_ci_ibm_datacenter ||
    | name | データセンターの名前。 |
    | region | データセンターがあるリージョン。 |
    | discovery_status | IBM データセンターに関するステータス情報。 |
    | sys_class_name | データセンターのクラス。 |
    | 関連 CI：cmdb_ci_availability_zone ||
    | name | アベイラビリティゾーン (AZ) の名前。 |
    | object_id | このリソースの一意の識別子。 |
    | short_description | 入力したアベイラビリティゾーンの説明。 |
    | 関連 CI：cmdb_ci_cloud_service_account ||
    | name | クラウドサービスアカウントの名前。 |
    | account_id | このクラウドサービスアカウントのアカウント ID。 |
    | discovery_credentials | このクラウドサービスアカウントの認証情報。 |
    | datacenter_url | LDC を入力するために使用する URL。 |
    | datacenter_type | データセンターのタイプ。例：IBM データセンター \[cmdb_ci_ibm_datacenter\] |
    | datacenter_discovery_status | 前回実行した「データセンターを検出」のステータス。 |
    [ ]

    {#ibm-cloud-platform-discovery__table_njj_ydx_jhb}

IBM Cloud 仮想サーバー - 関連アイテムビュー
:

## CI 関係 {#ibm-cloud-platform-discovery__section_kzg_xwz_ghb}

以下の関係は、IBM Cloud プラットフォームディスカバリーをサポートするために作成されています。

IBM Cloud ロードバランサー検出リソースの関係性
:   {#ibm-cloud-platform-discovery__table_vkt_ywd_rdb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | 関連 CI：cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | 関連 CI：cmdb_ci_cloud_load_balancer |||
    | cmdb_ci_cloud_load_balancer | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_cloud_load_balancer | Contains::Contained by | cmdb_ci_lb_health_service |
    | 関連 CI：cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Hosted on::Hosts | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_availability_zone | Contains::Contained by | cmdb_ci_lb_service |
    | 関連 CI：cmdb_ci_lb_service |||
    | cmdb_ci_lb_service | Hosted on::Hosts | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_lb_service | Contains::Contained by | cmdb_ci_lb_pool |
    | 関連 CI：cmdb_ci_lb_pool |||
    | cmdb_ci_lb_pool | Hosted on::Hosts | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_lb_pool | Owns::Owned by | cmdb_ci_lb_pool_member |
    | 関連 CI：cmdb_ci_lb_health_service |||
    | cmdb_ci_lb_health_service | Contains::Contained by | cmdb_ci_cloud_load_balancer |
    [ ]

    {#ibm-cloud-platform-discovery__table_vkt_ywd_rdb}

IBM Cloud ロケーショングループ検出リソースの関係性
:   {#ibm-cloud-platform-discovery__table_e2b_t1b_xhb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | 関連 CI：cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | 関連 CI：cmdb_ci_cloud_location_group |||
    | cmdb_ci_cloud_location_group | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_cloud_location_group | Contains::Contained by | cmdb_ci_availability_zone |
    [ ]

    {#ibm-cloud-platform-discovery__table_e2b_t1b_xhb}

IBM Cloud ネットワークディスカバリーリソースの関係性
:   {#ibm-cloud-platform-discovery__table_lpw_y2x_jhb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | 関連 CI：cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | 関連 CI：cmdb_ci_network |||
    | cmdb_ci_network | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_network | Contains::Contained by | cmdb_ci_cloud_subnet |
    | 関連 CI：cmdb_ci_compute_security_group |||
    | cmdb_ci_compute_security_group | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_compute_security_group | Contains::Contained by | cmdb_ci_compute_security_group_rule |
    [ ]

    {#ibm-cloud-platform-discovery__table_lpw_y2x_jhb}

IBM Cloud リソースグループ検出リソースの関係性
:   {#ibm-cloud-platform-discovery__table_lmb_yk1_xhb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | 関連 CI：cmdb_ci_resource_group |||
    | cmdb_ci_resource_group | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_lmb_yk1_xhb}

IBM Cloud SSH キー検出リソースの関係性
:   {#ibm-cloud-platform-discovery__table_b3t_2fx_jhb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | 関連 CI：cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | 関連 CI：cmdb_ci_cloud_key_pair |||
    | cmdb_ci_cloud_key_pair | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_b3t_2fx_jhb}

IBM Cloud ストレージ検出リソースの関係性
:   {#ibm-cloud-platform-discovery__table_u5s_gfx_jhb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | 関連 CI：cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | 関連 CI：cmdb_ci_storage_volume |||
    | cmdb_ci_storage_volume | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_volume | Provisioned::Provisioned From | cmdb_ci_storage_vol_snapshot |
    | 関連 CI：cmdb_ci_storage_vol_snapshot |||
    | cmdb_ci_storage_vol_snapshot | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_vol_snapshot | Located in Zone::Zone contains | cmdb_ci_availability_zone |
    | 関連 CI：cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Contains::Contained by | cmdb_ci_storage_volume |
    [ ]

    {#ibm-cloud-platform-discovery__table_u5s_gfx_jhb}

IBM Cloud 仮想サーバー検出リソースの関係性
:   {#ibm-cloud-platform-discovery__table_s4m_3fx_jhb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | 関連 CI：cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_vm_instance |
    | 関連 CI：cmdb_ci_vm_instance |||
    | cmdb_ci_vm_instance | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_vm_instance | Located in:Houses | cmdb_ci_availability_zone |
    | cmdb_ci_vm_instance | Uses:Used By | cmdb_ci_cloud_key_pair |
    | cmdb_ci_vm_instance | Contains:Contained By | cmdb_ci_nic |
    | cmdb_ci_vm_instance | endpoint | cmdb_ci_nic |
    | 関連 CI：cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Hosted on::Hosts | cmdb_ci_vm_instance |
    | 関連 CI：cmdb_ci_nic |||
    | cmdb_ci_nic | Hosted on::Hosts | cmdb_ci_vm_instance |
    | 関連 CI：cmdb_ci_os_template |||
    | cmdb_ci_os_template | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_os_template | Provisioned::Provisioned by | cmdb_ci_vm_instance |
    | 関連 CI：cmdb_ci_compute_security_group |||
    | cmdb_ci_compute_security_group | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_compute_security_group | Implement::Implemented from | cmdb_ci_vm_instance |
    | 関連 CI：cmdb_ci_storage_volume |||
    | cmdb_ci_storage_volume | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_volume | Implement::Implemented from | cmdb_ci_vm_instance |
    | 関連 CI：cmdb_ci_cloud_key_pair |||
    | cmdb_ci_cloud_key_pair | Hosted On:Hosts | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_s4m_3fx_jhb}

仮想マシン (VM) インスタンスに対して検出された関係
:   {#ibm-cloud-platform-discovery__table_vdw_x45_3mb__entry__3}

    | CI | 関係 | CI |
    |-|-|-|
    | サーバー \[cmdb_ci_server\] | Virtualized by:: Virtualizes | 仮想マシンインスタンス \[cmdb_ci_instance\] |
    [ ]

    {#ibm-cloud-platform-discovery__table_vdw_x45_3mb}

## タグベースのディスカバリー中に サービスマッピング に収集されるデータ {#ibm-cloud-platform-discovery__section_mtq_js983ubg_ppb}

サービスマッピング は、タグベースのディスカバリーを使用して、クラウドコンポーネントを含むアプリケーションサービスマップを作成します。サービスマッピング には、タグベースのディスカバリーに使用される次の事前構成済み CI 関係が付属しています。これらの CI 関係は、ServiceNow Store の 1.0.68 リリースから利用可能です。 {#ibm-cloud-platform-discovery__id_yqp_xhy_qpb__entry__3}

| CI | 関係 | CI |
|-|-|-|
| 構成アイテム \[cmdb_ci\] | Hosted on::Hosts | 論理データセンター \[cmdb_ci_logical_datacenter\] |
| 論理データセンター \[cmdb_ci_logical_datacenter\] | Hosted on::Hosts | クラウドサービスアカウント \[cmdb_ci_cloud_service_account\] |
[ ]

{#ibm-cloud-platform-discovery__id_yqp_xhy_qpb}

## トラブルシューティング {#ibm-cloud-platform-discovery__section_sf2_nsj_yhb}

マッピングプロセスが期待どおりに進行しない場合は、次の提案に従ってください。{#ibm-cloud-platform-discovery__table_ggn_ypj_yhb__entry__3}

| 症状 | 原因 | ソリューション |
|-|-|-|
| ディスカバリーに失敗しました。ディスカバリーメッセージには、REST タイムアウトによって発生したエラーに関する情報が含まれています。 | 展開で REST コール応答を送信する CI が多数あります。MID サーバー は mid.sa.cloud.request_timeout パラメーターで制御される制限時間を超えずに REST コール応答を処理することはできません。 | デフォルトで、mid.sa.cloud.request_timeout パラメーターは 3 万ミリ秒に設定されています。 関連する MID サーバー に対してこのパラメーターの値を増やし、ディスカバリーを再実行します。 注: 関連する MID サーバー の \[設定パラメーター\] 関連リストにこのパラメーターが表示されない場合は、追加する必要があります。 |
| デバッグセッション中にパターンデザイナーでエラーが発生しました。パターンデザイナーのメッセージに、タイムアウトによって発生したエラーに関する情報が含まれています。 | パターンデザイナーは、(ディスカバリー時ではなく) パターンデバッグ中のタイムアウトが原因で失敗します。 | デフォルトで、sa.debugger.max_timeout パラメーターは 240 秒に設定されています。 関連する MID サーバー に対してこのパラメーターの値を増やします。 |
[ ]

{#ibm-cloud-platform-discovery__table_ggn_ypj_yhb}

