VSCode に CloudShell と Clouddrive を連携する

  • VNet
  • VSCode
  • StorageAccount
  • CloudShell
  • スポンサーリンク

    今回は VSCode を使って、Azure に Terraform でリソースを作成したいと思います。

    以下の手順は、Microsoft のチュートリアルを参考に実施しています。

    前提

    使用する環境は Windows10 pro で、以下の VSCode はインストール済みであるとします。

    VSCode の拡張パッケージをインストール

    Azure Account をインストールします。

    azure-cloudshell-08

    Azure Storage の準備

    以前の記事「azure-clooudshell」でも紹介しましたが、Azure 側でもストレージアカウントの準備が必要です。

    以下のものを準備する必要があります。全て新たに作成しても構いません。

    • サブスクリプション
    • リソースグループ
    • ストレージアカウント

    事前に準備しておく場合は、以下のようにネットワーク設定しておくと CloudShell の mount が可能です。

    azure-cloudshell-14

    name value
    Allow access from All networks
    Routing preference Microsoft network routing endpoint
    Publish route-specific endpoints Microsoft network routing endpoint

    Azure Storage のネットワークルーティングについて詳しくはこちらを参照ください。

    Azure CloudShell の準備

    CloudShell の準備は簡単で、Azure Portasl の右上にあるこのボタンを押すだけです。

    azure-cloudshell-15

    押したら、Bash か PowerShell か聞かれますので好きな方を選択して、Azure Storage を選択します。

    事前にストレージアカウントを作成している場合は、以下のように入力することが出来ます。

    azure-cloudshell-13

    Create Storage をすると以下のように PowerShell が立ち上がります。

    Requesting a Cloud Shell.Succeeded. Connecting terminal... MOTD: Manage Azure Active Directory: Get-Command -Module AzureAD* VERBOSE: Authenticating to Azure ... VERBOSE: Building your Azure drive ... PS /home/attsun1031> ls clouddrive

    ここからが本編です

    VSCode で Azure Account に Sign in

    Azure の準備について、1つ1つ解説したのでここまで長かったですね。

    それでは、VSCode で Azure Account に Sign in してみましょう。

    VSCode を開き、ウィンドウ上部にあるメニューの View から Command Pallate... を選択します。Windows なら Ctrl + Shift + p でも開きます。

    Azure: Sign In を選択します。

    azure-cloudshell-16

    自動的にブラウザに飛ばされて、Azure Account に Sign in するとこのような画面になります。

    azure-tteraform-09

    VSCode で cloudShell 起動

    VSCode を開き、ウィンドウ上部にあるメニューの View から Command Pallate... を選択します。Windows なら Ctrl + Shift + p でも開きます。

    Azure: Open PowerShell in Cloud Shell を選択します。

    VSCode のターミナルにも先ほどブラウザで見たものと同様に CloudShell が立ち上がっています。

    Requesting a Cloud Shell... Connecting terminal... MOTD: Save files to $home/clouddrive for persistence across sessions VERBOSE: Authenticating to Azure ... VERBOSE: Building your Azure drive ... PS /home/attsun1031> terraform --version Terraform v0.12.28 PS /home/attsun1031> git --version git version 2.7.4 PS /home/attsun1031> python -V Python 3.5.2

    初めから、Terraform, Git, Python などがインストール済みです。助かりますね。

    working directory 作成

    作業用ディレクトリを作成します。

    PS /home/attsun1031> ls clouddrive PS /home/attsun1031> cd ./clouddrive/ PS /home/attsun1031/clouddrive> New-Item work -ItemType "directory" Directory: /home/atsushi_koizumi/clouddrive Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/12/2020 8:09 AM work PS /home/attsun1031/clouddrive> cd ./work/ PS /home/attsun1031/clouddrive/work> New-Item 20200712 -ItemType "directory" Directory: /home/atsushi_koizumi/clouddrive/work Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/12/2020 8:10 AM 20200712 PS /home/attsun1031/clouddrive/work> ls 20200712

    Azure Portal 側から確認すると、work フォルダが作成されていることが分かります。

    azure-cloudshell-17

    VSCode で Clouddrive を開く

    Azure FIleShare へネットワークドライブ接続

    以下の画像のような手順でコマンドをコピーします。

    azure-cloudshell-18

    新たに PowerShell のターミナルを開き、ペーストします。

    PS C:\Users\koizumi> $connectTestResult = Test-NetConnection -ComputerName cloudshellkoizumi.file.core.windows.net -Port 445 PS C:\Users\koizumi> if ($connectTestResult.TcpTestSucceeded) { >> # Save the password so the drive will persist on reboot >> cmd.exe /C "cmdkey /add:`"cloudshellkoizumi.file.core.windows.net`" /user:`"Azure\cloudshellkoizumi`" /pass:`"xxxxxxxxx==`"" >> # Mount the drive >> New-PSDrive -Name V -PSProvider FileSystem -Root "\\cloudshellkoizumi.file.core.windows.net\aqua-koizumi" -Persist >> } else { >> Write-Error -Message "Unable to reach the Azure storage account via port 445..." >> } CMDKEY: 資格情報を正しく追加しました。 Name Used (GB) Free (GB) Provider Root CurrentLocation ---- --------- --------- -------- ---- --------------- V 5.00 1.00 FileSystem \\cloudshellkoizumi.file.core.wi...

    VSCode で Clouddrive を開く

    ネットワークドライブを見ると、V ドライブが追加されています。

    azure-cloudshell-19

    これで、VSCode で Clouddrive(Vドライブ)を開くことが出来ます。そして中には先ほど作成した作業用ディレクトリが存在しています。

    azure-cloudshell-20

    以上で、VSCode と Azure CloudShell, Clouddrive の連携が完了です。

    これで VSCode を使って Azure の resource をいじれますね。作業が捗りそうです。

    Icons made by Flat Icons from www.flaticon.com

  • VNet
  • VSCode
  • StorageAccount
  • CloudShell
  • スポンサーリンク