연습 - Azure Container Instances를 실행합니다.

완료됨

Azure에서 컨테이너를 만들어서 FQDN(정규화된 도메인 이름)으로 인터넷에 노출합니다.

중요

이 연습을 수행하려면 사용자의 Azure 구독이 필요하며 요금이 발생할 수 있습니다. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

Azure Container Instances를 사용하는 이유는 무엇인가요?

Azure Container Instances는 간단한 애플리케이션, 작업 자동화 및 빌드 작업 등 격리된 컨테이너에서 작동할 수 있는 시나리오에 유용합니다. 몇 가지 이점은 다음과 같습니다.

  • 빠른 시작: 몇 초 내에 컨테이너를 시작합니다.
  • 초당 청구: 컨테이너가 실행되는 동안에만 비용이 발생합니다.
  • 하이퍼바이저 수준 보안: 애플리케이션을 VM에서처럼 완전히 격리합니다.
  • 사용자 지정 크기: CPU 코어 및 메모리에 대한 정확한 값을 지정합니다.
  • 영구 스토리지: 컨테이너에 직접 Azure 파일 공유를 탑재하여 상태를 검색하고 유지합니다.
  • Linux 및 Windows: 동일한 API를 사용하여 Windows 및 Linux 컨테이너를 모두 예약합니다.

여러 컨테이너 간 서비스 검색, 자동 크기 조정 및 조정된 애플리케이션 업그레이드를 포함하여 전체 컨테이너 오케스트레이션이 필요한 시나리오에는 AKS(Azure Kubernetes Service)를 사용하는 것이 좋습니다.

컨테이너 만들기

  1. Azure 구독으로 Azure Portal에 로그인합니다.

  2. Cloud Shell 아이콘을 선택하여 Azure Portal에서 Azure Cloud Shell을 엽니다. 대화형 Cloud Shell 환경으로 Bash를 선택해야 합니다.

  3. 모듈을 마쳤을 때 이러한 리소스가 더 간단히 정리되도록 learn-deploy-acr-rg라는 이름의 새 리소스 그룹을 만듭니다. 다른 리소스 그룹 이름을 선택한 경우, 이 모듈의 나머지 연습에서 이 이름을 기억해야 합니다. 리소스 그룹을 만들려는 지역(예: 미국 동부)도 선택해야 합니다.

    az group create --name learn-deploy-aci-rg --location eastus
    

    az container create 명령에 이름, Docker 이미지 및 Azure 리소스 그룹을 제공하여 컨테이너를 만듭니다. 필요에 따라 DNS 이름 레이블을 지정하여 컨테이너를 인터넷에 노출할 수 있습니다. 이 예제에서는 작은 웹앱을 호스트하는 컨테이너를 배포합니다. 이미지를 배치할 위치를 선택할 수도 있습니다. 여기서는 미국 동부 지역을 사용하지만, 본인과 가까운 위치로 변경할 수 있습니다.

  4. DNS 이름을 제공하여 인터넷에 컨테이너를 노출할 수 있습니다. DNS 이름은 고유해야 합니다. 학습 목적상 Cloud Shell에서 이 명령을 실행하여 고유한 이름을 저장하는 Bash 변수를 만듭니다.

    DNS_NAME_LABEL=aci-demo-$RANDOM
    
  5. 컨테이너 인스턴스를 시작하려면 다음 az container create 명령을 실행합니다.

    az container create \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --image mcr.microsoft.com/azuredocs/aci-helloworld \
      --ports 80 \
      --dns-name-label $DNS_NAME_LABEL \
      --location eastus
    

    $DNS_NAME_LABEL은 DNS 이름을 지정합니다. 이미지 이름 azuredocs/aci-helloworld는 기본 Node.js 웹 애플리케이션을 실행하는 Microsoft Container Registry에 호스트되는 컨테이너 이미지를 말합니다.

  6. az container create 명령이 완료되면 az container show를 실행하여 상태를 확인합니다.

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" \
      --output table
    

    컨테이너의 FQDN(정규화된 도메인 이름) 및 프로비전 상태를 확인합니다. 예를 들면 다음과 같습니다.

    FQDN                                    ProvisioningState
    --------------------------------------  -------------------
    aci-demo-0000.eastus.azurecontainer.io  Succeeded
    

    컨테이너가 생성 중 상태일 경우 성공 상태가 표시될 때까지 잠시 기다렸다가 명령을 다시 실행합니다.

  7. 브라우저에서 컨테이너의 FQDN으로 이동하여 실행 중인지 확인합니다. aci-demo... 문자열 앞에 http:// 접두사를 입력해야 합니다. 이 홈페이지가 표시됩니다.

    Screenshot of the sample Node.js container app running in a browser.

요약

여기에서는 웹 서버 및 애플리케이션을 실행하는 Azure 컨테이너 인스턴스를 만들었습니다. 또한 컨테이너 인스턴스의 FQDN을 사용하여 이 애플리케이션에 액세스했습니다.