AWS ECS-Fargate リソース検出

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む10読むのに数分
  • ServiceNow ディスカバリー アプリケーションでは、AWS ECS-Fargate パターンを使用して、AWS Elastic Container Service (ECS) によって管理されているリソースを検索します。検索対象には、Fargate 起動タイプで実行されるリソースが含まれます。 これらのリソースを検出するには、ServiceNow Store から ディスカバリーとサービスマッピングパターン アプリケーションをアップデートする必要があります。

    AWS ECS は、簡単に Docker コンテナーを実行、停止、管理できる、拡張性が高く高速なコンテナー管理サービスです。​AWS Fargate は、AWS ユーザーがサーバーまたはクラスターを管理することなくコンテナーを実行できるようにする、AWS ECS の計算エンジンです。

    ディスカバリー は、AWS ECS-Fargate パターンを使用して水平検出を実行します。このパターンを ServiceNow プラットフォームで使用するには、Madrid パッチ 10 以降のリリースを使用します。

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

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

    必須条件

    • AWS コンソールで、ECS リソースを表示する権限を持つ AWS 資格情報を作成します。詳細については、https://docs.aws.amazon.com/en_pv/AmazonECS/latest/userguide/get-set-up-for-amazon-ecs.html を参照してください。
      注:
      API 要求は、AWS Signature Version 4 を使用して認証を行います。正しい資格情報が提供されると、クラウド API コールパターンのステップに対して内部で認証が行われます。
    • Now Platform で、AWS クラウドサービスアカウントと資格情報のレコードを作成します。詳細については、「クラウド資格情報」を参照してください。
    • クラウドサービスアカウントレコードで、[データセンターを検出] をクリックして、設定された AWS クラウドサービスアカウントの AWS データセンター (LDC) を検索します。
    • 完全な AWS ディスカバリーまたは ECS パターンディスカバリーのみのいずれかのスケジュールを設定します。詳細については、「水平検出のスケジュール」を参照してください。
    • パターンを有効にしてリソースタグを検索するには、親 ECS テーブル (VM オブジェクト) に cmdb_key_value テーブルの関連エントリがある必要があります。
      1. ナビゲーションバーで、次の場所に移動します。Now Platform すべて > 構成 > 識別/調整をクリックし、[ CI ID] をクリックします。
      2. VM オブジェクトレコードを検索して開きます。
      3. [関連エントリ] タブをクリックし、VM オブジェクト関連エントリ に示されているとおりに設定されていることを確認します。設定されていない場合は、新しい関連エントリを指定します。 [関連エントリ] 関連リストで、[新規] をクリックし、フォームに入力して [送信] をクリックします。
        図 : 1. VM オブジェクト関連エントリ

        関連エントリ設定

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

    このパターンでは、組織内の ECS クラスター、ECS サービス、ECS タスク定義、ECS タスク、Docker コンテナー、および ECS コンテナーインスタンスを可視化するためのデータを検出します。検出されるデータには、次のテーブルとフィールドが含まれています。

    テーブルとフィールド 説明
    AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster]
    object_id クラスターを識別する ARN。
    name クラスターを識別するために使用される、ユーザーが生成した文字列。
    status クラスターのステータス。有効な値:ACTIVE、INACTIVE。
    registered_container_instances クラスターに登録されているコンテナーインスタンスの数。こうしたコンテナーインスタンスのステータスは、ACTIVE または DRAINING のいずれかになります。
    AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition]
    object_id タスク定義の完全な ARN
    name このタスク定義が登録されているファミリの名前。
    status タスク定義のステータス。
    revision 特定のファミリのタスクのリビジョン。これは、ファミリ内のタスク定義のバージョン番号です。
    network_mode タスク内のコンテナーに使用する Docker ネットワークモード。有効な値:なし、ブリッジ、awsvpc、ホスト。
    cpu タスクによって使用される CPU ユニットの数。
    memory タスクで使用されるメモリの量 (MiB)。
    AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task]
    object_id タスクを識別する ARN。
    name タスクを識別するために使用される、ユーザーが生成した文字列。
    status タスクの前回報告されたステータス。
    launch_type タスクが実行される起動タイプ。
    operation_status タスク内の必須コンテナーの健全性によって決定される、タスクの健全性ステータス。
    cpu タスク定義に記載されている、タスクで使用される CPU ユニットの数。
    memory タスク定義に記載されている、タスクで使用されるメモリの量 (MiB)。
    AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service]
    object_id サービスを識別する ARN。
    name サービスの名前。
    status サービスのステータス。
    launch_type サービスが実行される起動タイプ。
    scheduling_strategy サービスに対して使用するスケジューリング戦略。
    Docker コンテナー [cmdb_ci_docker_container]
    container_id コンテナーの ARN。
    name コンテナーの名前。
    status コンテナーの前回報告されたステータス。
    operational_status コンテナーの健全性ステータス。
    cpu コンテナーに設定された CPU ユニットの数。
    memory コンテナーに設定されたメモリのハード制限 (MiB)。
    仮想マシンインスタンス [cmdb_ci_vm_instance]
    object_id VM インスタンスを識別する ARN。
    注:
    完全な仮想マシンインスタンス情報は、異なる EC2 クラウドパターンで検出されます。AWS ECS-Fargate リソースディスカバリーでは、CI の一意の識別に役立つように、object_id のみが解析されます。
    キー値 [cmdb_key_value]
    key タグキー。
    value タグ値。

    Dependency Views マップには、AWS EWS で管理されている、組織内で検出されたすべてのリソース、およびそうしたリソースの間の関係が表示されます。

    この例では、AWS クラウド ECS クラスター CI は AWS データセンターでホストされます。また、2 つの AWS クラウド ECS タスクと 2 つの AWS クラウド ECS サービスを実行し、3 つの Docker コンテナーを使用します。

    図 : 2. Dependency Views のサンプルマップ

    Dependency Views マップ上の CI および接続

    CI 関係

    以下の関係は、AWS ECS-Fargate ディスカバリーをサポートするために作成されています。

    CI 関係 CI
    AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] Uses::Used by 仮想マシンインスタンス [cmdb_ci_vm_instance]
    AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] Runs::Runs on AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service]
    AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] Runs::Runs on AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task]
    AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] Hosted on::Hosts AWS データセンター
    AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] Extends::Extended by 仮想マシンオブジェクト [cmdb_ci_vm_object]
    AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition] Used by::Uses AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service]
    AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition] Used by::Uses AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task]
    AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition] Hosted on::Hosts AWS データセンター
    AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition] Extends::Extended by 仮想マシンオブジェクト [cmdb_ci_vm_object]
    AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] Runs on::Runs 仮想マシンインスタンス [cmdb_ci_vm_instance]
    AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] Runs on::Runs Docker コンテナー [cmdb_ci_docker_container]
    AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] Uses::Used by AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition]
    AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] Hosted on::Hosts AWS データセンター
    AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] Runs on::Runs AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster]
    AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] Extends::Extended by 仮想マシンオブジェクト [cmdb_ci_vm_object]
    AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] Uses::Used by AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition]
    AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] Hosted on::Hosts AWS データセンター
    AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] Runs on::Runs AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster]
    AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] Extends::Extended by 仮想マシンオブジェクト [cmdb_ci_vm_object]
    Docker コンテナー [cmdb_ci_docker_container] Hosted on::Hosts AWS データセンター
    Docker コンテナー [cmdb_ci_docker_container] Runs:: Runs on AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task]
    Docker コンテナー [cmdb_ci_docker_container] Used by::Uses AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster]