InformaticaのクラウドサービスIDMCのSecure Agentを自動起動するようにしてみた

# はじめに
はじめまして。 [NTTデータ ソリューション事業本部 デジタルサクセスソリューション事業部](https://www.nttdata.com/jp/ja/services/data-and-intelligence/) の nttd-nagano です。

[Informatica（インフォマティカ）](https://www.informatica.com/jp/) （※1）のクラウドデータマネージメントプラットフォームとして、「[Intelligent Data Management Cloud](https://www.informatica.com/jp/platform.html)」（※2。以下IDMCと記載）というものがあります。

<details><summary>※1. Informatica（インフォマティカ）</summary>

Informaticaは1993年に米国カリフォルニア州で設立され、2004年に日本法人を設立したデータマネジメント市場のパイオニア。Fortune100のうち86社を含む、100ヶ国以上の5000を超える企業がInformaticaのソリューションを採用しており、同社のクラウドは月間86兆件ものトランザクションを処理している。
</details>

<details><summary>※2. Intelligent Data Management Cloud</summary>

略称はIDMC。旧称はIICS。クラウドデータマネジメントプラットフォーム。以下IDMCと記載。
</details>

IDMCでは、ETL（※3）やELT（※4）などのタスクを実行する環境として「Agent」という軽量プログラムが必要になります。

<details><summary>※3. ETL処理</summary>

データベースなどに蓄積されたデータから必要なものを抽出（Extract）し、目的に応じて変換（Transform）し、データを必要とするシステムに格納（Load）すること。
</details>

<details><summary>※4. ELT処理</summary>

ETL処理（※3）と対比して使われることが多い言葉。データ統合処理の順序を従来型のE→T→Lの順ではなく、E→L→Tの順でおこなう。近年ではDBMSの性能が爆発的に向上したことから、その性能を有効活用するために使われる手法｡
</details>

Agentには大きく分けて次の2種類があります。

* Informatica Cloud Hosted Agent
    * IDMCホスティング機能内で実行されるAgent。
* Secure Agent
    * オンプレミスのデータにアクセスする必要がある場合や、Informatica Cloud Hosted Agentを使用せずにSaaSのデータにアクセスする場合に使用するAgent。ユーザーがインストーラをダウンロードして、WindowsやLinuxにインストールする。

さて、このうち後者の「Secure Agent」ですが、LinuxにインストールしただけではLinuxが起動する際に自動的に起動せず、手作業で起動する必要があります（Windowsの場合は自動的に起動しますが、後述の通り設定を変更しておいた方がよい箇所があります）。

参考：[LinuxでのSecure Agentの起動および停止](https://docs.informatica.com/ja_jp/cloud-common-services/administrator/current-version/_runtime-environments_administrator_current-version_ditamap/GUID-9AFA9A02-2E5D-4650-A6E0-534DEC0A1B39/GUID-6B0C217D-AA73-46D0-A457-95D5162BD400.html)

そこで、 **今回は、Secure Agentを自動起動する方法をご紹介します。**

![idmc_summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/940f1296-1fc7-0183-3b17-7c73d57db461.png)

# LinuxでのSecure Agentの自動起動

Informatica Communityに次のKB記事がありますので、こちらに基づいてご説明します。
* [HOW TO: Run the Secure Agent as a service and start automatically at the server startup in Linux in CDI](https://knowledge.informatica.com/s/article/HOW-TO-RUN-SECURE-AGENT-AS-SYSTEM-SERVICE-IN-LINUX?language=en_US&type=external)

Secure Agentの自動起動を実現するために、ここではsystemdのユニットファイルを作ります。

なお、systemdの詳細については、Red Hat Enterprise Linux 8の公式ドキュメントをご覧ください。
* [第14章 systemd の管理 Red Hat Enterprise Linux 8 | Red Hat Customer Portal](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-systemd_configuring-basic-system-settings)

手順は次の通りです。

1. Secure Agentが動作している場合は、Secure Agentをインストールしたマシンに接続し、次のようにしてSecure Agentを停止させる。  
`<agent_home>` はSecure Agentをインストールしたディレクトリに読み替えてください。  
なお、前述のKB記事では `ExecReload` ディレクティブも指定されていますが、Systemdのreloadで実現すべき「設定の再読み込み」という挙動をstop→startで実現しようとしており、これはrestartと変わらず意義がないため、省いています。
    ```
    <agent_home>/apps/agentcore/infaagent.sh shutdown
    ```
1. `/etc/systemd/system` 配下に `secure-agent.service` を作成する。内容は以下の通り。（ `<username>` はSecure Agentを実行するユーザー、 `<agent_home>` はSecure Agentをインストールしたディレクトリに読み替えてください）
    ```
    [Unit]
    Description=Informatica Secure Agent Service
    [Service]
    # user which will run agent
    User=<username>
    # following must be an absolute path typically <agent_home> will be /home/user/infagent
    WorkingDirectory=<agent_home>/apps/agentcore
    ExecStart=<agent_home>/apps/agentcore/infaagent.sh startup
    ExecStop=<agent_home>/apps/agentcore/infaagent.sh shutdown
    Type=forking
    TimeoutStopSec=240
    Restart=on-failure
    RestartSec=5
    [Install]
    WantedBy=multi-user.target
    ```
1. Unitファイルをリロードする。
    ```
    sudo systemctl daemon-reload
    ```
1. サービスを有効にする。
    ```
    sudo systemctl enable secure-agent.service
    ```
1. サービスが有効化されていることを確認する。
    ```
    systemctl list-unit-files | grep secure-agent
    ```
1. サービスを開始する。
    ```
    sudo systemctl start secure-agent.service
    ```
1. Linuxを再起動する。

# WindowsでのSecure Agentの自動起動

Windowsの場合はSecure Agentのインストール時に、「Informatica Cloud Secure Agent」というWindowsサービスが自動的に開始するように設定されます。

ただし、サービスの設定を一部変更しておいた方が良い箇所があります。

ということで、自動的に開始する設定の確認をしつつ、この設定も変更してみます。

Informatica Communityに次の記事がありますので、こちらに基づいてご説明します。
* [HOW TO: Automatically restart the IICS Secure Agent on Bootup/Reboot of Linux based machine/Windows machine](https://knowledge.informatica.com/s/article/HOW-TO-Automatically-restart-the-IICS-Secure-Agent-on-Bootup-Reboot-of-Linux-based-machine?language=en_US&type=external)

手順は次の通りです。

1. Windowsキー + Rを押して、「ファイル名を指定して実行」ウィンドウを表示させる。
1. `services.msc` と入力する。
1. 「Informatica Cloud Secure Agent」を右クリックする。
![infaagent_autostart_windows_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/0db34ee0-3e30-1449-717b-cd15e2410c3d.png)
1. コンテキストメニューにて「プロパティ」をクリックする。
1. 「スタートアップの種類」の設定値が「自動」になっていることを確認する。
![infaagent_autostart_windows_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/d8a4607f-2673-e716-9a27-951e8979eb4a.png)
1. 「回復」タブをクリックする。
1. 「最初のエラー」欄の設定値を「サービスを再起動する」に設定する。
1. 「次のエラー」欄の設定値を「サービスを再起動する」に設定する。
1. 「その後のエラー」欄の設定値を「サービスを再起動する」に設定する。
![infaagent_autostart_windows_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/c9fbe17f-d8f2-5d39-30fe-67c485b6914e.png)
1. 「OK」ボタンをクリックする。
1. Windowsを再起動する。

# Secure Agentが起動しない場合

Secure Agentが起動しない場合は、公式ドキュメントやInformatica CommunityのMASTER KB（※5）をご覧ください。

* [Secure Agentのトラブルシューティング](https://docs.informatica.com/ja_jp/cloud-common-services/administrator/current-version/_runtime-environments_administrator_current-version_ditamap/GUID-9AFA9A02-2E5D-4650-A6E0-534DEC0A1B39/GUID-EAFBDB07-5EC4-4B25-B9C0-FAC8156F214A.html)
* [MASTER KB: IDMC Secure Agent](https://knowledge.informatica.com/s/article/MASTER-KB-IDMC-Secure-Agent?language=en_US&type=external)
* [MASTER KB: Secure Agent - Common issues](https://knowledge.informatica.com/s/article/MASTER-KB-IDMC-Secure-Agent?language=en_US&type=external)
* [MASTER KB: Cloud Data Integration](https://knowledge.informatica.com/s/article/MASTER-KB-Cloud?language=en_US&type=external)

<details><summary>※5. MASTER KB</summary>

「MASTER KB」とはKnowledge Base記事のまとめ記事です。
</details>

# おわりに

以上、「InformaticaのクラウドサービスIDMCのSecure Agentを自動起動するようにしてみた」でした。

**[IDMCのデータ統合サービスCDIは30日間の無料体験ができる](https://www.informatica.com/jp/trials/informatica-cloud.html)** ので、この機会に試してみてはいかがでしょうか。

## 仲間募集

NTTデータ ソリューション事業本部 では、以下の職種を募集しています。

<details><summary>1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)</summary>

クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer

</details>

<details><summary>2. データサイエンス領域（データサイエンティスト／データアナリスト）</summary>

データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist

</details>

<details><summary>3.お客様のAI活用の成功を推進するAIサクセスマネージャー</summary>

DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。
https://nttdata-career.jposting.net/u/job.phtml?job_code=804

</details>

<details><summary>4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》</summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。

https://nttdata-career.jposting.net/u/job.phtml?job_code=898

</details>

## ソリューション紹介

<details><summary> Trusted Data Foundationについて</summary><div>

～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://www.nttdata.com/jp/ja/lineup/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</div></details>


<details><summary> TDFⓇ-AM（Trusted Data Foundation - Analytics Managed Service）について</summary><div>

～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～
https://www.nttdata.com/jp/ja/lineup/tdf_am/
TDFⓇ-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。

</div></details>

<details><summary> NTTデータとInformaticaについて</summary><div>

データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。
https://www.nttdata.com/jp/ja/lineup/informatica/

</div></details>

<details><summary>NTTデータとTableauについて </summary><div>

ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。

これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。
https://www.nttdata.com/jp/ja/lineup/tableau/

</div></details>

<details><summary>NTTデータとAlteryxについて </summary><div>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。

Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。

導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。

https://www.nttdata.com/jp/ja/lineup/alteryx/

</div></details>

<details><summary>NTTデータとDataRobotについて </summary><div>
DataRobotは、包括的なAIライフサイクルプラットフォームです。

NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。

https://www.nttdata.com/jp/ja/lineup/datarobot/

</div></details>

<details><summary>NTTデータとDatabricksについて </summary><div>
NTTデータでは、Databricks Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Databricks」の導入・構築、および活用支援を開始しています。

NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Databricksは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。

https://www.nttdata.com/jp/ja/lineup/databricks/

</div></details>