こんにちは!デジタルマーケティングをやっていたはずが、環境構築にはまり、気づけばクラウドエンジニアになっていた小笠原です。今回はAzureで以前聞かれた項目に対して一緒に考えていきたいと思います。


Azureで仮想マシンにパブリックIPを付けてRDP接続をする際に、外部に公開されているようなのですが、外部公開されない状態で行う方法はないのでしょうか?

すごくいい質問です。私も最初の頃はこの仕様に疑問を感じていました。なので、今回はハンズオン形式でこちらの解決法を紹介していきたいと思います。

今回のテーマ

パブリックIPを使わないAzure Bastionの機能を使った接続方法をマスターする

1時間でできるBastion(要塞)を使った接続の進め方

1.機能理解:Azure Bastionってそもそもなに?


https://docs.microsoft.com/ja-jp/azure/bastion/bastion-overview 20191202参照
Azure Bastionは、[要塞]とよばれ、Azure portal内でプライベートIPを使用して仮想マシンへ安全なRDP/SSH接続が可能となるサービスです。

今まで仮想マシンへRDP等で接続するには、パブリックIPアドレスが必要で、 外部公開となり、セキュリティ上の脆弱性が存在しました。
ところが、Azure Bastion 経由で接続する場合、仮想マシンにプライベートIPを使用するので、パブリック IP は不要です。 そのため、RDP /SSHでの安全なアクセスを提供しながらも、仮想マシンがRDP/SSH ポートを外部非公開にすることができます。また、エージェントレス方式※1のため、クライアント、エージェント、ソフトウェアは必要ありません。
※1(PCにソフトウェアやエージェントをインストールせず、性能的な影響を与えない方式)

2環境構成:基本的な接続方法との違いを比較

文章だけでなく、従来の図とBastionを使った図での比較も行ってみます。

RDP接続時の構成図では、仮想ネットワーク外の上記の赤線部分から仮想マシンへつながり、公開したポートから仮想マシンに危険が生じる可能性があったことがわかります。

Bastionの機能を使用した構成図ではAzure portalからSSL接続で仮想ネットワーク内のAzure Bastionを経由し、仮想マシンとプライベートIPを使用しての接続になります。Bastionが「踏み台サーバー」の役割を果たすことで仮想マシンへの安全な接続が可能となっています。

✔その他のBastionの機能

Bastionのさらにくわしい機能はMicrosoftがDocsで紹介しています。

https://azure.microsoft.com/ja-jp/services/azure-bastion/ Azure bastionとは

https://docs.microsoft.com/ja-jp/azure/bastion/bastion-overview Azure Bation

Microsoftの説明に慣れている方はこちらを一度チェックしてみるのもおすすめです。

3.使用価格:使うときにかかる費用の確認


サービスを使用する際にあまりにも高額だったら、利用に戸惑いますよね。ゾーン2に含まれる東日本リージョンでは「10.64円/時間+データ転送量」がかかりそうです。
Microsoft基準の730時間で計算すると1か月
10.64×730=7762.2円/月
となります。使用しないときは消しておくと安心して使えそうですね。

4.環境構築:実際に環境を構築してみよう

それでは、一緒にBastionを使った接続方法を実施してみましょう!

Azure portalの[リソースの作成]→[Bastion]を検索します

Bastion(要塞)がヒットしたので[作成]をクリックします。

以下の値で入力していきます。

リソースグループ
[既存のグループを選択]
名前
[自由入力]
地域
東日本リージョン
仮想ネットワーク
仮想ネットワークを指定か新規作成
サブネット
サブネット名[AzureBastionSubnet]に必ず変更し、/27以上のアドレス範囲を指定すること。
パブリックIPアドレス
Bastion用のPIP
パブリックIPアドレス名
PIPの表示名

デプロイ完了しました。デプロイまでの待ち時間は5分程度です。

ちなみに/27アドレス範囲以外でできないかを試しにやってみたらやはりエラーが出てしまいました。この時はもう一度仮想ネットワークとサブネットに/27の範囲を追加して[作成]を押せば大丈夫です(必ず/27のアドレス範囲で設定しましょう)

仮想マシンの[接続]をクリックします。なんと、[要塞]項目が追加されました。

[要塞を使用する]をクリックします。
[ユーザー名]と[パスワードを]入力し、[接続]を実施します。

無事に接続することができました。
背景がないのは元々の仕様なのでご安心ください。

終わりに

今回のAzure Bastionの正式リリースによって仮想マシンのセキュリティがさらに強固なものになりました。これからさらにスマート社会化していく時代においてセキュリティの強化はさらに重要になってくると言えます。Azureのさらなるセキュリティ発展にこうご期待です。

この記事を書いた人

小笠原寛太
小笠原寛太
令和入社のAzureエンジニア。学生時代はデジタルマーケティングを研究し、研究室Webサイトの作成と活動のブランディングを担当。アフィリエイト収益化も実施し、ITでお金を稼ぎ、世の中を動かす面白さを知る。卒業後は日商エレクトロニクスに参画し、人生の幸福度と自由度を拡大できるエンジニアをめざす。好きなサービスはAzure Web App。現在はAzure Chat Botにハマり、帰ることも忘れながら、開発する日々を楽しんでいる。