Amazon パターンによる ECS リソースディスカバリー
ServiceNow ディスカバリーアプリケーションは、Amazon AWS - ECS パターンを使用して、Amazon Elastic Container Service (Amazon ECS) によって管理されているリソースを検索します。検索対象には、Fargate 起動タイプで実行されるリソースが含まれます。 これらのリソースを検出するには、ServiceNow Storeから最新バージョンの ディスカバリーとサービスマッピングパターン アプリケーションに更新する必要がある場合があります。
Amazon ECS は、Docker コンテナの実行、停止、および管理を容易にする、拡張性が高く高速なコンテナ管理サービスです。AWS Fargate は Amazon ECS 用のコンピュートエンジンで、AWS の顧客がサーバーやクラスターを管理することなくコンテナを実行できるようにします。
ディスカバリーは、Amazon AWS - ECS パターンを使用して水平ディスカバリーを実行します。
ディスカバリーとサービスマッピングパターンバージョン 1.18.0 以降、[Amazon AWS - ECS] パターンは、Amazon Elastic Container Registry (Amazon ECR) イメージの検出をサポートしています。コンテナスキャンの詳細については、「 コンテナイメージのスキャン」を参照してください。
ストアでアプリを要求する
ServiceNow Storeにアクセスして、利用可能なすべてのアプリを表示し、ストアに要求を送信する方法を確認してください。リリースされたすべてのアプリのリリースメモ情報については、「ServiceNow Store バージョンの履歴リリースノート」を参照してください。
Amazon ECS データモデル
Amazon AWS - ECS パターンでは、既存の CMDB クラスを拡張する次の CI クラスが導入されます。
| CI クラス | 拡張元 |
|---|---|
| AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] | 仮想マシンオブジェクト [cmdb_ci_vm_object] |
| AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] | 仮想マシンオブジェクト [cmdb_ci_vm_object] |
| AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] | 仮想マシンオブジェクト [cmdb_ci_vm_object] |
| AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition] | 仮想マシンオブジェクト [cmdb_ci_vm_object] |
必須条件
- ECS リソース表示権限を持つ AWS 認証情報を作成する
-
AWS コンソールで、ECS リソース表示権限を持つ AWS 認証情報を作成します。詳細については、https://docs.aws.amazon.com/en_pv/AmazonECS/latest/userguide/get-set-up-for-amazon-ecs.html を参照してください。注:API 要求は、AWS 署名バージョン 4 を使用して認証を行います。正しい認証情報が提供されると、クラウド API コールパターンのステップに対して内部で認証が行われます。
- AWS クラウド認証情報レコードを作成するか一時的な認証情報を使用する
- ServiceNow AI Platform で、AWS 認証情報レコードを作成します。IAM ロールの AWS セキュリティトークンサービス (AWS STS) によって生成される一時的な認証情報を使用することもできます。詳細については、「クラウド認証情報」を参照してください。
- AWS クラウドサービスアカウントを作成する
-
- ServiceNow AI Platform で、永続的または一時的な AWS 認証情報を使用して、AWS クラウドサービスアカウントを作成します。詳細については、「AWS サービスアカウントの設定」を参照してください。
- クラウドサービスアカウントレコードで、[データセンターを検出] をクリックして、設定された AWS クラウドサービスアカウントの AWS データセンター (LDC) を検索します。
- AWS ディスカバリーのスケジュールを設定する
- ServiceNow AI Platformで、完全なAWSパターンディスカバリーまたは ECS パターンディスカバリーのみをスケジュールします。
- クラウドディスカバリーのスケジュールの詳細については、「 クラウドディスカバリーワークスペース でのディスカバリースケジュールの作成」を参照してください。
- Amazon ECS ディスカバリーのためのサーバーレススケジュールの作成の詳細については、「Amazon ECS ディスカバリーのためのサーバーレススケジュールの作成」を参照してください。
- VM オブジェクトレコードの構成を検証してリソースタグを検索する
-
パターンを有効にしてリソースタグを検索するには、親 ECS テーブル (VM オブジェクト) に cmdb_key_value テーブルの関連エントリがある必要があります。
- ServiceNow AI Platformナビゲーションバーで、 をクリックし、[ CI ID] を選択します。
- VM オブジェクトレコードを検索して開きます。
- [ 関連エントリ ] タブを選択し、VM オブジェクト関連エントリの図に示すように構成されていることを確認します。設定されていない場合は、新しい関連エントリを指定します。[関連エントリ] 関連リストで [新規] を選択し、フォームに入力して [送信] を選択します。
図 : 1. VM オブジェクト関連エントリ
REST API 権限を確認する
をダウンロードする クラウドディスカバリー パターンスプレッドシート そのため、 ディスカバリー パターンの実行に必要なユーザー権限を付与できます。権限に加えて、スプレッドシートには、パターン名、タイプ、CI クラス、ベンダードキュメントへのリンクなどの有用な情報も含まれています。新しいパターンは四半期ごとに提供されるため、定期的にチェックして、スプレッドシートが最新バージョンであることを確認してください。
水平ディスカバリー中にディスカバリーによって収集されるデータ
ディスカバリーは、Amazon AWS - ECS パターンの実行時に、CMDB にデータを入力します。
| フィールド | 説明 |
|---|---|
| オブジェクト ID [object_id] | クラスターを識別する Amazon リソ-ス名 (ARN)。 |
| 名前 [name] | クラスターを識別するために使用される、ユーザーが生成した文字列。 |
| 登録済みコンテナインスタンス数 [registered_container_instances_count] | クラスターに登録されているコンテナーインスタンスの数。こうしたコンテナーインスタンスのステータスは、ACTIVE または DRAINING のいずれかになります。 |
| フィールド | 説明 |
|---|---|
| オブジェクト ID [object_id] | タスク定義の完全な ARN |
| 名前 [name] | このタスク定義が登録されているファミリの名前。 |
| リビジョン [revision] | 特定のファミリのタスクのリビジョン。これは、ファミリ内のタスク定義のバージョン番号です。 |
| ネットワークモード [network_mode] | タスク内のコンテナに使用する Docker ネットワークモード。有効な値:なし、ブリッジ、awsvpc、ホスト。 |
| CPU [cpu] | タスクによって使用される CPU ユニットの数。 |
| メモリ [memory] | タスクで使用されるメモリの量 (メビバイト (MiB))。 |
| フィールド | 説明 |
|---|---|
| オブジェクト ID [object_id] | タスクを識別する ARN。 |
| 名前 [name] | タスクを識別するために使用される、ユーザーが生成した文字列。 |
| 起動タイプ [launch_type] | タスクが実行される起動タイプ。 |
| 運用ステータス [operational_status] | タスク内の必須コンテナーの健全性によって決定される、タスクの健全性ステータス。 |
| CPU [cpu] | タスク定義に記載されている、タスクで使用される CPU ユニットの数。 |
| メモリ [memory] | タスク定義に記載されている、タスクで使用されるメモリの量 (MiB)。 |
| フィールド | 説明 |
|---|---|
| オブジェクト ID [object_id] | サービスを識別する ARN。 |
| 名前 [name] | サービスの名前。 |
| 起動タイプ [launch_type] | サービスが実行される起動タイプ。 |
| スケジューリング戦略 [scheduling_strategy] | サービスに対して使用するスケジューリング戦略。 |
| フィールド | 説明 |
|---|---|
| コンテナ ID [container_id] | コンテナーの ARN。 |
| 名前 [name] | コンテナーの名前。 |
| ステータス [status] | コンテナーの前回報告されたステータス。 |
| 運用ステータス [operational_status] | コンテナーの健全性ステータス。 |
| CPU [cpu] | コンテナーに設定された CPU ユニットの数。 |
| メモリ [memory] | コンテナーに設定されたメモリのハード制限 (MiB)。 |
| フィールド | 説明 |
|---|---|
| オブジェクト ID [object_id] | 仮想マシン (VM) インスタンスを識別する ARN。 注: 完全な仮想マシンインスタンス情報は、異なる EC2 クラウドパターンで検出されます。Amazon ECS リソースディスカバリーでは、CI の一意の識別に役立つように、object_id のみが解析されます。 |
| フィールド | 説明 |
|---|---|
| キー [key] | タグキー。 |
| 値 [value] | タグ値。 |
| 構成アイテム [configuration_item] | タグが関連付けられている検出された CI を参照します。 |
| フィールド | 説明 |
|---|---|
| 名前 [name] | Docker イメージの名前。 |
| イメージダイジェスト [image_digest] | Docker イメージの一意の識別子。 |
| Image ID [image_id] | Docker イメージの 12 文字の長さの一意の識別子。 |
| フィールド | 説明 |
|---|---|
| 名前 [name] | Docker イメージを含むリポジトリの完全修飾名。 |
| フィールド | 説明 |
|---|---|
| 名前 [name] | Docker イメージタグ。 |
| カテゴリ [category] | Docker イメージを含むリポジトリの完全修飾名。 |
依存関係ビューマップには、Amazon ECS で管理されている、組織内で検出されたすべてのリソース、およびそうしたリソース間の関係が表示されます。
この例では、AWS クラウド ECS クラスター CI は AWS データセンターでホストされます。また、2 つの AWS クラウド ECS タスクと 2 つの AWS クラウド ECS サービスを実行し、3 つの Docker コンテナを使用します。
CI 関係
Amazon AWS - ECS パターンでは、ECS リソースディスカバリーをサポートするために次の関係と参照Amazon作成されます。 参照は他のテーブルのレコードにリンクされ、CI 関係 [cmdb_rel_ci] テーブルには表示されません。
| CI | 関係 | CI |
|---|---|---|
| AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] | Hosted on::Hosts | AWS データセンター [cmdb_ci_aws_datacenter] |
| 仮想マシンインスタンス [cmdb_ci_vm_instance] | Used by::Uses | AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] |
| 仮想マシンインスタンス [cmdb_ci_vm_instance] | Hosted on::Hosts | AWS データセンター [cmdb_ci_aws_datacenter] |
| AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] | Hosted on::Hosts | AWS データセンター [cmdb_ci_aws_datacenter] |
| AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] | Runs on::Runs | AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] |
| AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] | Uses::Used by | AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition] |
| AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] | Hosted on::Hosts | AWS データセンター [cmdb_ci_aws_datacenter] |
| AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task]* | Runs on::Runs | AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] |
| 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_definition] | Hosted on::Hosts | AWS データセンター [cmdb_ci_aws_datacenter] |
| 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] |
| Docker コンテナー [cmdb_ci_docker_container] | Hosted on::Hosts | AWS データセンター [cmdb_ci_aws_datacenter] |
| Docker コンテナー [cmdb_ci_docker_container] | Used by::Uses | AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] |
| コンテナーリポジトリ [cmdb_ci_container_repository] | Hosted on::Hosts | AWS データセンター [cmdb_ci_aws_datacenter] |
| コンテナーリポジトリエントリー [cmdb_ci_container_repository_entry] | Hosted on::Hosts | コンテナーリポジトリ [cmdb_ci_container_repository] |
| Docker イメージ [cmdb_ci_docker_image] | Provisioned From::Provisioned | コンテナーリポジトリエントリー [cmdb_ci_container_repository_entry] |
| Docker イメージ [cmdb_ci_docker_image] | Instantiates::Instantiated by | Docker コンテナー [cmdb_ci_docker_container] |
*起動タイプによって、作成される関係が決まります。Fargate 起動タイプのタスクの場合、AWS クラウド ECS クラスターとの関係が作成されます。EC2 起動タイプのタスクの場合、関係は仮想マシンインスタンスと作成されます。
| CI | フィールド | 参照 CI |
|---|---|---|
| キー値 [cmdb_key_value] | 構成アイテム [configuration_item] | AWS クラウド ECS クラスター [cmdb_ci_cloud_ecs_cluster] |
| キー値 [cmdb_key_value] | 構成アイテム [configuration_item] | 仮想マシンインスタンス [cmdb_ci_vm_instance] |
| キー値 [cmdb_key_value] | 構成アイテム [configuration_item] | AWS クラウド ECS タスク定義 [cmdb_ci_cloud_ecs_task_definition] |
| キー値 [cmdb_key_value] | 構成アイテム [configuration_item] | AWS クラウド ECS タスク [cmdb_ci_cloud_ecs_task] |
| キー値 [cmdb_key_value] | 構成アイテム [configuration_item] | AWS クラウド ECS サービス [cmdb_ci_cloud_ecs_service] |
AWS タグディスカバリー
Amazon AWS - ECS パターンはタグを収集し、キー値 [cmdb_key_value] テーブルに入力します。
| フィールド | 説明 |
|---|---|
| キー [key] | タグキー。 |
| 値 [value] | タグ値。 |
| 構成アイテム [configuration_item] | タグが関連付けられている次のいずれかの CI を参照します。
|