2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Instana|多段プロキシ構成

Last updated at Posted at 2025-09-12

概要

企業ネットワークでは、セキュリティ要件により監視対象サーバーがインターネットに直接接続できない場合があります。本手順書では、2台のプロキシサーバーを経由してInstanaエージェントをInstana SaaSに接続する多段プロキシ構成の構築方法を解説します。

本記事は、以下のような方を対象としています。:

  • 企業ネットワークでセキュリティ制約下にある監視環境を運用している方
  • Instanaエージェントをインターネット接続できないサーバーに導入しようとしている方
  • 多段プロキシ構成の仕組みや設定方法を理解したい方

手順

準備
1. 仮想マシン3台の払い出し(監視対象×1、プロキシ×2)
2. プロキシサーバー構築(Squidインストール)
3. instanaエージェントのインストール

多段プロキシ構築
4. 監視対象サーバーの設定
5. プロキシサーバー①の設定
6. プロキシサーバー②の設定
確認フェーズ
7. 接続確認(ログ確認・UI確認)

構成

全体像

スクリーンショット 2025-09-12 14.37.30.png

構成要素

コンポーネント 役割 備考
監視対象サーバー Instanaエージェントが稼働 RHEL 9を想定
プロキシサーバー① 第1段階プロキシ(内部ネットワーク側) Squidを使用、待ち受けポートは 8080(※標準の3128ではなく、TechZone環境で3128が閉じていたため8080を採用)
プロキシサーバー② 第2段階プロキシ(外部ネットワーク側) Squidを使用、待ち受けポートは 8080(同上の理由により8080を採用)
Instana SaaS 監視データの収集・分析基盤 < instana-endpoint >:Instanaエージェントがメトリクスやトレースデータを送信する接続先。SaaSの場合はリージョンごとのエンドポイント(例:ingress-orange-saas.instana.io:443)を指定。オンプレ版では自社構築サーバーのURLを指定。

1. 仮想マシン3台分を用意

補足:本例では IBM TechZone を使用していますが、一般的な環境では、クラウドの場合は AWS EC2 などでインスタンスを作成し、オンプレミスの場合は VMware vSphere や Hyper-V などで仮想マシンを用意できます。

  • RHEL9IBMCloudVSIとは、IBMCloud上で用意したVMWareを指します。
  • 実際にVMWareが稼働しているか確認するには、予約詳細に載っている特定のIBMCloudアカウントで、VMWareを確認します。
  • 仮想マシンのアクセスは、macのターミナルからでも可能です。

スクリーンショット 2025-09-02 11.13.53.png

My reservation画面で仮想マシンがReadyになっていれば、払出し完了。
スクリーンショット 2025-09-02 11.46.05.png

IBMCloud画面上で、仮想マシンの稼働を確認します。
例として、監視対象サーバーでどう確認するかを取り上げます。

  • まず、IBMCloudのアカウントと、仮想サーバーの名前を予約詳細から確認する。

    • IBMCloudのアカウント→ITZ-VPC-01
    • 仮想マシンの名前→itzvsi-693000ty7y-aqise6p1
      スクリーンショット 2025-09-02 11.47.05.png
  • Environmentの上のリンクから指定のIBMCloud(ITZ-VPC-01)に入り、仮想サーバーインスタンス(itzvsi-693000ty7y-aqise6p1)が稼働中であることを確認。
    スクリーンショット 2025-09-02 11.27.15.png

2. プロキシサーバーを構築

IBMCloud上で払い出したプロキシサーバー用の仮想マシンに、Squidをインストールします。

1. ターミナルから払い出した仮想マシンにログイン
※TechZone 環境では SSH ポートが 22 ではなく 2223 となっていますが、通常の環境では 22 を使う場合もあります。使用するポートに応じてコマンドを変更してください。

ssh -i ~/<path-to-private-key>.pem -p <ssh-port> <username>@<proxy-server-ip>
# -i : 秘密鍵ファイルを指定
# -p : SSH接続ポート番号を指定(デフォルト22ではなく指定ポートを使う)
# <username>@<proxy-server-ip> : 接続先のユーザー名とIPアドレス

2. ログインした仮想マシン上で、Squidをインストール(プロキシサーバー①②両方で実施)

# パッケージの更新
sudo yum update -y

# Squidのインストール
sudo yum install -y squid

# Squidの自動起動設定
sudo systemctl enable squid

# Squidの起動
sudo systemctl start squid

# 起動状態の確認
sudo systemctl status squid
# ※ active (running) と表示されれば正常

3. 監視対象サーバーにinstanaエージェントをインストール

監視対象サーバーにInstanaエージェントをインストールします。

1. 監視対象サーバーにSSH接続

ssh -i ~/Desktop/pem_ibmcloudvsi_download_monitored.pem -p 2223 itzuser@<monitored-server-ip>

2. Instanaエージェントのインストール

ホーム画面左上から、データソースの設定→Instanaエージェントのインストール→Linux 自動インストール (One-liner)を選択し以下のページに移動。
ステップ2のコードをコピペして実行するだけで、インストール完了です!
agentkeyキャプチャーのコピー.tiff

4. 監視対象サーバーの設定

Instanaエージェントがプロキシサーバー①を経由するよう設定します。
この際、一度instanaバックエンドから監視対象サーバーが見られなくなります。通信がプロキシサーバー①で止まっているからです。

  • < instana-agent-install-dir >/agent/etc/instana/com.instana.agent.main.sender.Backend.cfgを編集します。
  • < instana-agent-install-dir >のデフォルトは/opt/instana/agentです。
host=< instana-endpoint >    # 最終的な宛先(Instana SaaS のエンドポイント)
port=443                               # HTTPS通信用のポート番号
protocol=HTTP/2                        # 高速化されたHTTP/2プロトコルを使用
key=<key>                             # Instana認証用のAPIキー

proxy.host=<proxy1-ip-address>        # 直接接続するプロキシサーバー①のIPアドレス
proxy.port=8080                       # プロキシサーバー①の待受ポート
proxy.type=http                       # プロキシの種類(HTTPプロキシを指定)

5. プロキシサーバー①の設定

Squid.confの設定ファイルを編集して、監視対象サーバーからの接続を許可し、プロキシサーバー②への接続を設定します。
(監視対象サーバー→プロキシサーバー①→プロキシサーバー②への通信の流れを設定)

# Squid port
http_port 8080                        # Squidの待受ポート(監視サーバーからの接続を受付)

# ACL 定義
acl SSL_ports port 443                # SSL/TLS通信で使用するポート(443番)を定義
acl Safe_ports port 443               # 安全とみなすポート(443番のみ許可)を定義
acl CONNECT method CONNECT            # HTTP CONNECTメソッド(HTTPS通信用)を定義
acl allowed_https_sites dstdomain < instana-endpoint >  # 接続許可する宛先ドメイン
acl client_net src <agent-ip-address> # 接続を許可するクライアント(監視サーバー)のIPアドレス

# アクセス制御
http_access allow client_net allowed_https_sites  # 指定クライアントから指定サイトへのアクセスを許可
http_access allow CONNECT SSL_ports               # SSL/TLSポートへのCONNECTメソッドを許可
http_access allow Safe_ports                      # 安全ポートへのアクセスを許可
http_access deny all                              # 上記以外はすべて拒否

# proxy2 へのフォワード
cache_peer <proxy2-ip-address> parent 8080 0 no-query default  # すべてのリクエストをプロキシサーバー②に転送
never_direct allow all                            # 直接接続を禁止し、必ずプロキシサーバー②を経由

# ログ設定
access_log /var/log/squid/access.log squid       # アクセスログの出力先(通信記録用)

6. プロキシサーバー②の設定

Squid.confの設定ファイルを編集し、プロキシ①からの接続を許可します。(プロキシサーバー①→プロキシサーバー②への接続を設定)

# Squid port
http_port 8080

# ACL 定義
acl SSL_ports port 443
acl Safe_ports port 443
acl CONNECT method CONNECT
acl allowed_https_sites dstdomain < instana-endpoint >
acl client_net src <proxy1-ip-address>

# アクセス制御
http_access allow client_net allowed_https_sites
http_access allow CONNECT SSL_ports
http_access allow Safe_ports
http_access deny all
# ログ設定
access_log /var/log/squid/access.log

7. 接続確認

1. Instanaエージェントのログ確認

# エージェントログの確認
sudo tail -f /opt/instana/agent/data/log/agent.log

正常接続時のログ例:

INFO  | <instana-endpoint>:443-8-1 | Backend | com.instana.agent-backend - 1.0.7 | Connected using HTTP/2 to <instana-endpoint>:443 with id '02:00:43:ff:fe:5d:e6:54' and key '*** (redacted)'

2. プロキシサーバー①のログ確認

# Squidアクセスログの確認
sudo tail -f /var/log/squid/access.log

正常時のログ例:

<monitoring-server-ip> TCP_TUNNEL/200 9281 CONNECT ingress-orange-saas.instana.io:443 - FIRSTUP_PARENT/<proxy2-ip-address> -

3. プロキシサーバー②のログ確認

# Squidアクセスログの確認
sudo tail -f /var/log/squid/access.log

正常時のログ例:

<proxy1-ip-address> TCP_TUNNEL/200 9281 CONNECT ingress-orange-saas.instana.io:443 - HIER_DIRECT/<instana-saas-ip> -

4. Instana UIでの確認

  1. Instana UIにログイン
  2. 「Infrastructure」→「Hosts」で監視対象サーバーが表示されることを確認
  3. メトリクス収集が正常に行われていることを確認

まとめ

本手順により、多段プロキシ構成でのInstanaエージェントの監視が可能になります。セキュリティ要件の厳しい環境でも、段階的にプロキシを経由させることで安全にSaaS型監視サービスを利用できます。

読んでいただき、ありがとうございました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?