OpenStack リソースディスカバリー

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む14読むのに数分
  • ServiceNow ディスカバリー アプリケーションでは、OpenStack リソース検出パターンを使用して、REST API コールを通じて OpenStack リソースを検索します。 これらのリソースを検出するには、ServiceNow Store から ディスカバリーとサービスマッピングパターン アプリケーションをアップデートする必要があります。

    ディスカバリー は、こうしたパターンを使用して水平検出を実行します。

    OpenStack リソースディスカバリーパターンを Now Platform で使用するには、New York リリース以降を使用します。

    ストアでアプリを要求する

    ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。

    必須条件

    OpenStack の要件
    • OpenStack ID Service Catalog で、OpenStack ID サービスエンドポイントとして使用されるアクセス URL を検索します。例:https://<openstack dns>:<port>。
    • プロジェクトスコープトークンを生成する権限を持つ OpenStack ユーザーを設定します。トークンを生成するには、ドメイン ID、ユーザー名、およびパスワードを設定する必要があります。
    MID Server の要件

    クラウド検出専用の MID サーバー を展開して接続します。

    専用の MID サーバー は、各 OpenStack サービスの検出に備えて、OpenStack とオープンポートにアクセスできる必要があります。

    資格情報
    1. ServiceNow クラウドサービスアカウントの資格情報を追加します。
    2. 作成された資格情報を使用する ServiceNow クラウドサービスアカウントを作成します。[アカウント ID] フィールドに、検出する OpenStack プロジェクトのプロジェクト ID を入力します。
    検出スケジュールの作成

    次のいずれかの検出スケジュールを設定します。

    注:
    検出スケジュールには、OpenStack エンドポイントの URL などのパターン入力変数に合わせて適切なパラメーターを指定する必要があります。
    • クラウドサービスアカウントのクラウドリソース検出スケジュール (NP6、OP1、およびそれ以降)。
    • サーバーなし検出スケジュール (M、NP5、および OP0)。
      注:
      サーバーなし検出は、次のパターンでサポートされています。
      • OpenStack:サービスアカウントを検証
      • OpenStack:論理データセンターを取得
      • OpenStack:計算リソースを取得
      • OpenStack:ID リソースを取得
      • OpenStack:ネットワークリソースを取得
      • OpenStack:ロードバランサーリソースを取得
      • OpenStack:ロードバランサーリソースを取得
      • OpenStack:ストレージリソースを取得

    水平検出中に Discovery によって収集されるデータ

    検出されるデータには、次のテーブルとフィールドが含まれています。

    テーブルとフィールド 説明
    仮想マシンインスタンス [cmdb_ci_vm_instance]
    オブジェクト ID [object_id] サーバー UUID。
    名前 [name] サーバー名。
    ステータス [status] サーバーステータス。
    簡単な説明 [short_description] (オプション) サーバーの説明。
    クラウドキーペア [cmdb_ci_cloud_key_pair]
    オブジェクト ID [object_id] キーペア UUID。
    名前 [name] キーペアを参照するために使用されるキーペア名。
    指紋 [finger_print] キーペアの指紋。
    クラウドロードバランサー [cmdb_ci_cloud_load_balancer]
    オブジェクト ID [object_id] ロードバランサー ID。
    名前 [name] わかりやすいリソース名。
    簡単な説明 [short_description] (オプション) わかりやすいリソースの説明。
    インストールステータス [install_status] リソースプロビジョニングステータス。
    運用ステータス [operational_status] リソース運用ステータス。
    ロードバランサーリスナー [cmdb_ci_lb_listener]
    オブジェクト ID [object_id] リスナー ID。
    名前 [name] リソースのわかりやすい名前。
    provisioning_status リソースのプロビジョニングステータス。
    protocol_port リソースのプロトコルポート番号。
    protocol リソースのプロトコル。HTTP、HTTPS、TCP、TERMINATED_HTTPS、または UDP のいずれか。
    listener_port
    ロードバランサープール [cmdb_ci_lb_pool]
    オブジェクト ID [object_id] プール ID。
    名前 [name] わかりやすいリソース名。
    インストールステータス [install_status] リソースプロビジョニングステータス。
    運用ステータス [operational_status] リソース運用ステータス。
    簡単な説明 [short_description] (オプション) わかりやすいリソースの説明。
    負荷分散方法 [load_balancing_method] プールの負荷分散アルゴリズム。LEAST_CONNECTIONS、ROUND_ROBIN、SOURCE_IP、または SOURCE_IP_PORT のいずれかの値。
    ロードバランサープールメンバー [cmdb_ci_lb_pool_member]
    オブジェクト ID [object_id] プールメンバー ID。
    名前 [name] わかりやすいリソース名。
    インストールステータス [install_status] リソースプロビジョニングステータス。
    IP アドレス [ip_address] バックエンドメンバーサーバーの IP アドレス。
    ストレージボリューム [cmdb_ci_storage_volume]
    オブジェクト ID [object_id] ボリューム UUID。
    名前 [name] ボリューム名。
    ステータス [status] ボリュームステータス。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    ストレージタイプ [storage_type] 関連付けられているボリュームタイプ。
    ストレージボリュームスナップショット [cmdb_ci_storage_vol_snapshot]
    オブジェクト ID [object_id] ボリューム UUID。
    名前 [name] ボリューム名。
    ステータス [status] ボリュームステータス。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    イメージ [cmdb_ci_os_template]
    オブジェクト ID [object_id] ユーザー定義のイメージ UUID。
    名前 [name] イメージ名。値は null (JSON Null データタイプ) にすることができます。
    ステータス [status] イメージステータス。
    ネットワーク [cmdb_ci_network]
    オブジェクト ID [object_id] ネットワーク ID。
    名前 [name] わかりやすいネットワーク名。
    運用ステータス [operational_status] ネットワークステータス。指定できる値:ACTIVE、DOWN、BUILD、または ERROR。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    クラウドサブネット [cmdb_ci_cloud_subnet]
    オブジェクト ID [object_id] サブネット ID。
    名前 [name] わかりやすいリソース名。
    DHCP 有効 [is_dhcp_enabled] サブネットの DHCP が有効になっているか、無効になっているか。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    セキュリティグループ [cmdb_ci_compute_security_group]
    オブジェクト ID [object_id] セキュリティグループ ID。
    名前 [name] わかりやすいリソース名。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    セキュリティグループルール [cmdb_ci_compute_security_group_rule]
    名前 [name] このフィールドの値は、object_id フィールドと同じです。
    オブジェクト ID [object_id] セキュリティグループルール ID。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    Ethertype [ethertype] Ethertype。IPv4 または IPv6 である必要があります。CIDR で表されるアドレスは、イングレスまたはエグレスルールに適合する必要があります。
    ポート範囲の最大値 [port_range_max] ルールが適用される範囲の最後のポート。この値は、セキュリティグループルールと一致する範囲内の最大ポート番号です。
    • プロトコルが TCP、UDP、DCCP、SCTP または UDP-Lite である場合、この値は port_range_min 属性値以上である必要があります。
    • プロトコルが ICMP の場合、この値は ICMP コードである必要があります。
    ポート範囲の最小値 [port_range_min] ルールが適用される範囲の最初のポート。この値は、セキュリティグループルールと一致する範囲内の最小ポート番号です。
    • プロトコルが TCP、UDP、DCCP、SCTP または UDP-Lite である場合、この値は port_range_max 属性値以下である必要があります。
    • プロトコルが ICMP の場合、この値は ICMP タイプである必要があります。
    OpenStack ドメイン [cmdb_ci_cloud_openstack_domain]
    オブジェクト ID [object_id] ドメイン ID。
    名前 [name] ドメイン名。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    有効 [enabled] ドメインが有効か無効かを定義します。
    • True:ドメインは有効です。
    • False:ドメインは無効です。
    OpenStack サービス [cmdb_ci_cloud_openstack_service]
    オブジェクト ID [object_id] サービス ID。
    名前 [name] サービス名。
    簡単な説明 [short_description] (オプション) わかりやすい説明。
    タイプ [type] サービスタイプ。サービスによって実装された API を示します。指定できる値:Compute、ec2、identity、image、network、または volume。
    カタログ有効 [enabled] サービスとそのエンドポイントがサービスカタログに表示されるかどうかを定義します。
    • True:サービスとそのエンドポイントは、Service Catalog に表示されます。
    • False:サービスとそのエンドポイントは、Service Catalog に表示されません。
    OpenStack サービス [cmdb_ci_cloud_openstack_endpoint]
    オブジェクト ID [object_id] エンドポイント ID。
    名前 [name] サービス名。
    インターフェイス [interface] エンドポイントの可視性を示すインターフェイスタイプ。可能な値:
    • 公開:公開されているネットワークインターフェイス上でエンドユーザーが見ることができます。
    • 内部:非従量制内部ネットワークインターフェイス上でエンドユーザーが見ることができます。
    • 管理者:セキュアなネットワークインターフェイス上で管理ユーザーが見ることができます。
    カタログ有効 [enabled] サービスとそのエンドポイントがサービスカタログに表示されるかどうかを定義します。
    • True:サービスとそのエンドポイントは、Service Catalog に表示されます。
    • False:サービスとそのエンドポイントは、Service Catalog に表示されません。
    Dependency Views マップには、REST API コールで利用できる、組織内で検出されたすべての OpenStack リソース 、およびそうしたリソースの間の関係が表示されます。
    図 : 1. OpenStack ネットワークの依存関係


    図 : 2. OpenStack VM の依存関係


    CI 関係

    以下の関係は、OpenStack リソースディスカバリーをサポートするために作成されています。
    CI 関係 CI
    cmdb_ci_openstack_datacenter Hosted on::Hosts cmdb_ci_cloud_service_account
    cmdb_ci_cloud_openstack_service Hosted on::Hosts cmdb_ci_cloud_service_account
    cmdb_ci_cloud_openstack_endpoint Use endpoint to::Use endpoint from cmdb_ci_cloud_openstack_service
    cmdb_ci_cloud_openstack_endpoint Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_cloud_openstack_domain Owns::Owned by cmdb_ci_cloud_service_account
    cmdb_ci_network Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_network Contains::Contained by cmdb_ci_cloud_subnet
    cmdb_ci_compute_security_group Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_compute_security_group Contains::Contained by cmdb_ci_compute_security_group_rule
    cmdb_ci_cloud_load_balancer Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_cloud_load_balancer Contains::Contained by cmdb_ci_lb_listener
    cmdb_ci_lb_pool Hosted on::Hosts cmdb_ci_cloud_load_balancer
    cmdb_ci_lb_pool Owns::Owned by cmdb_ci_lb_pool_member
    cmdb_ci_storage_volume Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_vm_instance Uses::Used by cmdb_ci_storage_volume
    cmdb_ci_storage_vol_snapshot Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_storage_vol_snapshot Provisioned from::Provisioned cmdb_ci_storage_volume
    cmdb_ci_vm_instance Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_cloud_key_pair Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_os_template Hosted on::Hosts cmdb_ci_openstack_datacenter
    cmdb_ci_vm_instance Provisioned from::Provisioned cmdb_ci_os_template

    トラブルシューティング

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

    関連する MID サーバー に対してこのパラメーターの値を増やします。