Azure Cloud Shellの使い方(起動から仮想マシンを作成しブラウザでアクセスするまで)

はじめに

アイキャッチ

Azure Cloud ShellはAzureのCLIツールです。Webブラウザ上でAzureの操作をCUI方式で行いリソースの管理が行えます。

主に以下のような機能があり、とても便利なツールです。

  • Bash(Linux)、PowerShell(Windows)の2種類のシェル
  • 複数の言語サポート(.NET Core 、Go 、Java、Node.js、PowerShell、Python)
  • Azure Storage経由でのファイル共有
  • 組み込まれた各種ツールの利用(テキストエディタ、ビルドツールなど)
  • 今回はAzure Cloud Shellの使い方(起動から仮想マシンを作成しブラウザでアクセスするまで)を解説していきます。

    Azure Cloud Shellの使い方

    Azure Cloud Shellの起動

    Azure Portalの画面右上の赤枠部分をクリックします。

    AzurePortal

    初回なのでAzure Cloud Shellの設定画面が開きます。今回は「Bash」を選択します。

    Bash

    サブスクリプションの紐付けを行います。今回は詳細設定は触らずにサブスクリプションを「Free Trial」にし、「ストレージの作成」をクリックします。

    Free Trial

    これでAzure Cloud Shellが使えるようになりました。

    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です。

    exit

    任意のWebブラウザを立ち上げ、仮想マシンの”publicIpAddress”を入力します。以下のような画面が表示されたらOKです。

    nginx

    これでAzure Cloud Shellで仮想マシンを作成し、ブラウザでアクセスすることができました。

    おわりに

    今回はAzure Cloud Shellの使い方の簡単な流れを解説してきました。

    Azure Cloud ShellはWebブラウザ上で言語やGit、Dockerなどが扱え、難しい環境構築を行わずとも開発からコード管理まで一通りの作業が行えます。Azure初心者の方に関してはAzure PortalでAzureの操作や機能に慣れてから、Azure Cloud Shellを利用する方が良いでしょう。ぜひAzure Cloud Shellで快適なAzureライフを!

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です