Azure Cloud Shellの使い方(起動から仮想マシンを作成しブラウザでアクセスするまで)
はじめに
Azure Cloud ShellはAzureのCLIツールです。Webブラウザ上でAzureの操作をCUI方式で行いリソースの管理が行えます。
主に以下のような機能があり、とても便利なツールです。
今回はAzure Cloud Shellの使い方(起動から仮想マシンを作成しブラウザでアクセスするまで)を解説していきます。
Azure Cloud Shellの使い方
Azure Cloud Shellの起動
Azure Portalの画面右上の赤枠部分をクリックします。
初回なのでAzure Cloud Shellの設定画面が開きます。今回は「Bash」を選択します。
サブスクリプションの紐付けを行います。今回は詳細設定は触らずにサブスクリプションを「Free Trial」にし、「ストレージの作成」をクリックします。
これでAzure Cloud Shellが使えるようになりました。
Azure Cloud Shellで仮想マシンを追加する
リソースグループから作成します。下記コマンドを実行しましょう。
$ az group create --name testCloudShell01 --location japanwest
今回のリソースグループ名は「testCloudShell01」、サーバは日本西部で「japanwest」としています。サーバは他にwestus、eastus、japaneastなどが使えます。
以下のように表示されればリソースグループの作成は完了です。
「ホーム」→「リソースグループ」でコマンドで作成したリソースグループが追加されていることが確認できます。
仮想マシンを作成します。下記コマンドを実行しましょう。
$ az vm create \ --resource-group testCloudShell01 \ --name testVm01 \ --image UbuntuLTS \ --admin-username testadmin \ --generate-ssh-keys
行末の”\”は改行を表しています。
今回はグループ名を「testCloudShell01」、仮想マシン名を「testVm01」、ベース環境を「UbuntuLTS」、管理者名を「testadmin」としました。
“–generate-ssh-keys”はSSHキーが存在しない場合にSSHキーを生成するためのオプションです。すでにSSHキーを作成していて、それを使用したい場合は”–ssh-key-value”オプションを使用しましょう。
今回はベース環境にUbuntuLTSを使用します。ベース環境には他にもCentOS、CoreOS、Debian、RHEL(RedHat)、Win2016Datacenter、Win2012R2Datacenter、Win2008R2SP1などが選択できるので適宜設定しましょう。
※ Windows系の環境を利用する場合はライセンスが必要なので注意してください。
上記結果が返ってきたら仮想マシンの作成は完了です。
“publicIpAddress”は作成した仮想マシン環境のグローバルIPアドレスで、Azure以外のインターネット環境から接続する際に必要なので忘れずに控えておきましょう。
仮想マシンに接続する
先ほど作成した仮想マシンに接続できるか確認を行います。
仮想マシン環境にsshで接続します。下記コマンドを実行しましょう。
$ ssh testadmin@(先程控えた"publicIpAddress")
以下のように証明書の確認をされるので「yes」と入力し進めます。
仮想マシンに接続できました。
パッケージソースの更新が必要なので以下コマンドを実行します。
$ sudo apt-get -y update
以下のように「Reading package lists… Done」まで表示されたらOKです。
次にWebサーバのNGINXをインストールします。以下コマンドを実行します。
$ sudo apt-get -y install nginx
以下のように表示されたらNGINXのインストールは完了です。
testadmin@testVm01:~$ sudo apt-get -y install nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
grub-pc-bin linux-headers-4.15.0-111
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libtiff5 libwebp6 libxpm4 nginx-common nginx-core
Suggested packages:
libgd-tools fcgiwrap nginx-doc ssl-cert
The following NEW packages will be installed:
fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libtiff5 libwebp6 libxpm4 nginx nginx-common nginx-core
0 upgraded, 18 newly installed, 0 to remove and 14 not upgraded.
Need to get 2462 kB of archives.
After this operation, 8210 kB of additional disk space will be used.
[中略]
Setting up libjbig0:amd64 (2.1-3.1build1) ...
Setting up fonts-dejavu-core (2.37-1) ...
Setting up nginx-common (1.14.0-0ubuntu1.7) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
Setting up libjpeg-turbo8:amd64 (1.5.2-0ubuntu5.18.04.4) ...
Setting up libnginx-mod-mail (1.14.0-0ubuntu1.7) ...
Setting up libxpm4:amd64 (1:3.5.12-1) ...
Setting up libnginx-mod-http-xslt-filter (1.14.0-0ubuntu1.7) ...
Setting up libnginx-mod-http-geoip (1.14.0-0ubuntu1.7) ...
Setting up libwebp6:amd64 (0.6.1-2) ...
Setting up libjpeg8:amd64 (8c-2ubuntu8) ...
Setting up fontconfig-config (2.12.6-0ubuntu2) ...
Setting up libnginx-mod-stream (1.14.0-0ubuntu1.7) ...
Setting up libtiff5:amd64 (4.0.9-5ubuntu0.3) ...
Setting up libfontconfig1:amd64 (2.12.6-0ubuntu2) ...
Setting up libgd3:amd64 (2.2.5-4ubuntu0.4) ...
Setting up libnginx-mod-http-image-filter (1.14.0-0ubuntu1.7) ...
Setting up nginx-core (1.14.0-0ubuntu1.7) ...
Setting up nginx (1.14.0-0ubuntu1.7) ...
Processing triggers for systemd (237-3ubuntu10.41) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for ufw (0.36-0ubuntu0.18.04.1) ...
Processing triggers for ureadahead (0.100.0-21) ...
Processing triggers for libc-bin (2.27-3ubuntu1.2) ...
“exit”でssh接続を終了します。以下の結果が表示されればOKです。
任意のWebブラウザを立ち上げ、仮想マシンの”publicIpAddress”を入力します。以下のような画面が表示されたらOKです。
これでAzure Cloud Shellで仮想マシンを作成し、ブラウザでアクセスすることができました。
おわりに
今回はAzure Cloud Shellの使い方の簡単な流れを解説してきました。
Azure Cloud ShellはWebブラウザ上で言語やGit、Dockerなどが扱え、難しい環境構築を行わずとも開発からコード管理まで一通りの作業が行えます。Azure初心者の方に関してはAzure PortalでAzureの操作や機能に慣れてから、Azure Cloud Shellを利用する方が良いでしょう。ぜひAzure Cloud Shellで快適なAzureライフを!