フォワード・プロキシーを使用して通信するためのエージェントの構成

ご使用のファイアウォール・ルールで外部ホストへの透過的アウトバウンド HTTPS 接続が許可されていない場合は、トラフィックをフォワード・プロキシーに送信するように IBM® モニター・エージェントを構成できます。KDH_FORWARDPROXY 環境変数を編集して、エージェントがフォワード・プロキシーを介して通信するように構成します。

始める前に

エージェントが接続する Cloud APM データ・センターの IP アドレスを判別するには、Data Center IP addresses (APM Developer Center) を参照してください。. その後、ファイアウォール・ルールを調整して、確認した IP アドレスにフォワード・プロキシーから要求を送信できるようにしてください。

openssl コマンドを使用すると、エージェントがインストールされているコンピューター・システムが、Cloud APM データ・センターの各サーバーと接続できるかどうかを確認することができます。openssl コマンドを使用して、Cloud APM で使用されている暗号スイートがネットワークでサポートされているかどうかを確認することもできます。openssl コマンドの結果、コンピューター・システムが接続できないことが示された場合は、フォワード・プロキシーをセットアップしなければならない可能性があります。コマンドの結果が Cloud APM サーバー証明書を取得できなかったことを示している場合は、ネットワーク・チームと協力して、必要な暗号スイートがサポートされていない理由を判別してください。Cloud APM で使用される暗号スイートのリストについては、セキュア通信を参照してください。

以下の例に示すように、openssl コマンドを実行します。
echo quit | openssl s_client
-state -connect <domain-name>:443
-tls1_2 -cipher
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384

ここで、domain-nameCloud APM のサブスクリプションのドメイン名 (例: 8b68ba1b9.agents.na.apm.ibmserviceengage.com) です。

サブスクリプションのドメイン名を調べるには、以下の手順を実行します。
  1. テキスト・エディターで、以下のエージェント環境構成ファイルを開きます。

    Linux または AIX/opt/ibm/apm/agent/config/global.environment

    Windows
install_dir¥TMAITM6_x64¥KpcENV (64 ビットの Windows システムの場合)、または install_dir¥TMAITM6¥KpcENV (32 ビットの Windows システムの場合)。ここで、pc はエージェントの製品コードを示します。

    製品コードのリストについては、エージェント・コマンドの使用を参照してください。

  2. IRA_ASF_SERVER_URL 変数を探します。この値は、https://domain-name/ccm/asf/request の形式になっています。openssl コマンドでは、この値のドメイン名の部分を使用します。

接続が成功すると、次の例のようなメッセージが表示されます。
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=2 C = US, O = IBM Service Engage,
CN = ca_ec_384.ibmserviceengage.com
verify error:num=19:self signed certificate in certificate chain
verify return:0
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server certificate request A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client certificate A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A
---
Certificate chain
0 s:/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=*.agents.na.apm.ibmserviceengage.com
i:/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN =ca_ec_384.apm.ibmserviceengage.com
1 s:/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=ca_ec_384.apm.ibmserviceengage.com
i:/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
2 s:/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
i:/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
---
Server certificate
-----BEGIN CERTIFICATE-----
MIICkjCCAhegAwIBAgIIXlr284nLPaMwDAYIKoZIzj0EAwMFADCBhDELMAkGA1UE
BgwCVVMxGzAZBgNVBAoMEklCTSBTZXJ2aWNlIEVuZ2FnZTErMCkGA1UECwwiQXBw
bGljYXRpb24gUGVyZm9ybWFuY2UgTWFuYWdlbWVudDErMCkGA1UEAwwiY2FfZWNf
Mzg0LmFwbS5pYm1zZXJ2aWNlZW5nYWdlLmNvbTAeFw0xMzEyMDIxNjM2MDlaFw0y
MzEyMDExNjM2MDlaMIGGMQswCQYDVQQGDAJVUzEbMBkGA1UECgwSSUJNIFNlcnZp
Y2UgRW5nYWdlMSswKQYDVQQLDCJBcHBsaWNhdGlvbiBQZXJmb3JtYW5jZSBNYW5h
Z2VtZW50MS0wKwYDVQQDDCQqLmFnZW50cy5uYS5hcG0uaWJtc2VydmljZWVuZ2Fn
ZS5jb20wdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQmrGoCkAMoNAC3F6MIo1zR8fcO
mczYXtUux2bhlOibn3jQdxamhDR91nr2RBerGjMIITKNXd2MaOr3b6m8euk1BAL3
KsbN9lqvw94kXg0BTO1IHAcdsZQB+AuEVVhmDVGjUDBOMAwGA1UdEwEB/wQCMAAw
HwYDVR0jBBgwFoAU/zpE5TOnQ8LSuvbSWRfpbiGea08wHQYDVR0OBBYEFHL0At4O
GUdcOHVGg4Tfo4hl7LLGMAwGCCqGSM49BAMDBQADZwAwZAIwDWPHo5I04ZFVrkfk
St6gwH2UNF37jBscRN1lOE4SIwezZAqVs42BNMkWRjJBgiHzAjBm4m3zOjsXzNL8
+u8ALjQQCpBDT6dUHujzY5CRxG0xEHi5IXsXf4QwbctnjjvTeYA=
-----END CERTIFICATE-----
subject=/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=*.agents.na.apm.ibmserviceengage.com
issuer=/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=ca_ec_384.apm.ibmserviceengage.com
---
Acceptable client certificate CA names
/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=ca_ec_384.apm.ibmserviceengage.com
/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert
Global Root CA/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=*.agents.na.apm.ibmserviceengage.com
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 2659 bytes and written 261 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-ECDSA-AES128-GCM-SHA256
Server public key is 384 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-ECDSA-AES128-GCM-SHA256
Session-ID:
A18C31D0B45A1166357C917E1CFCD86A9FBEDB4A0EB768EF5390AC28C95CB7EF
Session-ID-ctx:
Master-Key:
252B8FE2731E51AC0B79A27C7BED33CA8B15AF4CFD015C98DBACA46EA01DC40B
9E6B56E62E0F332FF6B56266B5ADD7B0
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1510772474
Timeout : 7200 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
---
DONE
SSL3 alert write:warning:close notify

コンピューター・システムが Cloud APM サーバーに接続できない場合、次の例のようなメッセージが表示されます。
getaddrinfo: Name or service not known
connect:errno=2

ネットワーク内のどこかで暗号スイートがブロックされているためにコンピューター・システムがサーバー証明書を取得できない場合、次の例のようなメッセージが表示されます。
SSL_connect:failed
---
no peer certificate available
---
No client certificate CA names sent

このタスクについて

フォワード・プロキシーが使用された場合、エージェントは最初にそのプロキシーとの TCP 接続を開きます。エージェントは、HTTP CONNECT 要求、およびターゲット・エンドポイント (Cloud APM サーバー) の URL をフォワード・プロキシーに送信します。次に、フォワード・プロキシーがターゲット・エンドポイントとの間に TCP 接続を確立し、エージェントと Cloud APM サーバーとの間の HTTPS トンネリング・セッションをセットアップします。

図 1. フォワード・プロキシー使用時の接続図
フォワード・プロキシー使用時の接続図。

モニター・エージェントはプロキシーの認証はサポートしていません。つまり、エージェントは、構成されているプロキシー・ユーザー ID およびパスワードを使用することによる、フォワード・プロキシーへのログオンはサポートしていません。

手順

  1. テキスト・エディターで、以下のエージェント環境構成ファイルを開きます。

    Linux または AIXinstall_dir/config/global.environment ファイル。ここで、install_dir はエージェントのインストール済み環境のホーム・ディレクトリーです。global.environment ファイルで、インストール・ディレクトリーにあるすべてのエージェントの構成を行います。

    .global.environment ファイル内のカスタマイズされた設定は、エージェントのアップグレード後に失われます。設定した値を保持するには、global.environment ファイルでカスタマイズ変更を行います。このファイル内の設定値は、エージェントのアップグレードによって上書きされません。

    Windows
install_dir¥TMAITM6_x64¥KpcENV ファイル (64 ビット・エージェントの場合)、および install_dir¥TMAITM6¥KpcENV (32 ビット・エージェントの場合)。ここで、pc はエージェント製品コードです。エージェントごとに KpcENV ファイルを構成します。

    製品コードのリストについては、エージェント・コマンドの使用を参照してください。

  2. KDH_FORWARDPROXY 環境変数を編集して、プロキシーのアドレスとポートを指定します。
    KDH_FORWARDPROXY=http://proxy-address:proxy-port-number
    例:
    KDH_FORWARDPROXY=http://HostA:8085
  3. エージェントを再始動して変更内容を実装します。エージェント・コマンドの使用を参照してください。