Azure PowerShell を使用して Bastion をデプロイする
この記事では、PowerShell を使用して Standard SKU で Azure Bastion をデプロイする方法について示します。 Azure Bastion は、お客様に代わって保守管理が行われる PaaS サービスであり、お客様が VM にご自分でインストールして保守管理する bastion ホストではありません。 Azure Bastion デプロイは、サブスクリプション/アカウントや仮想マシン単位ではなく、仮想ネットワーク単位です。 Azure Bastion の詳細については、「Azure Bastion とは」を参照してください。
Bastion を仮想ネットワークにデプロイすると、プライベート IP アドレスを使用して VM に接続できるようになります。 このシームレスな RDP/SSH エクスペリエンスは、同じ仮想ネットワーク内のすべての VM で使用できます。 VM のパブリック IP アドレスは、他の用途に必要でなければ削除してかまいません。
この記事では、PowerShell を使用して Azure Bastion をデプロイして VM に接続します。仮想ネットワークがまだない場合は作成します。 次の他の方法を使用して Bastion をデプロイすることもできます。
Note
Azure プライベート DNS ゾーンでは、Azure Bastion の使用がサポートされています。 ただし、制限があります。 詳細については、Azure Bastion の FAQ に関する記事を参照してください。
作業を開始する前に
Azure サブスクリプションを持っていることを確認します。 Azure サブスクリプションをまだお持ちでない場合は、MSDN サブスクライバーの特典を有効にするか、無料アカウントにサインアップしてください。
PowerShell
この記事では、PowerShell コマンドレットを使用します。 コマンドレットを実行するには、Azure Cloud Shell を使用できます。 Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。
Cloud Shell を開くには、コード ブロックの右上の隅にある [Cloudshell を開く] を選択するだけです。 https://shell.azure.com/powershell に移動して、別のブラウザー タブで Cloud Shell を開くこともできます。 [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けてから、Enter キーを押して実行します。
Azure PowerShell コマンドレットは、ローカルのコンピューターにインストールして実行することもできます。 PowerShell コマンドレットは、頻繁に更新されます。 最新バージョンをインストールしていないと、手順で指定されている値は失敗する場合があります。 コンピューターにインストールされている Azure PowerShell のバージョンを確認するには、Get-Module -ListAvailable Az
コマンドレットを使用します。 インストールまたは更新するには、「Install the Azure PowerShell module (Azure PowerShell モジュールのインストール)」を参照してください。
値の例
この構成を作成する際は、次の例の値を使用できます。また、独自の値に置き換えることもできます。
** 例の VNet 値と VM 値:**
名前 | Value |
---|---|
仮想マシン | TestVM |
Resource group | TestRG1 |
リージョン | 米国東部 |
仮想ネットワーク | VNet1 |
アドレス空間 | 10.1.0.0/16 |
サブネット | FrontEnd: 10.1.0.0/24 |
Azure Bastion の値:
名前 | Value |
---|---|
名前 | VNet1-bastion |
サブネット名 | FrontEnd |
サブネット名 | AzureBastionSubnet |
AzureBastionSubnet アドレス | サブネット マスクが /26 以上の VNet アドレス空間内のサブネット。 例: 10.1.1.0/26。 |
価格レベルまたは SKU | Standard |
パブリック IP アドレス | 新規作成 |
パブリック IP アドレス名 | VNet1-ip |
パブリック IP アドレスの SKU | Standard |
譲渡 | Static |
Bastion をデプロイする
このセクションでは、Azure PowerShell を使用して、仮想ネットワークとサブネットを作成し、Azure Bastion をデプロイする方法について説明します。
重要
時間単位の料金は、送信データの使用量に関係なく、Bastion がデプロイされた時点から発生します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後に該当のリソースを削除することをお勧めします。
Bastion 経由で接続する VM をデプロイするリソース グループ、仮想ネットワーク、フロントエンド サブネットを作成します。 PowerShell をローカルで実行している場合は、昇格された特権で PowerShell コンソールを開き、
Connect-AzAccount
コマンドを使用して Azure に接続します。New-AzResourceGroup -Name TestRG1 -Location EastUS ` $frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name FrontEnd ` -AddressPrefix "10.1.0.0/24" ` $virtualNetwork = New-AzVirtualNetwork ` -Name TestVNet1 -ResourceGroupName TestRG1 ` -Location EastUS -AddressPrefix "10.1.0.0/16" ` -Subnet $frontendSubnet ` $virtualNetwork | Set-AzVirtualNetwork
仮想ネットワークの Azure Bastion サブネットを構成して設定します。 このサブネットは、Azure Bastion リソース専用に予約されています。 name 値に AzureBastionSubnet を使用して、このサブネットを作成する必要があります。 この値によって、Azure でリソースをデプロイするサブネットを把握できます。 以下のセクションの例は、既存の VNet に Azure Bastion サブネットを追加する場合に役立ちます。
- 作成できる最小のサブネット AzureBastionSubnet サイズは /26 です。 ホストのスケーリングに対応するために、/26 以上のサイズを作成することをお勧めします。
- スケーリングの詳細については、ホスト スケーリングの構成設定に関する記事を参照してください。
- 設定の詳細については、AzureBastionSubnet の構成設定に関する記事を参照してください。
- ルート テーブルまたは委任なしで AzureBastionSubnet を作成します。
- AzureBastionSubnet でネットワーク セキュリティ グループを使用する場合、NSG の使用に関する記事を参照してください。
変数を設定します。
$vnet = Get-AzVirtualNetwork -Name "TestVNet1" -ResourceGroupName "TestRG1"
サブネットを追加します。
Add-AzVirtualNetworkSubnetConfig ` -Name "AzureBastionSubnet" -VirtualNetwork $vnet ` -AddressPrefix "10.1.1.0/26" | Set-AzVirtualNetwork
- 作成できる最小のサブネット AzureBastionSubnet サイズは /26 です。 ホストのスケーリングに対応するために、/26 以上のサイズを作成することをお勧めします。
Azure Bastion のパブリック IP アドレスを作成します。 このパブリック IP は RDP/SSH が (ポート 443 経由で) アクセスされる Bastion リソースのパブリック IP アドレスです。 パブリック IP アドレスは、作成している Bastion リソースと同じリージョン内にある必要があります。
$publicip = New-AzPublicIpAddress -ResourceGroupName "TestRG1" ` -name "VNet1-ip" -location "EastUS" ` -AllocationMethod Static -Sku Standard
New-AzBastion コマンドを使用して、AzureBastionSubnet に新しい Azure Bastion リソースを作成します。 次の例では、Basic SKU を使います。 ただし、-Sku の値を "Standard" に変更することで、Standard SKU を使用して Bastion をデプロイすることもできます。 Standard SKU では、より多くの Bastion 機能を構成し、より多くの接続の種類を使用して VM に接続できます。 Developer SKU を使用して Bastion を自動的にデプロイすることもできます。 詳細については、Bastion SKU に関する記事を参照してください。
New-AzBastion -ResourceGroupName "TestRG1" -Name "VNet1-bastion" ` -PublicIpAddressRgName "TestRG1" -PublicIpAddressName "VNet1-ip" ` -VirtualNetworkRgName "TestRG1" -VirtualNetworkName "TestVNet1" ` -Sku "Basic"
Bastion リソースのデプロイには、約 10 分かかります。 仮想ネットワークに Bastion がデプロイされる間、次のセクションで VM を作成できます。
VM の作成
PowerShell を使用した VM の作成に関するクイックスタートまたはポータルを使用した VM の作成に関するクイックスタートの記事を参照して、VM を作成できます。 VM は必ず Bastion をデプロイしたのと同じ仮想ネットワークにデプロイしてください。 このセクションで作成する VM は Bastion の構成には含まれず、bastion ホストになることもありません。 このチュートリアルの中で後から、Bastion 経由でこの VM に接続することになります。
次は、リソースに必要なロールです。
必要な VM ロール:
- 仮想マシンに対する閲覧者ロール。
- 仮想マシンのプライベート IP を使用する NIC に対する閲覧者ロール。
必要な受信ポート:
- Windows VM の場合 - RDP (3389)
- Linux VM の場合 - SSH (22)
VM への接続
以下のセクションの接続手順を使用して VM に接続できます。 次のいずれかの記事を使用して VM に接続することもできます。 一部の種類の接続では、Bastion Standard SKU が必要です。
- Windows VM に接続する
- Linux VM に接続する
- スケール セットへの接続
- IP アドレスを使用して接続する
- ネイティブ クライアントから接続する
接続ステップ
Azure portal で、接続先の仮想マシンに移動します。
ペインの上部で、[接続]>[Bastion] を選び、[Bastion] ペインに移動します。 左側のメニューを使って、[Bastion] ペインに移動することもできます。
[Bastion] ペインで使用できるオプションは、Bastion SKU によって異なります。 Basic SKU を使用している場合は、RDP とポート 3389 を使って Windows コンピューターに接続します。 また、Basic SKU の場合、SSH とポート 22 を使って Linux コンピューターに接続します。 ポート番号やプロトコルを変更するオプションはありません。 ただし、[接続設定] を展開することで、RDP のキーボード言語を変更できます。
Standard SKU を使っている場合は、さらに多くの接続プロトコルとポートのオプションを使用できます。 [接続設定] を展開すると、それらのオプションが表示されます。 通常、VM に対して異なる設定を構成しない限り、RDP とポート 3389 を使って Windows コンピューターに接続します。 SSH とポート 22 を使って、Linux コンピューターに接続します。
[認証の種類] については、ドロップダウン リストから選びます。 プロトコルによって、利用できる認証の種類が決まります。 必要な認証の値を指定します。
新しいブラウザー タブで VM セッションを開くには、[新しいブラウザー タブで開く] を選択したままにします。
[接続] を選択して VM に接続します。
ポート 443 と Bastion サービスを使って、(HTML5 を介して) Azure portal で仮想マシンへの接続が直接開かれることを確認します。
Note
接続したときの VM のデスクトップの外観は、例のスクリーンショットとは異なるものになります。
VM に接続しているときにキーボード ショートカット キーを使うと、ローカル コンピューターのショートカット キーとは同じ動作にならないことがあります。 たとえば、Windows クライアントから Windows VM に接続している場合、Ctrl + Alt + End は、ローカル コンピューターの Ctrl + Alt + Delete のキーボード ショートカットになります。 Windows VM に接続しているときに Mac からこれを行うには、キーボード ショートカットは Fn + Ctrl + Alt + Backspace になります。
オーディオ出力を有効にするには
VM のリモートオーディオ出力を有効にすることができます。 この設定が自動的に有効になる VM もありますが、オーディオ設定を手動で有効にすることが必要なものもあります。 設定は VM 自体で変更されます。 Bastion のデプロイでは、リモート オーディオ出力を有効にするための特別な構成設定は必要ありません。
Note
オーディオ出力には、インターネット接続の帯域幅が使用されます。
Windows VM でリモート オーディオ出力を有効にするには:
- VM に接続すると、ツール バーの右下隅に [オーディオ] ボタンが表示されます。 [オーディオ] ボタンを右クリックし、[サウンド] を選びます。
- Windows オーディオ サービスを有効にするかどうかを確認するポップアップ メッセージが表示されます。 [はい] を選択します。 [サウンド] 設定で、より多くのオーディオ オプションを構成できます。
- サウンド出力を確認するには、ツールバーの [オーディオ] ボタンの上にカーソルを合わせます。
VM のパブリック IP アドレスを削除する
Azure Bastion では、クライアント VM への接続にパブリック IP アドレスは使用されません。 VM ではパブリック IP アドレスを他のことで必要としない場合、削除してかまいません。 「パブリック IP アドレスの関連付けを Azure VM から解除する」を参照してください。
次のステップ
- Azure Bastion サブネットでネットワーク セキュリティ グループを使用する方法については、NSG の使用に関するページを参照してください。
- VNet ピアリングの詳細については、「VNet ピアリングと Azure Bastion」を参照してください。