ゼファーネットのロゴ

AmazonS3データレイクでAWSGlue Studioを使用してServiceNowデータを抽出し、AmazonAthenaを使用して分析します

日付:

AWSでは、さまざまなクラウドベースのサービスとしてのソフトウェア(SaaS)オファリングを利用できます。 ServiceNowは、AWSのお客様が広く使用している一般的なクラウドベースのワークフロー自動化プラットフォームのXNUMXつです。 過去数年間、さまざまなユースケースでServiceNowなどのITサービス管理(ITSM)ツールからデータを抽出して統合したいと考えている多くのお客様がいました。

  • データから洞察を生成する – ServiceNowデータをCRM(Salesforceなど)やMartechデータ(など)などの他のサービスのデータと組み合わせる場合 アマゾンピンポイント)より良い洞察を生成する(たとえば、完全な顧客360ビューを構築する)。
  • 将来のビジネスまたは規制要件のためにデータをアーカイブする –データレイクに生の形式でデータをアーカイブして、将来のユースケースに取り組むことも、監査などの規制要件を満たすためにデータを保持することもできます。
  • レポートまたは機械学習のユースケースをITSMから切り離すことにより、パフォーマンスを向上させます –ITSMレポートをServiceNowから Amazon シンプル ストレージ サービス (Amazon S3)データレイク。ServiceNowインスタンスにパフォーマンスへの影響はありません。
  • データの民主化 –データを抽出してデータレイクに配置し、他のビジネスユーザーやユニットが探索して使用できるようにすることができます。

多くのお客様がAWSで最新のデータアーキテクチャを構築しています。これには、Amazon S3でのデータレイクの構築や、幅広く詳細なAWS分析とAI / MLサービスを使用して、さまざまなデータソースからのデータを組み合わせることでデータから意味のある情報を抽出することが含まれます。

この投稿では、ServiceNowからS3データレイクにデータを取り込むためのステップバイステップガイドを提供します。 AWS グルースタジオ とデータを分析します アマゾンアテナ.

ソリューションの概要

このソリューションでは、ServiceNowデータは AWSグルー マーケットプレイスコネクタを使用します。 AWS Glueは、JDBC接続を使用して、最も一般的に使用されるデータストア(Amazon Redshift、Amazon Aurora、Microsoft SQL Server、MySQL、MongoDB、PostgreSQLなど)の組み込みサポートを提供します。 AWS Glueでは、抽出、変換、および読み込み(ETL)ジョブでカスタムJDBCドライバーを使用することもできます。 SaaSアプリケーションなど、ネイティブでサポートされていないデータストアの場合は、コネクタを使用してAmazonS3に保存できます。 データはAWSGlueデータカタログにカタログ化されており、Athenaを使用してデータをクエリします。

AWSグルー はサーバーレスデータ統合サービスであり、分析、機械学習(ML)、およびアプリケーション開発のためのデータの検出、準備、および結合を容易にします。 AWS Glueは、データ統合に必要なすべての機能を提供するため、データの分析を開始して、数か月ではなく数分で使用できるようになります。

アマゾンアテナ は、標準SQLを使用してAmazonS3のデータを簡単に分析できるインタラクティブなクエリサービスです。 Athenaはサーバーレスであるため、管理するインフラストラクチャはなく、実行したクエリに対してのみ料金を支払います。

ServiceNowは、ITビジネス管理の自動化を支援するITSM用のクラウドベースのソフトウェアプラットフォームです。 ITILガイドラインに基づいて設計されており、タスク、アクティビティ、およびプロセスのサービス指向を提供します。

次の図は、ソリューションアーキテクチャを示しています。
awsglueブログ

ソリューションを実装するには、次の大まかな手順を実行します。

  1. 購読する AWSGlueコネクタマーケットプレイス ServiceNowから AWS Marketplace.
  2. AWS GlueStudioで接続を作成します。
  3. 作る AWS IDおよびアクセス管理 (IAM)AWSGlueの役割。
  4. 接続を使用するAWSGlueジョブを構成して実行します。
  5. Athenaを使用して、データレイク(Amazon S3)に対してクエリを実行します。

前提条件

このウォークスルーでは、次のものが必要です。

  • An AWSアカウント.
  • ServiceNowアカウント。 この投稿をフォローするには、 開発者 アカウント。多くのServiceNowオブジェクトのサンプルレコードが事前に入力されています。
  • に保存されているServiceNow接続プロパティのクレデンシャル AWSシークレットマネージャー。 シークレットマネージャーコンソールで、新しいシークレットを作成します( 他のタイプの秘密)各プロパティのキーと値のペアを使用します。次に例を示します。
    • – ServiceNowインスタンスアカウントのユーザー名(たとえば、 admin)
    • パスワード –ServiceNowインスタンスアカウントのパスワード
    • インスタンス –ServiceNowインスタンス名なし https および .service-now.com

AWS GlueStudioで接続を構成するときに使用するシークレット名をコピーします。

ServiceNow用のAWSGlueMarketplaceコネクタをサブスクライブする

接続するには、 AWS GlueMarketplaceコネクタ ServiceNowの場合。 AWSマーケットプレイスからコネクタにサブスクライブする必要があります。

  AWS GlueMarketplaceコネクタ for ServiceNowは、AWSマーケットプレイスにリストされているサードパーティの独立系ソフトウェアベンダー(ISV)によって提供されます。 サブスクリプションが完了すると、関連するサブスクリプション料金とAWS使用料が適用されます。

AWS Glueでコネクタを使用するには、AWS GlueStudioでサブスクライブされたコネクタをアクティブ化する必要があります。 アクティベーションプロセスにより、AWSアカウントにコネクタオブジェクトと接続が作成されます。

  1. AWS Glue コンソールで、選択します AWS グルースタジオ.
  2. 選択する コネクタ.
  3. 選択する マーケットプレイス.
  4. ServiceNow用のCDataAWS GlueConnectorを検索します。


コネクタをサブスクライブすると、AWSMarketplaceコネクタページに新しい設定タブが表示されます。

  1. 価格とその他の関連情報を確認します。
  2. 選択する 購読を続ける.
  3. 選択する 利用規約に同意する.

コネクタをサブスクライブした後、次の手順はコネクタを構成することです。

  1. のデフォルト選択を保持します 配送方法 および ソフトウェアバージョン 最新のコネクタソフトウェアバージョンを使用します。
  2. 選択する 起動を続行.

  1. 選択する 使用方法.


AWS GlueStudioでコネクタをアクティブ化するためのハイパーリンクを含むポップアップが表示されます。

  1. このリンクを選択して、AWS GlueStudioでServiceNowアカウントへの接続の構成を開始します。

AWS GlueStudioで接続を作成します

次の手順でAWSGlueStudioに接続を作成します。

  1. 名前 、ServiceNow接続の一意の名前を入力します。
  2. 接続クレデンシャルタイプ、選択する ユーザー名パスワード.
  3. AWSシークレット、前提条件として作成したシークレットマネージャーシークレットを選択します。

オプションで追加の詳細を提供しないでください Credentials SecretsManagerから値を取得するためです。

  1. 選択する 接続を作成し、コネクタをアクティブにします 接続の作成を終了します。

これで、サブスクライブしたServiceNowコネクタとそれに関連する接続を表示できるようになります。

AWSGlueのIAMロールを作成します

次のステップは、AWSGlueジョブに必要な権限を持つIAMロールを作成することです。 ロールの名前は文字列で始まる必要があります AWSGlueServiceRole AWS GlueStudioが正しく使用するため。 AWS Glueがユーザーに代わって他のサービスを呼び出すときに引き受けることができる、IAMロール権限を付与する必要があります。 詳細については、を参照してください。 AWSGlueのIAMロールを作成する.

次のAWSマネージドポリシーをロールにアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "{secret name arn}" ] } ]
}

権限の詳細については、を参照してください。 AWS GlueStudioユーザーに必要なIAM権限を確認します.

AWSGlueジョブを構成して実行します

接続を構成した後、AWSGlueジョブを作成して実行できます。

接続を使用するジョブを作成します

ジョブを作成するには、次の手順を実行します。

  1. AWS Glue Studioで、 コネクタ.
  2. 作成した接続を選択します。
  3. 選択する ジョブを作成.


ビジュアルジョブエディタが表示されます。 接続から派生した新しいソースノードがジョブグラフに表示されます。 右側のノード詳細パネルで、 データソースのプロパティ ユーザー入力用にタブが選択されています。

ソースノードのプロパティを構成する

上のデータソースへの接続のアクセスオプションを構成できます データソースのプロパティ タブ。 この投稿では、簡単なウォークスルーを提供します。 を参照してください AWS GlueStudioユーザーガイド

  1. ソフトウェア設定ページで、下図のように ソース メニュー、選択 ServiceNow用のCDataAWSGlueコネクタ.

  1. ソフトウェア設定ページで、下図のように データソースのプロパティ–コネクタ タブで、コネクタのソースノードが選択されていることを確認します。

  接続フィールド マーケットプレイスコネクタに関連付けられている接続の名前が自動的に入力されます。

  1. ソーステーブル名またはデータソースからデータを取得するために使用するクエリを入力します。 この投稿では、テーブル名インシデントを入力します。

  1. ソフトウェア設定ページで、下図のように 最適化の適用 メニューで、[マッピングの適用]を選択します。
  2. [ノードのプロパティ]タブで、[ノードの親]を選択します ServiceNow用のCDataAWSGlueコネクタ.
  3. 外部データソースに接続しているため、 [変換と出力スキーマ]タブを最初に調べたとき。 ソースから抽出されたスキーマは見つかりません。
  4. スキーマを取得するには、[データプレビュー]タブに移動し、[ データプレビューセッションを開始します このジョブ用に作成したIAMロールを選択します。
  5. データプレビューが完了したら、[データソース]セクションに移動して[ datapreviewスキーマを使用する.
  6. に行く 最適化の適用 データ型が次のように表示されているすべての列を確認します NULL.

  1. ソフトウェア設定ページで、下図のように ターゲット メニュー、選択 アマゾンS3.
  2. ソフトウェア設定ページで、下図のように データターゲットのプロパティ– S3 タブ、 フォーマット、選択する 寄せ木細工の床.
  3. 圧縮タイプ、選択する GZIP.
  4. S3ターゲットの場所、データを保存するAmazonS3の場所を入力します。
  5. データカタログの更新オプション選択 データカタログにテーブルを作成し、その後の実行で、既存のスキーマを保持し、新しいパーティションを追加します.
  6. データベース、 入る sampledb.
  7. テーブル名、 入る incident.

ジョブを編集、保存、および実行します

ジョブグラフのノードを追加および編集して、ジョブを編集します。 見る AWS GlueStudioでのETLジョブの編集

ジョブを編集した後、ジョブのプロパティを入力します。

  1. 選択する 仕事の詳細 ビジュアルグラフエディタの上にあるタブ。
  2. 名前 、ジョブ名を入力します。
  3. IAMの役割、前述のように、必要な権限を持つIAMロールを選択します。
  4. タイプ、選択する スパーク.
  5. 接着剤バージョン、選択する Glue 3.0 – Spark 3.1、Scala 2、Python3をサポート.
  6. 言語設定、選択する Pythonの3.
  7. 労働者の種類: G.1X
  8. 要求された労働者の数: 2
  9. 再試行回数: 1
  10. ジョブタイムアウト(分): 3
  11. 他のパラメータにはデフォルト値を使用します。

ジョブパラメータの詳細については、を参照してください。 Sparkジョブのジョブプロパティの定義.

12.ジョブを保存したら、次を選択します ラン ジョブを実行します。

注– GlueJobの実行にはコストがかかります。 AWSGlueの価格について詳しく知ることができます こちら.

ジョブ用に生成されたスクリプトを表示するには、 スクリプト ビジュアルエディタの上部にあるタブ。 The ジョブの実行 タブには、ジョブのジョブ実行履歴が表示されます。 ジョブ実行の詳細の詳細については、を参照してください。 最近のジョブ実行に関する情報を表示する.

Athenaを使用してデータレイクに対してクエリを実行する

ジョブが完了したら、Athenaのデータをクエリできます。

  1. Athenaコンソールで、 sampledb データベース。

新しく作成されたテーブルを表示できます incident.

  1. オプションアイコン(縦にXNUMXつ並んだ点)を選択し、 プレビュー表 データを表示します。

それでは、いくつかの分析を実行してみましょう。

  1. 次のクエリを実行して、エスカレーションされたすべてのインシデントチケットを検索します。
    SELECT task_effective_number FROM "sampledb"."incident" where escalation = 2;

  1. 優先度の高いチケット数を検索します。
    SELECT priority, count(distinct task_effective_number) FROM "sampledb"."incident"
    group by priority
    order by priority asc

まとめ

この投稿では、AWS Glue Studioコネクタを使用してServiceNowから接続し、さらなるユースケースのためにデータをデータレイクに取り込む方法を示しました。

AWS Glueは、JDBC接続を使用して、最も一般的に使用されるデータストア(Amazon Redshift、Amazon Aurora、Microsoft SQL Server、MySQL、MongoDB、PostgreSQLなど)の組み込みサポートを提供します。 AWS Glueでは、抽出、変換、および読み込み(ETL)ジョブでカスタムJDBCドライバーを使用することもできます。 SaaSアプリケーションなど、ネイティブでサポートされていないデータストアの場合は、コネクタを使用できます。

詳細については、 AWS GlueStudioコネクタAWS GlueStudioユーザーガイド および Athenaユーザーガイド.


著者について

ナブニット・シュクラ アナリティクスのAWSスペシャリストソリューションアーキテクトです。 彼は、顧客がデータから洞察を明らかにするのを支援することに情熱を注いでいます。 彼は、組織がデータ主導の意思決定を行うのに役立つソリューションを構築しています。

スリカントソピララ AWSのプリンシパルソリューションアーキテクトです。 彼は20年以上の経験を持つベテランのリーダーであり、顧客がスケーラブルなデータと分析ソリューションを構築してタイムリーな洞察を得て重要なビジネス上の意思決定を行うのを支援することに情熱を注いでいます。 余暇には、読書、家族との時間を過ごし、ロードバイクを楽しんでいます。

ナレシュゴータム AWSのプリンシパルソリューションアーキテクトです。 彼の役割は、顧客がデータ主導の意思決定を行えるように、可用性が高く、パフォーマンスが高く、費用効果の高いデータ分析ソリューションを設計するのを支援することです。 自由な時間には、瞑想と料理を楽しんでいます。

スポット画像

最新のインテリジェンス

スポット画像