次の方法で共有


Service Fabric マネージド クラスターで NAT ゲートウェイを使用する

Service Fabric マネージド クラスターには、外部クライアントがクラスターのリソースにアクセスできるようにする外部向け IP があります。 ただし、一部のシナリオでは、これらをインターネットに直接公開せずに、これらのリソースへのインターネット アクセスを提供することが望ましい場合があります。 NAT ゲートウェイは、この動作を可能にします。

クラスターに、インターネットからの受信トラフィックを受信する必要があるリソースがある一方で、保護する必要があるプライベート リソースもある場合は、NAT ゲートウェイが役立ちます。 また、シークレット、ストレージ、その他のプライベート リソースにアクセスするためにクラスターの外部へ接続する必要があるアプリケーションがある場合にも、NAT ゲートウェイが役立ちます。

マネージド クラスターに NAT ゲートウェイを使用する利点の一部を次に示します。

  • セキュリティの強化: Azure NAT Gateway は、ゼロ トラスト ネットワーク セキュリティ モデルに基づいて構築されており、既定でセキュリティで保護されています。 NAT ゲートウェイでは、サブネット内のプライベート インスタンスは、インターネットに到達するためにパブリック IP アドレスを必要としません。 プライベート リソースは、NAT ゲートウェイの静的パブリック IP アドレスまたはプレフィックスへの送信元ネットワーク アドレス変換 (SNAT) によって、仮想ネットワークの外にある外部ソースに到達できます。 パブリック IP プレフィックスを使用することで送信接続用の連続した IP のセットを指定できます。また、この予測可能な IP リストに基づいて宛先ファイアウォール規則を構成できます。
  • 回復性: Azure NAT Gateway は、フル マネージドの分散サービスです。 VM や 1 つの物理ゲートウェイ デバイスのような、個別のコンピューティング インスタンスには依存しません。 NAT ゲートウェイは常に複数の障害ドメインを持ち、サービス停止なしに複数の障害を維持することができる。 ソフトウェア定義ネットワークにより、NAT ゲートウェイの回復性が高くなっています。
  • 簡略化されたネットワーク アーキテクチャ: NAT ゲートウェイを使用すると、プライベート サブネット内のインスタンスにアクセスするための bastion ホストまたは VPN 接続の必要性をなくすことで、ネットワーク アーキテクチャを簡略化できます。
  • パフォーマンス: Azure NAT Gateway はパフォーマンスが高く安定しています

次の図は、プライマリおよびセカンダリ ノード タイプを持つクラスターを示しており、各ノード タイプが独自のサブネットを持っています。 セカンダリ ノード タイプは NAT ゲートウェイの背後に配置され、そのすべての送信トラフィックはゲートウェイ経由でルーティングされます。 トラフィックがセカンダリ ノード タイプからのものである場合、パブリック IP アドレスは NAT ゲートウェイの IP アドレスになります。 すべての送信要求は NAT ゲートウェイを介してルーティングされるため、追加の NSG 規則を実装することができ、これはセキュリティを向上させ、外部サービスが内部サービスを検知するのを防ぎます。

送信トラフィックを処理する NAT ゲートウェイを使用するクラスターを示す図。

次のシナリオは、Service Fabric マネージド クラスター上の NAT ゲートウェイでサポートされるユース ケースです。

必須コンポーネント

自分のシナリオ向けに、手順に従ってマネージド クラスターのネットワークを適切に構成するようにしてください。

NAT ゲートウェイを持つ独自の仮想ネットワークを持ち込む

次の手順では、NAT ゲートウェイを仮想ネットワーク サブネットにアタッチする方法について説明します。

  1. Azure NAT Gateway クイックスタートの手順に従って NAT ゲートウェイを作成します。

  2. ロールの割り当てを使用して、NAT ゲートウェイの設定を変更するための Service Fabric リソース プロバイダーの権限を与えます。 マネージド クラスター ネットワーク設定の構成に関する記事の「独自の仮想ネットワークの持ち込み」セクションの最初の 2 つの手順に従って、NAT ゲートウェイの情報をサブネット パラメーターに挿入します。

  3. これで、NAT ゲートウェイを仮想ネットワークのサブネットにアタッチする準備ができました。 ARM テンプレート、Azure CLI、Azure PowerShell、またはAzure portal を使用できます。

ARM テンプレート

次の ARM テンプレートを変更してデプロイし、NAT ゲートウェイをサブネットのプロパティに導入します。

{ 
    "apiVersion": "[variables('networkApiVersion')]", 
    "type": "Microsoft.Network/virtualNetworks", 
    "name": "[parameters('vnetName')]", 
    "location": "[resourcegroup().location]", 
    "dependsOn": [ 
      "[parameters('natGatewayId'))]" 
    ], 
    "properties": { 
        "subnets": [ 
          { 
            "name": "[parameters('subnetName')]", 
            "properties": { 
              "addressPrefix": "[parameters('subnetAddressPrefix')]", 
              "natGateway": { 
                "id": "[parameters('natGatewayId'))]" 
              } 
            } 
          } 
        ] 
    } 
} 

Azure CLI

自分の情報を使用して次の Azure CLI コマンドを変更して実行します。

az network vnet subnet update --resource-group myResourceGroup --vnet-name mvVNet --name mySubnet --nat-gateway myNATGateway

Azure PowerShell

  1. 仮想ネットワークを変数に格納します

    $net = @{
      Name = `myVNet`
      ResourceGroupName = 'myResourceGroup'
    }
    $vnet = Get-AzVirtualNetwork @net
    
  2. NAT ゲートウェイを変数に格納します

    $nat = @{
      Name = 'myNATgateway'  
      ResourceGroupName = 'myResourceGroup'
    } 
    $natGateway = Get-AzNatGateway @nat 
    
  3. サブネット構成を設定します

    $subnet = @{  
      Name = 'mySubnet' 
      VirtualNetwork = $vnet 
      NatGateway = $natGateway 
      AddressPrefix = '10.0.2.0/24'  
    } 
    Set-AzVirtualNetworkSubnetConfig @subnet
    
  4. 仮想ネットワークへの構成を保存します

    $vnet | Set-AzVirtualNetwork
    

Azure portal

  1. Azure portal で、仮想ネットワーク リソースに移動します。

  2. [設定] で、 [サブネット] を選択します。

  3. NAT ゲートウェイに関連付けたいサブネットを選択します。

  4. [NAT ゲートウェイ] ドロップダウンを開き、NAT ゲートウェイを選択します。

    NAT ゲートウェイを選択するためのドロップダウンを示すスクリーンショット。

  5. [保存] をクリックします。

Azure NAT Gateway を使用して独自のロード バランサーを持ち込む

次の手順では、NAT ゲートウェイを仮想ネットワーク サブネットにアタッチする方法について説明します。

注意

このシナリオは、ARM テンプレート経由でのみサポートされています。

  1. Azure NAT Gateway クイックスタートの手順に従って NAT ゲートウェイを作成します。

  2. ロールの割り当てを使用して、NAT ゲートウェイの設定を変更するための Service Fabric リソース プロバイダーの権限を与えます。 マネージド クラスター ネットワーク設定の構成に関する記事の「独自の仮想ネットワークの持ち込み」セクションの最初の 2 つの手順に従って、NAT ゲートウェイの情報をサブネット パラメーターに挿入します。

  3. デプロイに次のプロパティを追加して、NAT ゲートウェイを専用サブネットにアタッチします。

{ 
    "apiVersion": "2023-03-01-preview", 
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", 
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]", 
    "location": "[parameters('clusterLocation')]", 
    "properties": { 
   ... 
        "isPrimary": false, 
        "natGatewayId": "[variables('natID')]", 
        "frontendConfigurations": [...], 
   ... 
} 

次のステップ