本連載第83回で紹介したプレビュー機能「Azure Bastion」が、「Azure DevTest Labs」サービスに「ブラウザー接続(Preview)」として統合され、Webブラウザだけによる仮想マシンへの接続が可能になりました。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Azure Bastion」は、本連載第83回で紹介したように、クローズドな仮想ネットワークへの外部からのアクセスを遮断しながら、仮想ネットワーク上の任意のWindows仮想マシンに対する「リモートデスクトッププロトコル(RDP)」によるリモートデスクトップ接続と、Linux仮想マシンに対するSSH接続を可能にします。
Azure Bastionによる接続のために、仮想マシンにパブリックIPを割り当てる必要はありません。プレビュー段階の現在、サポートされるWebブラウザは、「Microsoft Edge」「Google Chrome(WindowsおよびmacOS)」、開発中の「Microsoft Edge Chromium(WindowsおよびmacOS)」です。
また、「Azure DevTest Labs」は、ラボ利用者に対してクオータ(仮想マシン数など)やポリシー制限(利用可能な仮想マシンのシリーズやサイズ、イメージなど)を課しながら、セルフサービスで開発やテスト環境を素早くプロビジョニングさせることができ、自動シャットダウンなどの機能でコストを最小化する仮想マシン環境です。
Azure DevTest Labsを使用すると、WindowsおよびLinuxの仮想マシンを、Azure Marketplaceまたはカスタムイメージから素早く作成できます。Azure DevTest Labsについては、Azure仮想マシンの自動シャットダウン機能に関連して、本連載27回で紹介しました。
Azure DevTest Labsの標準機能では、1つの仮想ネットワークに1つのサブネットが自動的に準備され、作成された仮想マシンには共有パブリックIPが割り当てられ、NAT/NAT-Tの機能でインターネットアクセスと外部からのリモート管理用接続(RDPまたはSSH)が実現します。
Azure DevTest LabsのUI(ユーザーインタフェース)に用意された「接続」メニューは、Windows仮想マシンに対するRDP接続専用であり、Linux仮想マシンの場合は共有パブリックIPアドレスと仮想マシンごとに割り当てられるランダムポートに対するSSH接続を手動で行う必要があります(画面1)。
リモート管理用のRDP/SSH接続の受信規則は、ラボの構成が共有パブリックIPアドレスを使用するようになっている場合(既定)、Azure DevTest Labsのラボ用に自動作成されるロードバランサー(フロントエンドIPとして共有パブリックIPアドレス)の「インバウンドNAT規則」で許可されます。
2019年9月初めに、Azure Bastion(プレビュー)機能がAzure DevTest Labsとの統合をサポートするようになり、プレビュー機能として利用可能になりました。これにより、WindowsおよびLinux仮想マシンに対して、Webブラウザだけで仮想マシンへのリモート接続(プロトコルはHTTPS)が可能になりました。
Azure Bastion(プレビュー)は、一部のリージョンで限定的に提供されているサービスです。日本では「東日本」リージョンでのみ利用可能です。Azure DevTest Labsの「ブラウザー接続(Preview)」を利用するには、Azure DevTest LabsのラボのリソースがAzure Bastion(プレビュー)と同じリージョンに存在する必要があります。
例えば、Azure DevTest Labsの「東日本」に作成したラボで利用するには、以下のドキュメントに従って、Azure Bastion(プレビュー)評価用のAzureポータル(https://aka.ms/BastionHost)を使用してBastion(要塞)ホストを「東日本」リージョンのリソースグループ内に作成します(通常のAzureポータルでは作成できません)。このとき、Bastion(要塞)ホストの仮想ネットワークとして、Azure DevTest Labsのラボにある既存の仮想ネットワークを選択します(画面2)。
また、「サブネット構成の管理」を使用して、選択した仮想ネットワークに「AzureBastionSubnet」という名前のサブネットを作成し、選択した仮想ネットワークのアドレス範囲に含まれるサブネット範囲(最小でも「/27」)を割り当てます。なお、Bastion(要塞)ホストと異なるリージョンにあるラボの仮想ネットワークは選択できません。
Azure DevTest Labsの既定では、ラボの仮想ネットワークに自動割り当てされたアドレス範囲の全体を使用して、同じく自動作成されるサブネットが構成されます。そのため、ラボ用のサブネットの範囲を狭めて(「/20」であれば「/24」に変更するなど)、「AzureBastionSubnet」サブネット用のアドレス範囲を作り出す必要があります(画面3)。
Bastion(要塞)ホストのデプロイが完了したら、以下のドキュメントに従って、Azure DevTest Labsのラボの「設定」にある「構成とポリシー」で、「ブラウザー接続(Preview)」を「オン」に切り替えて設定を保存します(画面4)。ここからの手順は、通常のAzureポータルでも行うことができました。
以上の構成により、Azure DevTest Labsのラボで実行中の仮想マシンを開くと、「ブラウザー接続(Preview)」メニューが表示されるようになります。これをクリックすると、Windows仮想マシンに対してRDP接続、Linux仮想マシンに対してはSSH接続をWebブラウザ内で開始することができます(画面5、画面6)。
なお、従来の「接続」メニューは、Windows仮想マシンに対するRDP接続のためのRDPファイルをダウンロードする動作のまま変わりません(Linux仮想マシンに対する「接続」メニューはグレーアウト)。
ロードバランサーの「インバウンドNAT規則」からRDPやSSH接続の受信許可を削除する、あるいは仮想マシン作成時に共有パブリックIPアドレスの使用や専用のパブリックIPアドレスの作成を許可しないようにラボの「構成とポリシー」で制限しておけば、ポートスキャンから始まるセキュリティ侵害のリスクを排除できます(前出の画面5は、仮想マシンの作成時にパブリックIPアドレスを許可していません)。
Copyright © ITmedia, Inc. All Rights Reserved.