かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  メモ. 会社、ラボ環境 on Azure、VM on ラボ環境をSMB共有で相互接続

 

 

メモ. 会社、ラボ環境 on Azure、VM on ラボ環境をSMB共有で相互接続

2024年06月07日配信
2024年06月18日更新
執筆者:山内 和朗

 ラボ環境 on Azure VMの構築は現在進行中ですが、後々必要になると思うので、このラボ環境と社内ネットワークとの共有環境を準備しておきたいと思います。評価や検証のために、会社内のリソースをラボ環境に持って行ったり、ラボ環境から成果物(Hyper-V VMイメージなど)をダウンロードしたりといった環境を用意しておきたいのです。その方法として、Azureのストレージアカウントの機能の1つ、「Azureファイル共有(Azure Files)」を利用することにしました。

 

ちょっとしたやり取りなら、RDP接続や仮想マシン接続でも可能

 

 Azure上のWindows VMへの接続にはリモートデスクトップ(RDP)接続を使用します。Hyper-VホストからHyper-V VMへの接続には「仮想マシン接続」(vmconnect.exe)を使用します。RDP接続は、ファイルのコピー&ペーストによるデータ転送やドライブリダイレクトによるデータ転送が可能です。「仮想マシン接続」の「基本セッション」モードでは、ゲストOSの種類に関係なく「クリップボードからテキストを入力」を使用してテキストを送信することができますし、Windowsゲストなら「拡張セッション」モードに切り替えることで、RDP接続と同じコピー&ペーストやドライブリダイレクトを利用することができます。これらの標準機能だけでも、通常のデータのやり取りに不自由はしないかもしれません(画面1)。

画面1
画面1 RDP接続(仮想マシン接続の拡張セッションモードを含む)や仮想マシン接続で利用できる接続元/ホスト-ゲスト間のデータのやり取り

 

 しかし、現在は制限が撤廃されましたが、Windowsの古いバージョンではRDP接続のコピー&ペーストで転送可能なファイルサイズに4GBや2GBという上限がありました。「仮想マシン接続」の「クリップボードからテキストを入力」は、私が確認した限りですが、改行を含め最大2047字を超えて送信することはできません。また、ゲスト側からテキストを持ってくる機能はそもそもありません。

 Azure VMへの接続元(社内PC)とAzure VM間、Azure VMとHyper-Vホスト間、社内PCとHyper-V VM間で相互にやり取りできる共有環境があれば、データのやり取りに悩む必要がなく便利です。その方法として、今回は「Azureファイル共有(Azure Files)」(外部サイト)を使ってみます。Azureというパブリックなクラウドを使用する以上、セキュリティについては厳重にする必要があります。その共有環境に、外部の第三者がアクセスできるようでは、大問題というか、大事件です。その点を最優先事項としながら、できるだけ安く済ませたいともいます。一時的なファイルの置き場所なので、パフォーマンスやデータ保護は重要ではありません。

 

できるだけ安価なストレージアカウントとオプションで用意する

 

 最初に、ストレージアカウントを作成します。先ほどの要件で触れたように、パフォーマンスやデータ保護は重要ではないので、できるだけ安価で済むように、「Standard(汎用v2アカウント)」、「ローカル冗長ストレージ(LRS)」、「アクセス層クール」を選択し、各種データ保護機能をオフにします(画面2)。

画面2
画面2 できるだけ安価なオプションを選択してストレージアカウント(汎用v2アカウント)を作成する

 

セキュリティ確保は最優先、ファイアウォールは厳格に

 

 ストレージアカウントを作成したら、ファイル共有を作成する前に、先に「ファイアウォールと仮想ネットワーク」を適切に構成します。

 ストレージアカウントの「セキュリティとネットワーク」にある「ネットワーク」を開き、まず、パブリックネットワークアクセスで「選択した仮想ネットワークとIPアドレスから有効」を選択し、ラボ環境のAzure仮想ネットワーク(VNET)のAzure VMの接続先サブネットを選択します。これで、Azure VMおよびラボ環境のHyper-V VMの内部ネットワーク(発信元はAzure VMのIPアドレスになるので)からAzureファイル共有へのアクセスが可能になります。

 次に、ファイアウォールにIP範囲として、社内ネットワークからのアクセスに使用される静的IPアドレス(インターネット側から見えるIPアドレス)を追加します(画面3)。

画面3
画面3 Azureファイル共有へのアクセスを、Azure VMのVNETと社内ネットワークからのアクセスにのみ制限する(アドレス範囲に指定した静的なIPアドレスにはモザイクがかかっています)

 

 なお、動的なIPアドレスでインターネット接続している場合は、アクセス前にファイアウォールにIPアドレスを追加し、アクセス後に削除するといった面倒な運用が必要になるでしょう(セキュリティを最優先する限り)。IP範囲で指定する場合は、そのIP範囲を他の関係のない組織が使用することが絶対にない場合に限るべきです。

 

ファイル共有を作成し、Azure VMと会社PCから接続する

 

 最後にストレージアカウントの「データストレージ」の「ファイル共有」を開いて、ファイル共有を作成します。Azure VMと会社PCの両方で、Azureファイル共有に接続(資格情報はストレージアカウント名とアクセスキー)できることを確認します。

 なお、Azureファイル共有には、AzureのVNET(アクセスを許可したサブネット)からはSMBバージョン2および3、NFSでアクセスすることができ、インターネット側からは暗号化が強制されるSMBバージョン3(445/TCP)でのみアクセス可能です。そして、インターネット側からアクセスできるのは、ファイアウォールで許可された静的IPアドレス(またはIP範囲)に限定され、それ以外はAzure側のファイアウォールでブロックされます。外部からのアクセスがちゃんとブロックされることも、確認しておくことが重要です。

画面4
画面4 Azure VMと会社PCの双方にAzureファイル共有をマウントすれば、データの共有が可能に。ISOイメージなどもこちらに保存しておくことで、Azure VMのマネージドディスク上にファイルを保存するよりも安く済む

blog_subscribe

blog_comment

最新記事