n番煎じですが、個人的にタイムリーだったので。適当に立ち上げたLinux VMに対してSSHで試した。
告知はこのあたり。
利用手順
- Azure CLI からプレビュー機能を有効にする
az feature register --subscription サブスクリプション名 --name AllowBastionHost --namespace Microsoft.Network
# showで`"state": "Registered"` になったらOK。Registeringは作業中の状態なのでダメ。
az feature show --subscription サブスクリプション名 --name AllowBastionHost --namespace Microsoft.Network
- プレビュー版のポータル(https://aka.ms/BastionHost)へ移動する。(上のバーがオレンジ色になる)
- 「Bastions」で検索すると出てくる。「Bastions(プレビュー)」の方を選ぶ
- サブネットを用意する。注意として「
AzureBastionSubnet
」という名前とCIDERブロックが/27
よりも広いサブネットで作らなければならない。(Bastionsの作成中に「サブネット構成の管理」から追加できる。) - Bastionsの作成設定はこんな感じになる。
仮想マシンを見に行くと、ブレードにBastionが追加されている。
以下の画像は概要のConnectからBastionタブを開いたところ。
RDPとSSHをサポートしており、SSHの場合はユーザ名と秘密鍵(パスフレーズ可)を与えることになる。
SSH接続の場合、コンソール画面が表示される。
雑談
-
新しめなssh-keygenで作成した秘密鍵をサポートしていない。
- (何形式と呼ぶんだろう?新しい方はBEGIN RSA ...ではなくBEGIN OpenSSH...という文言になっており、パスフレーズ等の情報が見えなくなっている形式)
- Azure Bastion自体はまだSSH接続をサポートしていない模様。(告知の通り)
課金形態はこちらを見た感じ、稼働時間とデータ送信量のように見える。接続時間になれば最高なんですが...。B1lsなVMと比べてしまうと、金額的に安くない気もする。
告知にあるSSHやRDPのネイティブクライアント対応や、Azure AD連携辺りは気になりますね。これ相互に排他的な利用になりそうだけど、どうやるんだろう。
妄想を膨らませると、AAD連携が出来ればKeyVaultと連携して、踏み台利用者に秘密鍵を与えずに作業させたりできるようにもなり良さそう。一方でこれぐらいやってくれないと利用するうま味が無い気がした。