サイドカープロキシは、サービスコールのネットワークセキュリティ、信頼性、および可観測性を向上させるために使用されます。ただし、トラフィックがサイドカープロキシを通過する必要がないシナリオでは、さまざまな方法を使用して設定を行い、トラフィックがサイドカープロキシをバイパスできるようにすることができます。このトピックでは、インバウンドトラフィックとアウトバウンドトラフィック、または特定の CIDR ブロックに転送されるトラフィックがサイドカープロキシをバイパスするように設定する方法について説明します。
前提条件
ASM インスタンスが作成されていること。詳細については、「ASM インスタンスを作成する」をご参照ください。
Container Service for Kubernetes(ACK)マネージドクラスターが作成されていること。詳細については、「ACK マネージドクラスターを作成する」をご参照ください。
イングレスゲートウェイがデプロイされていること。詳細については、「イングレスゲートウェイを作成する」をご参照ください。
インバウンドトラフィックとアウトバウンドトラフィックがサイドカープロキシをバイパスするように設定する
一部のシナリオでは、高パフォーマンスが要求され、相互トランスポート層セキュリティ(mTLS)認証や Service Mesh(ASM)によって提供されるトレース分析機能などのセキュリティ認証は不要です。このようなシナリオでは、インバウンドトラフィックとアウトバウンドトラフィックがサイドカープロキシをバイパスするかどうかを指定できます。この例では、ポート 7001、7002、および 7005 を介したインバウンドトラフィックがサイドカープロキシをバイパスし、アウトバウンドトラフィックがサイドカープロキシを通過するように設定されています。このようにして、特定のインバウンドトラフィックはサイドカープロキシをバイパスできます。これにより、istio-proxy サイドカープロキシに必要なリソースが削減され、全体的なパフォーマンスが向上します。アウトバウンドトラフィックはサイドカープロキシを通過する必要があります。したがって、ASM のロードバランシングなどの機能を使用できます。

方法 1:ASM コンソールでサイドカープロキシのブロックポリシーを設定する
この例では、デフォルトの名前空間が使用されます。 [サイドカープロキシにリダイレクトされるアウトバウンドトラフィックのポート] と [サイドカープロキシにリダイレクトされないインバウンドトラフィックのポート] パラメーターを指定することで、デフォルトの名前空間でサイドカープロキシのブロックポリシーを設定できます。
ASM コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、設定する ASM インスタンスを見つけます。 ASM インスタンスの名前をクリックするか、[アクション] 列の [管理] をクリックします。
ASM インスタンスの詳細ページで、左側のナビゲーションウィンドウの を選択します。
[サイドカープロキシ設定] ページで、[名前空間] タブをクリックします。
名前空間ドロップダウンリストから [default] を選択し、[ポートまたは IP アドレスによるサイドカープロキシの有効化/無効化] の左側にある
アイコンをクリックし、次の表に記載されているパラメーターを選択して設定し、[設定の更新] をクリックします。パラメーター
説明
[サイドカープロキシにリダイレクトされるアウトバウンドトラフィックのポート]
アウトバウンドトラフィックがサイドカープロキシを通過するポート。この例では、このパラメーターを 7001,7002,7005 に設定します。
[サイドカープロキシにリダイレクトされないインバウンドトラフィックのポート]
アウトバウンドトラフィックがサイドカープロキシを通過するポート。この例では、このパラメーターを 7001,7002,7005 に設定します。
サイドカープロキシの設定を有効にするには、ポッドを再起動します。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のウィンドウで、 を選択します。
[ポッド] ページで、削除するポッドを見つけて、[アクション] 列の を選択します。
表示されるダイアログボックスで、[OK] をクリックします。
ポッドが再起動するまで待ちます。設定は、ポッドの再起動後に有効になります。
方法 2:ACK コンソールでサイドカープロキシのブロックポリシーを設定する
この例では、Deployment が使用されます。ポッドの YAML ファイルに注釈を追加して、サイドカープロキシのブロックポリシーを設定します。詳細については、「リソース注釈を追加してサイドカープロキシを設定する」をご参照ください。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のウィンドウで、 を選択します。
[デプロイメント] ページで、管理するアプリケーションを見つけて、[アクション] 列の [詳細] をクリックします。
アプリケーション詳細ページの右上隅にある [YAML で表示] をクリックします。
[YAML の編集] ダイアログボックスで、次のコンテンツを spec.template.metadata パラメーターに追加し、[更新] をクリックします。
annotations: traffic.sidecar.istio.io/excludeInboundPorts: '7001,7002,7005' traffic.sidecar.istio.io/includeOutboundPorts: '7001,7002,7005'
サイドカープロキシの設定を有効にするには、ポッドを再起動します。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のウィンドウで、 を選択します。
[ポッド] ページで、削除するポッドを見つけて、[アクション] 列の を選択します。
表示されるダイアログボックスで、[OK] をクリックします。
ポッドが再起動するまで待ちます。設定は、ポッドの再起動後に有効になります。
特定の CIDR ブロックに転送されるトラフィックがサイドカープロキシをバイパスするように設定する
この例では、CIDR ブロック 47.XX.XX.144/32 に転送されるトラフィックがサイドカープロキシをバイパスすることが許可されています。必要に応じて、次の方法を使用できます。
方法 1:ASM コンソールでサイドカープロキシのブロックポリシーを設定する
ASM コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、設定する ASM インスタンスを見つけます。 ASM インスタンスの名前をクリックするか、[アクション] 列の [管理] をクリックします。
ASM インスタンスの詳細ページで、左側のナビゲーションウィンドウの を選択します。
グローバルレベルまたは名前空間レベルでサイドカープロキシのブロックポリシーを設定します。
[グローバルレベル]
[サイドカープロキシ設定] ページで、[グローバル] タブをクリックします。
アイコンをクリックし、[サイドカープロキシをポートまたは IP アドレスで有効/無効にする] の左側にある [サイドカープロキシに外部アクセスがリダイレクトされないアドレス] パラメータを 47.XX.XX.144/32 に設定し、[設定の更新] をクリックします。
[名前空間レベル]
[サイドカープロキシ設定] ページで、[名前空間] タブをクリックします。
名前空間タブで、名前空間ドロップダウンリストから [default]
を選択します。 [ポートまたは IP アドレスによるサイドカープロキシの有効化/無効化] の左側にある アイコンをクリックし、[サイドカープロキシにリダイレクトされない外部アクセス先アドレス] パラメーターを 47.XX.XX.144/32 に設定し、[設定の更新] をクリックします。
サイドカープロキシの設定を有効にするには、ポッドを再起動します。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のウィンドウで、 を選択します。
[ポッド] ページで、削除するポッドを見つけて、[アクション] 列の を選択します。
表示されるダイアログボックスで、[OK] をクリックします。
ポッドが再起動するまで待ちます。設定は、ポッドの再起動後に有効になります。
方法 2:ACK コンソールでサイドカープロキシのブロックポリシーを設定する
この例では、Deployment が使用されます。ポッドの YAML ファイルに注釈を追加して、サイドカープロキシのブロックポリシーを設定します。詳細については、「リソース注釈を追加してサイドカープロキシを設定する」をご参照ください。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のウィンドウで、 を選択します。
[デプロイメント] ページで、管理するアプリケーションの名前をクリックします。
アプリケーション詳細ページの右上隅にある [YAML で表示] をクリックします。
[YAML の編集] ダイアログボックスで、次のコンテンツを spec.template.metadata パラメーターに追加し、[更新] をクリックします。
annotations: traffic.sidecar.istio.io/excludeOutboundIPRanges: 47.XX.XX.144/32
サイドカープロキシの設定を有効にするには、ポッドを再起動します。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のウィンドウで、 を選択します。
[ポッド] ページで、削除するポッドを見つけて、[アクション] 列の を選択します。
表示されるダイアログボックスで、[OK] をクリックします。
ポッドが再起動するまで待ちます。設定は、ポッドの再起動後に有効になります。
結果の確認
[アウトバウンドトラフィックポリシー] として [REGISTRY_ONLY] をサイドカープロキシ設定ページで選択できます。このようにして、トラフィックがサイドカープロキシを通過するかどうかを確認できます。 [REGISTRY_ONLY] モードでは、トラフィックがサイドカープロキシを通過する場合、宛先 CIDR ブロックへのアクセスはブロックされます。トラフィックがサイドカープロキシをバイパスする場合、アクセスは成功します。
ASM コンソール にログインします。 [サイドカープロキシ設定] ページに移動し、[グローバル] タブをクリックします。
[アウトバウンドトラフィックポリシー] の左側にある
アイコンをクリックし、アウトバウンドトラフィックポリシーとして [REGISTRY_ONLY] を選択し、[設定の更新] をクリックします。次のコマンドを実行して、http://47.XX.XX.144/productpage URL にアクセスします。
curl -I http://47.XX.XX.144/productpage予想される出力:
CIDR ブロック 47.XX.XX.144/32 に転送されるトラフィックがサイドカープロキシをバイパスするように設定した後、http://47.XX.XX.144/productpage URL へのアクセスは成功します。ビジネス要件に基づいて、トラフィックがサイドカープロキシをバイパスするために転送される CIDR ブロックを指定できます。