演習 - Web アプリケーションをホストする VM を作成する

完了

多くのアプリケーション フレームワークと同様に、MEAN スタック アプリケーションはさまざまな環境で実行できます。 アプリケーションは、サーバー室の物理コンピューター、仮想マシン、またはコンテナーで実行できます。

今回は Azure で実行されている VM 上でアプリケーションを実行します。 MEAN はさまざまなオペレーティング システムに対応しています。 学習目的のために、今回は Ubuntu Linux を使用します。

Ubuntu Linux VM を作成する

通常、リソース グループを作成してから Azure で他のリソースを作成します。 リソース グループは、Azure ソリューション用に関連するリソースを保持するコンテナーです。 この演習では、Azure サンドボックスにはリソース グループが用意されています。 ただし、自分の Azure サブスクリプションで作業するときは、次のコマンドを使用し、ご自分の近くの場所にリソース グループを作成します。

注意

次の az group create コード サンプルは、このサンドボックスではなく、自分のアカウントで実行するためのものです。

az group create \
  --name <resource-group-name> \
  --location <resource-group-location>
  1. Cloud Shell から az vm create コマンドを実行し、Ubuntu VM を作成します。

    az vm create \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack \
      --image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest \
      --admin-username azureuser \
      --generate-ssh-keys
    

    このコマンドの完了には約 2 分かかります。 コマンドが完了すると、次のような出力が表示されます。

    (Output Example)
    {
      "fqdns": "",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/MeanStack",
      "location": "eastus",
      "macAddress": "00-0D-3A-1E-1B-3B",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.5",
      "publicIpAddress": "104.211.9.245",
      "resourceGroup": "<rgn>[sandbox resource group name]</rgn>",
      "zones": ""
    }
    

    VM の名前は MeanStack です。 コマンドを今後実行するとき、使用する VM を特定する目的でこの名前を使用します。

  2. VM でポート 80 を開き、後で作成する新しい Web アプリケーションに HTTP トラフィックが入ることを許可します。

    az vm open-port \
      --port 80 \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack
    
  3. VM への SSH 接続を作成します。

    az vm create コマンドからの出力には VM のパブリック IP アドレスが表示されますが、Bash 変数にこのアドレスを格納すると便利な場合があります。

    最初に az vm show を実行します。 このコマンドによって、ipaddress という名前の Bash 変数に IP アドレスが保存されます。

    ipaddress=$(az vm show \
      --name MeanStack \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --show-details \
      --query [publicIps] \
      --output tsv)
    
  4. 次のように VM に接続します。

    ssh azureuser@$ipaddress
    

    メッセージが表示されたら、[はい] と入力し、今後の接続が信頼されるように VM の ID をローカルに保存します。

    次のパートで、SSH 接続を使用してソフトウェアを仮想マシン上で構成します。

まとめ

Ubuntu VM の準備ができたら、MEAN スタックの各コンポーネントをインストールできます。 最初に MongoDB をインストールします。