クラウドエンジニアブログ

Azure Cloud Shell による仮想マシンへのアクセス

渡邊 正和

渡邊 正和

はじめに

みなさん元気ですか?元気です。どうも、クラウドアーキテクトのワタナベです。
さて、みなさんは Azure 上に構成した仮想マシンにどのような方法でアクセスしているでしょうか? Windows であれば、NSG で RDP のポートを開放してリモートデスクトップ接続をするのが一般的だろうと思います。
今回は、先般の Ignite 2018 において一般提供が発表された Azure Cloud Shell を利用して、仮想マシンへアクセスする方法をご紹介します。

Azure Cloud Shell とは?

まず、Azure Cloud Shell とは何でしょう?
みなさんは、Azure Portal の右上に Azure Cloud Shell のアイコンが表示されているのにお気づきになったでしょうか?

Azure Cloud Shell アイコン

これは、ブラウザを使ってアクセスしている Azure Portal から Azure のコマンドライン環境に接続できる機能です。

それでは、Azure Cloud Shell を起動してみます。起動は右上の Azure Cloud Shell のアイコンをクリックするだけです。
※はじめて Azure Cloud Shell を利用する場合、Azure ストレージアカウントを設定する必要があります。画面指示に従い、任意のサブスクリプションにストレージアカウントを作成します。

Azure Cloud Shell の初回実行時には以下のような画面が表示されます。シェルは [Bash] か [PowerShell] が選択可能です。今回は [PowerShell] を選択します。( [Bash] を選んでも後続の対応は同じです)

Azure Cloud Shellへようこそ

新しいストレージアカウントを作るためにサブスクリプションを選択する必要があります。任意のサブスクリプションをドロップダウンメニューから選択して、「ストレージの作成」をクリックします。

ストレージの作成をクリック

しばらくすると、以下のようなシェルの画面が表示されます。

シェルの画面

また、新しいストレージアカウントを作る際に選択したサブスクリプションには、以下のようなリソースグループとストレージアカウントが作成されます。
※このサブスクリプションには、ストレージアカウントの費用が発生します。

リソースグループとストレージアカウント

Azure Cloud Shell では、PowerShell と Bash が用意されており、左上の「環境の選択」メニューで切り替えることができます。

Azure Cloud Shell 「環境の選択」

今回は PowerShell で仮想マシンへの接続を試していきます。

仮想マシンへ接続するための準備

Azure Cloud Shell から仮想マシンへ接続するためには、まず仮想マシンに Azure Cloud Shell が接続するための設定をする必要があります。この設定は、Azure Cloud Shell から行うことができます。
今回は、Windows の仮想マシンに対して Azure Cloud Shell から接続できるようにするための設定を行います。

まず、Azure Cloud Shell のプロンプトに以下のコマンドを入力します。このコマンドで仮想マシンのリモート PowerShell を有効化しています。

Enable-AzVMPSRemoting -Name “仮想マシン名” -ResourceGroupName “リソースグループ名”
※“仮想マシン名”と“リソースグループ名”はご自身の環境にあわせて設定してください。

Azure Cloud Shell のプロンプトにコマンドを入力

仮想マシンへの接続コマンド

エラー無くプロンプトが返ってくれば、準備は完了です。

仮想マシンへの接続

準備が整ったので、Azure Cloud Shell から仮想マシンに対して接続をしてみます。
仮想マシンへの接続には以下のコマンドを利用します。

Enter-AzVm -Name “仮想マシン名” - Credential “接続するアカウント名”
※“仮想マシン名”と接続するアカウント名”はご自身の環境にあわせたものをご利用ください。(ここでは、demo1-vm1 という仮想マシンに sysadmin というアカウントで接続しています)

仮想マシンへの接続コマンド

パスワードが求められるので、接続するアカウントのパスワードを入力します。

アカウントのパスワードを入力

接続が成功すると、対象の仮想マシンのプロンプトが表示されます。

対象の仮想マシンのプロンプト

本当に接続できたのかコマンドを投入して確認してみます。

コマンドを投入して確認

接続した仮想マシンの情報が表示されました。この画像からわかるように、対象の仮想マシンの PowerShell に Azure Cloud Shell が接続できました。

まとめ

Azure Cloud Shell を利用して、仮想マシンの PowerShell に接続することができました。これは、Azure Portal が利用できる環境から仮想マシン上で実行されるシステムを PowerShell ベースで管理することができることを意味します。
これが意味するところは、対応するブラウザ環境さえあればコマンドラインベースの管理がどんなデバイスからでもできるということです。つまり、iPad でも Chromebook でもデバイスのローカル環境で PowerShell が動作しなくても、Azure 上のリソースを管理できるということになります。
例えば、iPad から Safari で Azure Cloud Shell を利用すると以下のようになります。

iPad から Safari で Azure Cloud Shell を利用する

これは、とても画期的で便利なことだと思います。是非、みなさんもこの便利な機能を使いこなして、Azure リソース管理にお役立てください。

また、今回ご紹介した機能の詳しい解説はこちらの動画(英語)で紹介されています。 ご興味のある方はあわせてご参照ください。
[ご参考]: PowerShell in Azure Cloud Shell GA
https://channel9.msdn.com/Shows/Azure-Friday/PowerShell-in-Azure-Cloud-Shell-GA?ocid=player




次回予告
  • Azure Key Vault によるパスワード管理



【総合】お問い合わせ

ソリューションに関する全般的なお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録