AWS Lambda ディスカバリー

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:7分
  • ServiceNow ディスカバリーサービスマッピング の各アプリケーションでは、AWS クラウドで実行される Lambda 関数を検索しマッピングできます。 これらのリソースを検出するには、ServiceNow Storeからディスカバリーとサービスマッピングパターンアプリケーションを更新する必要があります。

    ディスカバリー および サービスマッピング は、Amazon AWS Lambda パターンを使用して、水平ディスカバリーとトップダウンディスカバリーを実行します。クラウドディスカバリーを実行すると、インスタンスが、必要な認証情報を使用して AWS サービスアカウントを照会し、クエリを実行して Lambda 情報を取得します。パターンでは、この情報が解析され、CMDB に保存されます。

    このパターンを ServiceNow プラットフォームで使用するには、Jakarta パッチ 10、Kingston パッチ 8、または London パッチ 1 を使用します。

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

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

    必須条件

    更新セット
    Jakarta または Istanbul バージョンのインスタンスの場合は、「KB0679927:AWS Lambda トップダウンディスカバリー更新セット (AWS Lambda top-down discovery update set)」で用意されている更新セットをインポートします。サービスマッピング には、この更新セットが必要です。
    AWS ユーザーのユーザーポリシー
    Amazon Web サービス (AWS) プラットフォームで Identity and Access Management (IAM) を使用してユーザーを管理する場合は、AWS ユーザーのユーザーポリシーが作成されていることを確認します。詳細については、ServiceNow クラウドプロビジョニングとガバナンス ドキュメントの「ポリシーを使用した AWS アクセスおよび権限の制御」を参照してください。
    認証情報が設定されている AWS サービスアカウント
    適切な AWS 認証情報を使用して、サービスアカウントを設定する必要があります。サービスアカウントフォームからディスカバリーを実行できます。

    製品ドキュメントで ディスカバリー および サービスマッピング のサービスアカウントを参照してください。

    サービスアカウント
    ServiceNow プラットフォームで、サービスアカウントを作成します。アカウント ID を、AWS Lambda が属する Amazon アカウント ID に設定します。AWS マネジメントコンソールに表示されるアカウント ID を使用します。必ず、検出しようとしているサービスアカウントの一部である仮想マシンに MID サーバー を配置します。
    水平ディスカバリーを使用した論理データセンターの検出
    クラウドサービスアカウントフォームの [関連リンク] の下にある [データセンターを検出] をクリックします。
    ユーザー権限
    リソースに arn:aws:lambda:region:account-id:function:function-name を指定して ListFunctions API を実行する権限をユーザーに付与します。リソースに '*' を指定して GetFunction API を実行する権限をユーザーに付与します。
    Amazon リソースネーム (ARN)
    (エントリーポイントとして ARN を使用するアプリケーションサービスの場合はオプション) 検出する必要がある AWS Lambda の ARN がわかっていることを確認します。ARN は、Amazon Web サービスのリソース識別子として機能します。
    ホスト
    Jakarta または Istanbul バージョンのインスタンスの場合は、127.0.0.1 のホストを使用します。
    クラウドディスカバリー
    クラウドディスカバリーの場合は、ServiceNow Storeからディスカバリーとサービスマッピングパターンをダウンロードします。
    MID サーバー
    MID サーバー をインストールするときに、ServiceNow ドキュメントサイトで公開されている「MID サーバーシステムの要件」をホストマシンが満たしているか、超過しているかを確認します。

    水平ディスカバリー中に ディスカバリー によって収集されるデータ

    水平ディスカバリーでは、次のデータを CMDB に入力します。
    テーブルとフィールド 説明
    クラウド関数 [cmdb_ci_cloud_function]
    名前 [name] 関数の名前。
    オブジェクト ID [object_id] AWS Lamdba 関数の ID (Amazon リソースネーム)。例:arn:aws:lambda:{datacenter}1:751200741520:function:{function-name}
    バージョン [version] 関数のバージョン。たとえば、 $Latest は公開された最新のバージョンを表します。
    言語 [language] ランタイム環境、つまり関数が記述されている言語とバージョン (例:JavaScript バージョン 6.10 の場合は Node.js6.10)。
    コードの場所の URL [code_location_url] API Gateway コンソールからビルドした関数の URL。
    CodeSha256 [codesha256] 関数の暗号ハッシュ署名。
    コードサイズ [code_size] 関数コードのサイズ (MB)。
    関数の最終変更日 [function_last_modified] AWS Lamdba 環境で関数が最後に変更された日付。
    注:
    これらのフィールドをすべて表示するには、製品ドキュメントの説明に従ってフォームレイアウトを設定する必要があります。

    CI 関係

    以下の関係は、AWS Lambda ディスカバリーをサポートするために作成されています。
    CI 関係 CI
    クラウド関数

    [cmdb_ci_cloud_function]

    Uses:Used by クラウドデータベース

    [cmdb_ci_cloud_database]

    Hosted on:Hosts AWS データセンター [cmdb_ci_aws_datacenter]

    AWS データセンターには、アベイラビリティゾーン、サービスアカウントなどの他の AWS CI との関係性があります。製品ドキュメントの AWS と Azure クラウドディスカバリーの箇所を参照してください。

    Provides:Is provided by クラウドイベントソース [cmdb_ci_cloud_event_source]

    この CI には、クラウド関数または API Gateway をトリガーする任意のイベントソースが考えられます。

    トップダウンディスカバリー中に サービスマッピング によって検出される接続

    サービスマッピング は、アプリケーションサービスのコンテキストで AWS Lambda のトップダウンディスカバリーを実行します。AWS Lambda の発信接続を検出します。
    • AWS API Gateway
    • Amazon Relational Database Service (RDS)
    • ARN を使用している、現在のリージョン内外の AWS Lambda の別インスタンス

    トラブルシューティング

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

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