#1. はじめに
###1-1 ご挨拶
初めまして、井村と申します。
「Azure Bastion」を用いることで踏み台サーバを作成する必要がない為、案件でもよく利用されます。
しかし「Azure VM」に対し注意事項として
「現在、テキストのコピー/貼り付けのみがサポートされています。」
となっています。すなわちファイルのコピー/貼り付けが出来ません。
本記事は「Azure Files」を用いて「Azure VM」へファイル共有し、尚且つIPアドレス制限を行い、セキュアな方法でファイルアップロードする記事を記載いたします。
###1-2 対象読者
- Azure portalからAzureサービスを使用したことがある。
- セキュアな通信に興味がある。
###1-3 成果物
- 「Bastion」経由で「Azure VM」へログインするので、「Azure VM」に「public IP address」は付与しません。
- 「Azure Files」と「Azure VM」間は「PrivateEndpoint」経由でおこないます。
- 「NSG」は今回の通信に必要なポートのみ許可するようにします。
最後に「Azure Files」上にアップロードしたファイルを「Azure VM」へダウンロードするとこまで実施します。
#2. 構築(準備)編
「Azure Files」以外を構築しています。構築の順番は色々とありますが、自分は「Virtual Network」、「NSG」、「public IP address」、「Bastion」、「Azure VM」、「Storage Account(PrivateEndpoint)」でいきます。各サービスの一部を画像で紹介いたします。
###2-1 Virtual Network
「AzureBastionSubnet」は「Bastion」、「snet-vm」は「Azure VM」、「snet-pep」は「PrivateEndpoint」を格納するサブネットになります。
###2-2 NSG
「AzureBastionSubnet」の「NSG」です。
- 受信、送信のデフォルト値は優先度は'1000'で拒否しています。
- 受信の「AllowHttpsInbound」は「Bastion」経由で「Azure VM」へログインするユーザーのIPアドレスになります。こちらでIPアドレス制限を行います。
- その他の設定値は「NSG アクセスと Azure Bastion を使用する」を参照願います。
「snet-vm」の「NSG」です。
- 受信のデフォルト値は優先度は'1000'で拒否しています。
- 受信の優先度'100'はRDP接続(Azure Bastion)、優先度'110'は「Azure Files」とはSMBプロトコルで接続するのでポートを開けています。
###2-3 public IP address
「Azure Bastion」用で作成します。
###2-4 Bastion
「仮想ネットワーク」、「サブネット」、「public IP address」は上記で作成したものを選択します。
###2-5 Azure VM
「仮想ネットワーク」、「サブネット」は上記で作成したものを選択します。「public IP address」、「NSG」は作成不要です。
###2-6 Storage Account(PrivateEndpoint)
- 「PrivateEndpoint」のサブリソースは「Azure Files」を使用するため「file」を選択します。
- 「仮想ネットワーク」、「サブネット」は上記で作成したものを選択します。
「Storage Account」作成後、IPアドレス制限を行います。アドレス範囲に「AzureBastionSubnet」の「NSG」で設定したIPアドレスを入力します。
#3. 構築(Azure Files)編
「Azure Files」を作成し、テスト用のファイルをアップロードします。
作成した「Storage Account」の左ペインから「ファイル共有」を選択し、「+」ボタンをクリックします。
ファイル共有名(今回は'exampeshare')を入力し「作成」ボタンをクリックして作成されます。
作成された「Azure Files」に「アップロード」ボタンをクリックしファイル(今回は'samplefile.txt')をアップロードします。
#4. テスト
「Azure Files」に格納されたファイルを「Azure VM」へコピーする方法を紹介します。
「Azure Files」のファイル共有から「接続」ボタンをクリックします。右側にスクリプトが表示されるのでコピーします。その後、「Bastion」経由で「Azure VM」にログインし、「Power Shell」を開きます。
「Power Shell」にスクリプトを張り付け実行します。すると、「Z」ドライブが作成され「Azure Files」とファイル共有されます。
その後、ファイルをダウンロードし無事に開くことが出来ました。
Azure Files関連の参考記事は最後にまとめています。
#5. おわりに
本記事を最後まで読んで頂きましてありがとうございます。
どのプロジェクトでもよく使うパターンになるとおもいますので参考になれば幸いです。
#6. 参考記事