연습 - 웹 애플리케이션을 호스트할 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 창에서 설정>클래식 버전으로 이동을 선택합니다.

  2. Cloud Shell에서 Ubuntu VM을 만드는 az vm create 명령을 실행합니다.

    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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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을 식별하려면 이후 명령에서 이 이름을 사용합니다.

  3. 나중에 만드는 웹 애플리케이션에 수신 HTTP 트래픽을 허용하려면 VM에서 포트 80을 엽니다.

    az vm open-port \
      --port 80 \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack
    
  4. VM에 대한 SSH 연결을 만듭니다.

    az vm create 명령의 출력은 VM의 공용 IP 주소를 표시하지만 Bash 변수에 주소를 저장하는 데 유용할 수 있습니다.

    az vm show를 실행하여 시작합니다. 이 명령은 Bash 변수에 ipaddress라는 IP 주소를 저장합니다.

    ipaddress=$(az vm show \
      --name MeanStack \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --show-details \
      --query [publicIps] \
      --output tsv)
    
  5. 다음과 같이 VM에 연결합니다.

    ssh azureuser@$ipaddress
    

    메시지가 표시되면 VM의 ID를 로컬로 저장하도록 ‘예’라고 응답합니다. 그러면 이후 연결을 신뢰할 수 있습니다.

    SSH 연결을 사용하여 다음 부분의 가상 머신에 소프트웨어를 구성합니다.

요약

Ubuntu VM을 준비하면 MEAN 스택의 각 구성 요소를 설치할 준비가 된 것입니다. 먼저 MongoDB를 설치합니다.