仮想マシンにリモートからアクセスする方法としては UNIX 系 OS であれは ssh,Windows OS であれば RDP(Remote Desktop Plotocol) を利用することが一般的ですが,クラウドサービスへのリモートアクセスに直接これらのプロトコルでパブリックアクセスを許可することは,セキュリティ上のリスクが高く原則するべきではありません.
Azure サービスでは Bastion という踏み台サービスがあり,これらプロトコルによる直接のパブリックアクセスを回避し,よりセキュアに接続を行うことができるようになる仕組みがあります.
以下は,Bastion を利用した仮想マシンへのアクセス方法について説明します.
1.Bastion 概要
Bastion は Azure Portal に構成され、Web ブラウザ上で仮想マシンの操作が可能になるアクセスを提供します.
- Azure Portal 内に踏み台サーバとして構成され,仮想マシンへのアクセスは Bastion 経由で行う形になります.(下図参照)
- ssh や RDP によるリモート接続のために,仮想マシンにパブリックアクセス用の IP を設定する必要がなくなるので,これらプロトコルの脆弱性を突いた不正アクセスの懸念が無くなります.
- 端末から Azure Portal 間は,強固な認証を経たブラウザによる https (TLS) 接続内を通信するので、より安全に仮想マシンへのリモートアクセスが可能になります.
- Bastoin サービスは有料なのでギフトを消費します.1時間でおよそ 0.2 ドルから 0.5 ドル 程度で,5GB/月以上のデータ送受信には別途通信料がかかります.詳細は以下の URL を参照ください.
2.Bastion の構成
本ページでは,Azure VirtualMachines を Linux OS で構成した直後に,初期アクセスをする手順として進めます.
2-1. 仮想マシンリソース(この例では testmachine)の左側一覧にある,接続
> Bastion
を選択する.
2-2. 画面右側,主画面に Bastion の作成が表示されるので,Bastion のデプロイ
をクリックする.
- 完了するまで時間がかかる.
2-3. しばらくして構成が成功すると,プロビジョニングの状態が Succeeded
となって完了するので,以下の項目に必要な設定を行う.
- プロトコル,ポート:初期値のままで構いません.
- Windows OS の場合は
RDP
を選択.また,データ通信用にパブリックアクセスを許容する場合に,ssh のポート番号を変えたい場合は,サーバ側を変更後にここの設定も変更すること.
- Windows OS の場合は
- 認証の種類:
ローカルファイルからのSSH秘密キー
- 仮想マシン構成時に新規作成,または選択した ssh 秘密鍵を利用する想定です.
- ユーザー名:ssh 鍵を新規作成している場合は
azureuser
,既存 ssh 鍵を選択している場合は,鍵作成時のアカウント名を設定してください. - ローカルファイル:ssh 秘密鍵が含まれているファイルをここに選択してください.この例では,仮想マシン構成時に新規に
testmachine_key.pem
という鍵を作成,ダウンロードしている想定です. - 詳細設定:既存の ssh 秘密鍵を選んだ場合は,その鍵のパスフレーズを入力してください.新規作成鍵の場合はそのままで構いません.
- 新しいブラウザタブで開く:いずれでもかまいません.
2-4. 全て入力を終えたら,画面左下にある接続
をクリック.
2-5. 接続に成功したら下図のようにプロンプトが表示され,仮想サーバの操作ができるようになる.