このクイック スタートでは、Azure portal、Azure PowerShell、または Azure CLI を使用して NAT ゲートウェイを作成する方法について説明します。 NAT ゲートウェイ サービスは、Azure の仮想マシンにスケーラブルな送信接続を提供します。
[前提条件]
アクティブなサブスクリプションを持つ Azure アカウント。
無料でアカウントを作成できます。
Azure Cloud Shell または Azure PowerShell。
このクイックスタートの手順では、Azure Cloud Shell で Azure PowerShell コマンドレットを対話型で実行します。 Cloud Shell でコマンドを実行するには、コード ブロックの右上隅にある [Cloudshell を開く] を選択します。
[コピー] を選択してコードをコピーし、続いて Cloud Shell に貼り付けて実行します。 Azure portal 内から Cloud Shell を実行することもできます。
また、Azure PowerShell をローカルにインストールしてコマンドレットを実行することもできます。 この記事の手順では、バージョン 5.4.1 以降の Azure PowerShell モジュールが必要です。
Get-Module -ListAvailable Az を実行して、インストールされているバージョンを見つけます。 アップグレードする必要がある場合は、Azure PowerShell モジュールの更新を参照してください。
Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
リソース グループを作成する
ポータルの上部にある検索ボックスに、「 リソース グループ」と入力します。 検索結果から [リソース グループ] を選択します。
[+ 作成] を選択します。
[ リソース グループの作成] で、次の値を入力または選択します。
| 設定 |
価値 |
|
プロジェクトの詳細 |
|
| サブスクリプション |
Azure のサブスクリプションを選択します。 |
| リソースグループ |
「test-rg」と入力します。 |
|
リソースの詳細 |
|
| リージョン |
[(米国) 米国東部 2] を選択します。 |
[Review + create](レビュー + 作成) を選択します。
を選択してを作成します。
New-AzResourceGroup を使用して Azure リソース グループを作成します。 Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
次の例では、test-rg という名前のリソース グループを eastus2 の場所に作成します。
$rsg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rsg
az group create を使用して、リソース グループを作成します。 Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
az group create \
--name test-rg \
--location eastus2
仮想ネットワークを作成する
以下の手順ではリソース サブネットを持つ仮想ネットワークが作成されます。
ポータルで、[仮想ネットワーク] を検索して選択します。
[ 仮想ネットワーク ] ページで、[ + 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力するか選択します。
| 設定 |
価値 |
|
プロジェクトの詳細 |
|
| サブスクリプション |
サブスクリプションを選択します。 |
| リソースグループ |
test-rg を選択します。 |
|
インスタンスの詳細 |
|
| 名前 |
「vnet-1」と入力します。 |
| リージョン |
[(米国) 米国東部 2] を選択します。 |
[次へ] を選択して、[セキュリティ] タブに進みます。
[次へ] を選択して、[IP アドレス] タブに進みます。
[サブネット] のアドレス空間ボックスで、既定のサブネットを選択します。
[サブネットの編集] で次の情報を入力または選択します。
| 設定 |
価値 |
| サブネットの目的 |
既定値の [既定] のままにします。 |
| 名前 |
「subnet-1」と入力します。 |
|
IPv4 |
|
| IPv4 アドレス範囲 |
既定値である 10.0.0.0/16 のままにします。 |
| 開始アドレス |
既定値の 10.0.0.0 のままにします。 |
| サイズ |
既定値の [/24 (256 アドレス)] のままにします。 |
保存 を選択します。
画面の下部にある [確認と作成] を選択し、検証に合格したら [作成] を選択します。
New-AzVirtualNetworkSubnetConfig を使用して、仮想マシン サブネットのサブネット構成と Bastion ホスト サブネットを作成します。
$subnet = @{
Name = 'subnet-1'
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
$bastsubnet = @{
Name = 'AzureBastionSubnet'
AddressPrefix = '10.0.1.0/26'
}
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig @bastsubnet
New-AzVirtualNetwork を使用して仮想ネットワークを作成します。
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16'
Subnet = $subnetConfig, $bastsubnetConfig
}
$vnet = New-AzVirtualNetwork @net
az network vnet create を使用して、vnet-1 という名前のサブネットを持つ vnet-1 という名前の仮想ネットワークを作成します。
az network vnet create \
--resource-group test-rg \
--name vnet-1 \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefixes 10.0.0.0/24
az network vnet subnet create を使用して、AzureBastionSubnet という名前の Azure Bastion サブネットを作成します。
az network vnet subnet create \
--name AzureBastionSubnet \
--resource-group test-rg \
--vnet-name vnet-1 \
--address-prefix 10.0.1.0/26
Azure Bastion をデプロイする
Azure Bastion では、プライベート IP アドレスを使用することで、Secure Shell (SSH) またはリモート デスクトップ プロトコル (RDP) を介して、仮想ネットワーク内の VM にブラウザーを使用して接続します。 VM には、パブリック IP アドレス、クライアント ソフトウェア、または特別な構成は必要ありません。 詳細については、「 Azure Bastion とは」を参照してください。
注
時間単位の料金は、送信データの使用量に関係なく、Bastion がデプロイされた時点から発生します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後にこのリソースを削除することをお勧めします。
ポータルの上部にある検索ボックスに、「Bastion」と入力します。 検索結果で [Bastions ] を選択します。
[+ 作成] を選択します。
[要塞の作成] の [基本] タブで、次の情報を入力または選択します。
| 設定 |
価値 |
|
プロジェクトの詳細 |
|
| サブスクリプション |
サブスクリプションを選択します。 |
| リソースグループ |
test-rg を選択します。 |
|
インスタンスの詳細 |
|
| 名前 |
「bastion」と入力します。 |
| リージョン |
[(米国) 米国東部 2] を選択します。 |
| レベル |
[ 開発者] を選択します。 |
|
仮想ネットワークを構成する |
|
| 仮想ネットワーク |
[vnet-1] を選択します。 |
[Review + create](レビュー + 作成) を選択します。
を選択してを作成します。
New-AzPublicIpAddress を使用して、Azure Bastion ホストのパブリック IP アドレスを作成します。
$ip = @{
Name = 'public-ip'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
Zone = 1, 2, 3
}
$publicip = New-AzPublicIpAddress @ip
New-AzBastion を使用して Azure Bastion ホストを作成します。
$bastion = @{
Name = 'bastion'
ResourceGroupName = 'test-rg'
PublicIpAddressRgName = 'test-rg'
PublicIpAddressName = 'public-ip'
VirtualNetworkRgName = 'test-rg'
VirtualNetworkName = 'vnet-1'
Sku = 'Basic'
}
New-AzBastion @bastion -AsJob
bastion ホストのデプロイには数分かかる場合があります。
az network public-ip create を使用して、Azure Bastion ホストのパブリック IP アドレスを作成します。
az network public-ip create \
--resource-group test-rg \
--name public-ip \
--sku Standard \
--location eastus2 \
--zone 1 2 3
az network bastion create を使用して Azure Bastion ホストを作成します。
az network bastion create \
--name bastion \
--public-ip-address public-ip \
--resource-group test-rg \
--vnet-name vnet-1 \
--location eastus2 \
--sku Basic \
--no-wait
Bastion ホストのデプロイには数分かかる場合があります。
仮想マシンを作成する
次の手順では、SSH キー認証を使用して Linux 仮想マシンを作成します。
ポータルの上部にある検索ボックスに「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[+ 作成] を選択し、[Azure 仮想マシン] を選択します。
[仮想マシンの作成] の [基本] タブで、次の値を入力または選択します。
| 設定 |
価値 |
|
プロジェクトの詳細 |
|
| サブスクリプション |
Azure のサブスクリプションを選択します。 |
| リソース グループ |
test-rg を選択します。 |
|
インスタンスの詳細 |
|
| 仮想マシン名 |
「vm-1」と入力します。 |
| リージョン |
[(米国) 米国東部 2] を選択します。 |
| 可用性オプション |
[インフラストラクチャ冗長は必要ありません] を選択します。 |
| セキュリティの種類 |
標準を選択します。 |
| Image |
[Ubuntu Server 24.04 LTS - x64 Gen2] を選びます。 |
| サイズ |
サイズを選択するか、既定の設定のままにします。 |
|
管理者アカウント |
|
| 認証の種類 |
[SSH 公開キー] を選択します。 |
| ユーザー名 |
「azureuser」と入力します。 |
| SSH 公開キーのソース |
[新しいキーの組を生成] を選択します。 |
| キーの組の名前 |
「vm-1_key」と入力します。 |
[ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。
[ネットワーク] タブで、次の値を選びます。
| 設定 |
価値 |
|
ネットワーク インターフェイス |
|
| 仮想ネットワーク |
[vnet-1] を選択します。 |
| サブネット |
subnet-1 を選択します。 |
| パブリック IP |
[なし] を選択します。 |
[Review + create](レビュー + 作成) を選択します。
設定を確認し、 [作成] を選択します。
[新しいキー ペアの生成] ウィンドウが開いたら、 [Download private key and create resource](秘密キーをダウンロードし、リソースを作成する) を選択します。 キー ファイルは vm-1_key.pem としてダウンロードされます。
.pem ファイルがダウンロードされた場所を確認します。 VM に接続するには、キー ファイルへのパスが必要です。
このセクションでは、NAT ゲートウェイをテストし、送信接続のパブリック IP アドレスを確認する仮想マシンを作成します。
New-AzVM を使用して仮想マシンを作成します。 SSH キー ペアは、VM の作成時に生成されます。
$securePassword = ConvertTo-SecureString ' ' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ('azureuser', $securePassword)
$vm = @{
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Name = 'vm-1'
Image = 'Ubuntu2204'
Size = 'Standard_DS1_v2'
VirtualNetworkName = 'vnet-1'
SubnetName = 'subnet-1'
PublicIpAddressName = ''
GenerateSshKey = $true
SshKeyName = 'vm-1_key'
Credential = $cred
}
New-AzVM @vm
仮想マシンの作成が完了するのを待って次のセクションに進みます。
az vm create を使用して、SSH キー認証を使用して vm-1 という名前の Linux 仮想マシンを作成します。
az vm create \
--resource-group test-rg \
--name vm-1 \
--image Ubuntu2404 \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-address "" \
--subnet subnet-1 \
--vnet-name vnet-1
仮想マシンの作成が完了するのを待って次のセクションに進みます。
NAT ゲートウェイの作成
このセクションでは、NAT ゲートウェイ リソースを作成し、作成した仮想ネットワークのサブネットに関連付けます。
ポータルの上部にある検索ボックスに、「NAT ゲートウェイ」と入力します。 検索結果から [NAT ゲートウェイ] を選択します。
[+ 作成] を選択します。
[ネットワーク アドレス変換 (NAT) ゲートウェイを作成します] の [基本] タブにこの情報を入力または選択します。
| 設定 |
価値 |
|
プロジェクトの詳細 |
|
| サブスクリプション |
Azure のサブスクリプションを選択します。 |
| リソース グループ |
test-rg を選択します。 |
|
インスタンスの詳細 |
|
| NAT ゲートウェイ名 |
「nat-gateway」と入力します。 |
| リージョン |
[(米国) 米国東部 2] を選択します。 |
| SKU |
標準を選択します。 |
| 可用性ゾーン |
[ゾーンなし] を選択します。 |
| TCP アイドル タイムアウト (分) |
既定値の [4] のままにします。 |
可用性ゾーンと NAT ゲートウェイの詳細については、「 Azure NAT ゲートウェイの信頼性」を参照してください。
[送信 IP] タブを選択するか、 [次へ: 送信 IP] を選択します。
[Outbound IP]\(アウトバウンド IP\) タブで、次の情報を入力または選択します。
| 設定 |
価値 |
| パブリック IP アドレス |
[Create a new public IP address]\(新しいパブリック IP アドレスを作成する\) を選択します。
[名前] に「public-ip-nat」と入力します。
OK を選択します。 |
[ネットワーク] タブ を 選択するか、[ 次へ: ネットワーク] を選択します。
仮想ネットワークで、vnet-1 を選択します。
[ サブネット名] で、 subnet-1 の横にあるチェック ボックスをオンにします。
[確認と作成] タブを選択するか、ページ下部にある [確認と作成] ボタンを選択します。
を選択してを作成します。
このセクションでは、NAT ゲートウェイ リソースを作成し、仮想ネットワークのサブネットに関連付けます。
New-AzPublicIpAddress を使用して NAT ゲートウェイのパブリック IP アドレスを作成します。
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
Zone = 1, 2, 3
}
$publicIP = New-AzPublicIpAddress @ip
New-AzNatGateway を使用して NAT ゲートウェイ リソースを作成します。
$nat = @{
ResourceGroupName = 'test-rg'
Name = 'nat-gateway'
IdleTimeoutInMinutes = '10'
Sku = 'Standard'
Location = 'eastus2'
PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat
SET-AzVirtualNetworkSubnetConfig を使用して NAT ゲートウェイを subnet-1 に関連付け、Set-AzVirtualNetwork で構成を適用します。
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
$subnet = @{
VirtualNetwork = $vnet
Name = 'subnet-1'
AddressPrefix = '10.0.0.0/24'
NatGateway = $natGateway
}
Set-AzVirtualNetworkSubnetConfig @subnet
$vnet | Set-AzVirtualNetwork
このセクションでは、NAT ゲートウェイ リソースを作成し、仮想ネットワークのサブネットに関連付けます。
az network public-ip create を使用して、NAT ゲートウェイのパブリック IP アドレスを作成します。
az network public-ip create \
--resource-group test-rg \
--name public-ip-nat \
--sku Standard \
--allocation-method Static \
--location eastus2 \
--zone 1 2 3
az network nat gateway create を使用して NAT ゲートウェイ リソースを作成します。
az network nat gateway create \
--resource-group test-rg \
--name nat-gateway \
--public-ip-addresses public-ip-nat \
--idle-timeout 10
az network vnet subnet update を使用して、NAT ゲートウェイを subnet-1 に関連付けます。
az network vnet subnet update \
--resource-group test-rg \
--vnet-name vnet-1 \
--name subnet-1 \
--nat-gateway nat-gateway
NAT ゲートウェイをテストする
このセクションで、NAT ゲートウェイをテストします。 まず、NAT ゲートウェイのパブリック IP を検出します。 次に、テスト仮想マシンに接続し、NAT ゲートウェイのパブリック IP 経由の送信接続を確認します。
ポータルの上部にある検索ボックスに、「パブリック IP」と入力します。 検索結果から [パブリック IP アドレス] を選択します。
[public-ip-nat] を選択します。
パブリック IP アドレスを書き留めておきます。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
vm-1 を選択します。
[概要] ページで、[接続] を選択し、[Bastion] タブを選択します。
[Bastion を使用する] を選択します。
[ 認証の種類] で、[ ローカル ファイル] から [SSH 秘密キー] を選択します。
[ユーザー名] に「azureuser」と入力します。
[ 参照] を選択し、VM の作成時にダウンロードした vm-1_key.pem ファイルに移動します。
「を選択し、に接続します。」
bash プロンプトで、次のコマンドを入力します。
curl ifconfig.me
コマンドが返す IP アドレスが NAT ゲートウェイのパブリック IP アドレスと一致することを確認します。
azureuser@vm-1:~$ curl ifconfig.me
203.0.113.0.25
リソースをクリーンアップする
作成したリソースを使用し終えたら、リソース グループとそのすべてのリソースを削除できます。
Azure portal で、「リソース グループ」を検索して選択します。
[リソース グループ] ページで、test-rg リソース グループを選択します。
[test-rg] ページで、[リソース グループの削除] を選択します。
[削除を確認するために、リソース グループの名前を入力してください] に「test-rg」と入力して、[削除] を選びます。
このアプリケーションを引き続き使用しない場合は、次のコマンドを使用して仮想ネットワーク、仮想マシン、NAT ゲートウェイを削除します。
Remove-AzResourceGroup -Name 'test-rg' -Force
このアプリケーションを引き続き使用しない場合は、次のコマンドを使用して仮想ネットワーク、仮想マシン、NAT ゲートウェイを削除します。
az group delete \
--name test-rg \
--yes
次のステップ
Azure NAT Gateway について詳しくは、次を参照してください。