Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerRuntime Fabric は、アプリケーションを実行およびホストするときに 2 種類のプロキシを使用します。
システムプロキシ: Docker デーモンやその他の内部コンポーネントを含む、Kubernetes クラスターサービス間の接続を可能にするプロキシが含まれます。Runtime Fabric を使用する場合は、システムプロキシを設定および管理する必要があります。
アプリケーションプロキシ: Runtime Fabric で実行されているアプリケーションへの接続を可能にするプロキシが含まれます。
インターネットへの Runtime Fabric アウトバウンド接続で使用するプロキシ設定を設定できます。これには、Anypoint コントロールプレーンに接続するための HTTP プロキシと、メトリクスとログを Anypoint Monitoring に送信するための SOCKS5 プロキシの両方が含まれます。アプリケーションのプロキシを設定することもできます。
Runtime Fabric のプロキシ設定を管理するには、rtfctl
コマンドラインツールが必要です。プロキシ設定を行う前に、rtfctl をインストールする手順を実行します。
Helm を使用してインストールする場合は、Runtime Fabric のインストール中にプロキシ設定を適用できます。詳細は、「Helm を使用した Runtime Fabric のインストール」を参照してください。 |
監視エージェントは SOCKS5 プロキシを使用するため、Anypoint Monitoring を使用する場合は 2 つのプロキシ種別が必要です。
SOCKS5 プロキシは、次のエンドポイントで TCP 経由で Anypoint Monitoring に接続する必要があります。
US コントロールプレーン: dias-ingestor-router.us-east-1.prod.cloudhub.io
EU コントロールプレーン: dias-ingestor-router.eu-central-1.prod-eu.msap.io
rtfctl
がインストールされているノードにログインします。
次のコマンドを実行し、プレースホルダーの値を次の値に置き換えます。
sudo /opt/anypoint/runtimefabric/rtfctl apply monitoring-proxy "socks5://<user>:<pass>@<10.0.0.2>:<8080>"
<user>: SOCKS5 プロキシの認証に必要なユーザー名。
<pass>: SOCKS5 プロキシの認証に必要なパスワード。
パスワードは URL にエンコードされている必要があります。 |
<10.0.0.2>: SOCKS5 プロキシへのアクセスに使用される IP アドレスまたはホスト名。
<8080>: SOCKS5 プロキシが要求をリスンするホストのポート。
変更が成功したことを確認するには、次のコマンドを実行して、監視プロキシの現在の値を出力します。
sudo /opt/anypoint/runtimefabric/rtfctl get monitoring-proxy
出力は期待される値と一致する必要があります。
アウトバウンドコンポーネントがコントロールプレーンと通信できるように HTTP プロキシと HTTPS プロキシを設定できます。
HTTP プロキシを更新すると、クラスター内の各マシンは、マシンで実行されているすべてのポッドを再起動します。複数のレプリカを実行している場合、ダウンタイムは発生しませんが、メンテナンスウィンドウ中に HTTP プロキシの更新を実行する必要があります。
Runtime Fabric 内で実行されているサービスにプロキシの値を適用する。
Runtime Fabric インストーラー 1.0.x を使用している場合は、Runtime Fabric の各ノードでスクリプトを実行してクラスターを更新する。
rtfctl
がインストールされているノードにログインします。
次のコマンドを実行し、プレースホルダーの値を次の値に置き換えます。
sudo /opt/anypoint/runtimefabric/rtfctl apply http-proxy "http://<user>:<pass>@<10.0.0.1>:<8080>" --no-proxy "<1.1.1.1:8888,2.2.2.2:9999>"
<user>: HTTP プロキシの認証に必要なユーザー名。
<pass>: HTTP プロキシの認証に必要なパスワード。
パスワードは URL にエンコードされている必要があります。 |
<10.0.0.1>: HTTP プロキシにアクセスするための IP アドレスまたはホスト名を指定します。
<8080>: HTTP プロキシが要求をリスンするホストのポートを指定します。
<1.1.1.1:8888,2.2.2.2:9999>: カンマで区切られた RTF_NO_PROXY
ホストとポートを指定します。
(省略可能) --confirm
: 変更の手動の肯定応答をスキップします。指定しなかった場合、rtfctl apply proxy
コマンドでは、続行する前に変更を確認することが求められます。
変更が成功したことを確認するには、次のコマンドを実行して、HTTP プロキシの現在の値を出力します。
sudo /opt/anypoint/runtimefabric/rtfctl get http-proxy
出力は期待される値と一致する必要があります。
プロキシ値を削除するには、次のコマンドを実行します。
sudo /opt/anypoint/runtimefabric/rtfctl apply http-proxy '' --no-proxy ''
Runtime Fabric のサービスにプロキシを適用したら、次のような警告が表示される場合があります。
Warning: Proxy configurations in the environment "HTTP_PROXY: " does not match configurations in Runtime Fabric "YOUR_PROXY"
Runtime Fabric で この警告が生成されるのは、HTTP_PROXY
環境変数を設定していないこと、または変数が Runtime Fabric サービスに使用される値と一致しないことを知らせるためです。これらの設定は必ずしも一致している必要はありませんが、Runtime Fabric ではサービスが影響を受ける可能性もあることを知らせるために警告が生成されます。
多くの Linux ツールでは HTTP_PROXY
環境変数を使用してそのプロキシ設定を提供しています。環境にインターネットアクセス用のプロキシが必要な場合、インターネットアクセスが必要なコマンド用に HTTP_PROXY
環境変数を設定する必要がある可能性が高くなります。
これにより、kubectl
のように HTTP または HTTPS 操作を使用するがインターネットアクセスが不要な他のツールに影響する可能性もあります。NO_PROXY
環境変数を使用して、プロキシする必要がない接続を確立できます。
環境変数によるそのプロキシの動作に対する影響に関する詳細は、Linux ツールのドキュメントを参照してください。
プロキシを使用して、API Manager で管理する Mule アプリケーション用の通信を確立できます。すべてのアプリケーションに同じ設定を使用している場合でも、このプロキシ設定は各 Mule アプリケーションで定義する必要があります。この設定はアプリケーションが他の外部エンドポイントと通信するために使用するアプリケーションレベルのプロキシとは無関係です。
API Manager エージェントのプロキシを設定するには、次のプロパティをアプリケーションに追加します。
anypoint.platform.proxy_host=hostname anypoint.platform.proxy_port=port anypoint.platform.proxy_username=username anypoint.platform.proxy_password=password
Runtime Fabric でデプロイされるアプリケーションは、Runtime Fabric クラスターからプロキシ設定を継承します。各アプリケーションでプロキシを設定することもできます。
各コネクタ (HTTP リクエスターなど) でプロキシを設定するか、または次の例に示すようにアプリケーションのプロパティでプロキシを設定することができます。アプリケーションで多くのコネクタを使用する場合は、アプリケーションのプロパティでプロキシを設定した方が楽です。
http.nonProxyHosts=localhost|*.svc.cluster.local|*.monitoring.svc.cluster.local http.proxyHost=172.19.0.23 http.proxyPort=3128 https.proxyHost=172.19.0.23 https.proxyPort=3128 java.net.useSystemProxies=false com.ning.http.client.AsyncHttpClientConfig.useProxySelector=false com.ning.http.client.AsyncHttpClientConfig.useProxyProperties=true