다음을 통해 공유


빠른 시작 템플릿을 사용하여 가상 네트워크에 Cloud Shell 배포

빠른 시작 템플릿을 실행하여 VNet(가상 네트워크)에 Azure Cloud Shell을 배포하기 전에 완료해야 할 몇 가지 필수 구성 요소가 있습니다. 구독에 소유자 역할 할당이 있어야 합니다. 역할을 보고 할당하려면 구독 소유자 목록을 참조하세요.

이 문서에서는 가상 네트워크에 Azure Cloud Shell을 구성 및 배포하는 다음 단계를 안내합니다.

  1. 리소스 공급자를 등록합니다.
  2. 필요한 정보를 수집합니다.
  3. Azure Cloud Shell - VNet ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 가상 네트워크를 만듭니다.
  4. Azure Cloud Shell - VNet 스토리지 ARM 템플릿을 사용하여 가상 네트워크 스토리지 계정을 만듭니다.
  5. 가상 네트워크에서 Cloud Shell을 구성 및 사용합니다.

1. 리소스 공급자 등록

Cloud Shell은 특정 Azure 리소스에 액세스해야 합니다. 리소스 공급자를 통해 해당 액세스를 사용할 수 있도록 합니다. 다음 리소스 공급자를 구독에 등록해야 합니다.

  • Microsoft.CloudShell
  • Microsoft.ContainerInstance
  • Microsoft.Relay

테넌트가 만들어진 시기에 따라 이러한 공급자 중 일부는 이미 등록되어 있을 수 있습니다.

모든 리소스 공급자와 구독의 등록 상태를 보려면 다음을 수행합니다.

  1. Azure Portal에 로그인합니다.
  2. Azure Portal 메뉴에서 구독을 검색합니다. 사용 가능한 옵션에서 선택합니다.
  3. 보려는 구독을 선택합니다.
  4. 왼쪽 메뉴의 설정에서 리소스 공급자를 선택합니다.
  5. 검색 상자에 cloudshell을 입력하여 리소스 공급자를 검색합니다.
  6. 공급자 목록에서 Microsoft.CloudShell 리소스 공급자를 선택합니다.
  7. 등록을 선택하여 상태를 등록 취소됨에서 등록됨으로 변경합니다.
  8. Microsoft.ContainerInstanceMicrosoft.Relay 리소스 공급자에 대해 이전 단계를 반복합니다.

Azure Portal에서 리소스 공급자를 선택하는 스크린샷

2. 필요한 정보 수집

Cloud Shell을 배포하려면 몇 가지 정보를 수집해야 합니다.

기본 Cloud Shell 인스턴스를 사용하여 필요한 정보를 수집하고 필요한 리소스를 만들 수 있습니다. Cloud Shell 가상 네트워크 배포를 위한 전용 리소스를 만들어야 합니다. 모든 리소스는 동일한 Azure 지역과 동일한 리소스 그룹에 있어야 합니다.

다음 값을 작성합니다.

  • 구독: Cloud Shell 가상 네트워크 배포에 대한 리소스 그룹이 포함된 구독의 이름입니다.
  • 리소스 그룹: Cloud Shell 가상 네트워크 배포에 대한 리소스 그룹의 이름입니다.
  • 지역 - 리소스 그룹의 위치입니다.
  • Virtual Network: Cloud Shell 가상 네트워크의 이름입니다.
  • 서브넷 주소 범위 - 이 배포는 세 개의 서브넷을 만듭니다. 각 서브넷에 대한 주소 범위를 계획해야 합니다.
    • 컨테이너 서브넷 - 사용할 것으로 예상되는 동시 세션 수를 지원하기에 충분한 IP 주소가 필요합니다.
    • 릴레이 서브넷 - 릴레이 서브넷 에 대해 하나 이상의 IP 주소가 필요합니다.
    • 스토리지 서브넷 이름 - 사용할 것으로 예상되는 동시 세션 수를 지원하기에 충분한 IP 주소가 필요합니다.
  • Azure Container Instance OID - 리소스 그룹에 대한 Azure 컨테이너 인스턴스의 ID입니다.
  • Azure Relay 네임스페이스 - 템플릿으로 만들어진 Azure Relay 리소스에 할당하려는 이름입니다.

리소스 그룹 만들기

리소스 그룹은 Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 만들 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.

가상 네트워크 만들기

가상 네트워크는 Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 만들 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.

참고 항목

Cloud Shell 서브넷의 컨테이너 서브넷 주소 접두사를 설정할 때 동시에 실행해야 하는 Cloud Shell 세션 수를 고려해야 합니다. Cloud Shell 세션 수가 컨테이너 서브넷에서 사용 가능한 IP 주소를 초과하는 경우 해당 세션의 사용자는 Cloud Shell에 연결할 수 없습니다. 특정 요구 사항에 맞게 컨테이너 서브넷 범위를 늘립니다. 자세한 내용은 가상 네트워크 서브넷 추가, 변경 또는 삭제의 "서브넷 설정 변경" 섹션을 참조하세요.

Azure 컨테이너 인스턴스 ID 가져오기

Azure 컨테이너 인스턴스 ID는 모든 테넌트에 대한 고유한 값입니다. 빠른 시작 템플릿에서 이 식별자를 사용하여 Cloud Shell에 대한 가상 네트워크를 구성합니다. 명령줄에서 ID를 가져오려면 Azure 컨테이너 인스턴스 ID를 가져오는 다른 방법을 참조하세요.

  1. Azure Portal에 로그인합니다. 홈페이지에서 Microsoft Entra ID를 선택합니다. 아이콘이 표시되지 않으면 위쪽 검색 창에 Microsoft Entra ID를 입력합니다.

  2. 왼쪽 메뉴에서 개요를 선택합니다. 그런 다음, 검색 창에 azure container instance service를 입력합니다.

    Azure Container Instance Service를 검색하는 화면의 스크린샷.

  3. 결과의 엔터프라이즈 애플리케이션에서 Azure Container Instance 서비스를 선택합니다.

  4. Azure Container Instance 서비스개요 페이지에서 속성으로 나열된 개체 ID 값을 찾습니다.

    가상 네트워크에 대한 빠른 시작 템플릿에서 이 ID를 사용합니다.

    Azure Container Instance Service 세부 정보의 스크린샷.

3. ARM 템플릿을 사용하여 필요한 네트워크 리소스 만들기

Azure Cloud Shell - VNet 템플릿을 사용하여 가상 네트워크에서 Cloud Shell 리소스를 만듭니다. 템플릿은 이전에 만든 가상 네트워크 아래에 3개의 서브넷을 만듭니다. 제공된 서브넷 이름을 변경하거나 기본값을 사용하도록 선택할 수 있습니다.

가상 네트워크는 서브넷과 함께 유효한 IP 주소 할당이 필요합니다. 릴레이 서브넷에는 하나 이상의 IP 주소가 필요하고, 사용할 것으로 예상되는 동시 세션 수를 지원하려면 컨테이너 서브넷에 충분한 IP 주소가 필요합니다.

ARM 템플릿에는 새 리소스에 대한 명명 정보와 함께 이전에 만든 리소스에 대한 특정 정보가 필요합니다. 이 정보는 양식에 미리 입력된 정보와 함께 채워집니다.

템플릿에 필요한 정보에는 다음이 포함됩니다.

  • 구독: Cloud Shell 가상 네트워크에 대한 리소스 그룹이 포함된 구독의 이름입니다.
  • 리소스 그룹: 기존 또는 새로 만든 리소스 그룹의 이름입니다.
  • 지역 - 리소스 그룹의 위치입니다.
  • Virtual Network: Cloud Shell 가상 네트워크의 이름입니다.
  • 네트워크 보안 그룹: 템플릿에서 만드는 NSG(네트워크 보안 그룹)에 할당하려는 이름입니다.
  • Azure Container Instance OID - 리소스 그룹에 대한 Azure 컨테이너 인스턴스의 ID입니다.

다음 정보로 양식을 작성합니다.

프로젝트 세부 정보
구독 기본값은 현재 구독 컨텍스트입니다.
이 문서의 예제에서는 Contoso (carolb)를 사용합니다.
리소스 그룹 필수 구성 요소 정보에서 리소스 그룹의 이름을 입력합니다.
이 문서의 예제에서는 rg-cloudshell-eastus를 사용합니다.
인스턴스 세부 정보
지역 기본 지역이 미리 채워져 있습니다.
이 문서의 예제에서는 East US를 사용합니다.
기존 VNET 이름 수집한 필수 조건 정보의 값을 입력합니다.
이 문서의 예제에서는 vnet-cloudshell-eastus를 사용합니다.
릴레이 네임스페이스 이름 템플릿에서 만드는 릴레이 리소스에 할당할 이름을 만듭니다.
이 문서의 예제에서는 arn-cloudshell-eastus를 사용합니다.
Nsg 이름 NSG의 이름을 입력합니다. 배포는 이 NSG를 만들고 액세스 규칙을 할당합니다.
Azure Container Instance OID 수집한 필수 조건 정보의 값을 입력합니다.
이 문서의 예제에서는 aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb을 사용합니다.
컨테이너 서브넷 이름 기본값은 cloudshellsubnet입니다. 컨테이너의 서브넷 이름을 입력합니다.
컨테이너 서브넷 주소 접두사 이 문서의 예에서는 Cloud Shell 인스턴스에 대해 254개의 IP 주소를 제공하는 10.0.1.0/24를 사용합니다.
릴레이 서브넷 이름 기본값은 relaysubnet입니다. 릴레이가 포함된 서브넷의 이름을 입력합니다.
릴레이 서브넷 주소 접두사 이 문서의 예제에서는 10.0.2.0/24를 사용합니다.
스토리지 서브넷 이름 기본값은 storagesubnet입니다. 스토리지가 포함된 서브넷의 이름을 입력합니다.
스토리지 서브넷 주소 접두사 이 문서의 예제에서는 10.0.3.0/24를 사용합니다.
프라이빗 엔드포인트 이름 기본값은 cloudshellRelayEndpoint입니다. 컨테이너가 포함된 서브넷의 이름을 입력합니다.
태그 이름 기본값은 {"Environment":"cloudshell"}입니다. 변경하지 않고 그대로 두거나 태그를 더 추가합니다.
위치 기본값은 [resourceGroup().location]입니다. 변경하지 않은 상태로 유지합니다.

양식이 완료되면 검토 + 만들기를 선택하고 네트워크 ARM 템플릿을 구독에 배포합니다.

4. ARM 템플릿을 사용하여 가상 네트워크 스토리지 만들기

Azure Cloud Shell - VNet 스토리지 템플릿을 사용하여 가상 네트워크에서 Cloud Shell 리소스를 만듭니다. 템플릿은 스토리지 계정을 만들고 이를 프라이빗 가상 네트워크에 할당합니다.

ARM 템플릿에는 새 리소스에 대한 명명 정보와 함께 이전에 만든 리소스에 대한 특정 정보가 필요합니다.

템플릿에 필요한 정보에는 다음이 포함됩니다.

  • 구독: Cloud Shell 가상 네트워크에 대한 리소스 그룹이 포함된 구독의 이름입니다.
  • 리소스 그룹: 기존 또는 새로 만든 리소스 그룹의 이름입니다.
  • 지역 - 리소스 그룹의 위치입니다.
  • 기존 가상 네트워크 이름: 이전에 만들어진 가상 네트워크의 이름입니다.
  • 기존 스토리지 서브넷 이름: 네트워크 빠른 시작 템플릿을 사용하여 만든 스토리지 서브넷의 이름입니다.
  • 기존 컨테이너 서브넷 이름: 네트워크 빠른 시작 템플릿을 사용하여 만든 컨테이너 서브넷의 이름입니다.

다음 정보로 양식을 작성합니다.

프로젝트 세부 정보
구독 기본값은 현재 구독 컨텍스트입니다.
이 문서의 예제에서는 Contoso (carolb)를 사용합니다.
리소스 그룹 필수 구성 요소 정보에서 리소스 그룹의 이름을 입력합니다.
이 문서의 예제에서는 rg-cloudshell-eastus를 사용합니다.
인스턴스 세부 정보
지역 기본 지역이 미리 채워져 있습니다.
이 문서의 예제에서는 East US를 사용합니다.
기존 VNET 이름 이 문서의 예제에서는 vnet-cloudshell-eastus를 사용합니다.
기존 스토리지 서브넷 이름 네트워크 템플릿에서 만든 리소스의 이름을 입력합니다.
기존 컨테이너 서브넷 이름 네트워크 템플릿에서 만든 리소스의 이름을 입력합니다.
Storage 계정 이름 새 스토리지 계정의 이름을 만듭니다.
이 문서의 예제에서는 myvnetstorage1138을 사용합니다.
파일 공유 이름 기본값은 acsshare입니다. 만들려는 파일 공유의 이름을 입력합니다.
리소스 태그 기본값은 {"Environment":"cloudshell"}입니다. 변경하지 않고 그대로 두거나 태그를 더 추가합니다.
위치 기본값은 [resourceGroup().location]입니다. 변경하지 않은 상태로 유지합니다.

양식이 완료되면 검토 + 만들기를 선택하고 네트워크 ARM 템플릿을 구독에 배포합니다.

5. 가상 네트워크를 사용하도록 Cloud Shell 구성

프라이빗 Cloud Shell 인스턴스를 배포한 후 각 Cloud Shell 사용자는 새 프라이빗 인스턴스를 사용하도록 구성을 변경해야 합니다.

프라이빗 인스턴스를 배포하기 전에 기본 Cloud Shell 인스턴스를 사용한 경우 사용자 설정을 초기화해야 합니다.

  1. Cloud Shell을 엽니다.
  2. 메뉴 모음(기어 아이콘)에서 Cloud Shell 설정을 선택합니다.
  3. 사용자 설정 초기화을 선택한 다음, 초기화를 선택합니다.

사용자 설정을 초기화하면 다음에 Cloud Shell을 시작할 때 최초 사용자 환경이 트리거됩니다.

Cloud Shell 스토리지 대화 상자의 스크린샷.

  1. 기본 설정된 셸 환경(Bash 또는 PowerShell)을 선택합니다.

  2. 고급 설정 표시를 선택합니다.

  3. VNet 격리 설정 표시 확인란을 선택합니다.

  4. 프라이빗 Cloud Shell 인스턴스가 포함된 구독을 선택합니다.

  5. 프라이빗 Cloud Shell 인스턴스가 포함된 지역을 선택합니다.

  6. 리소스 그룹의 경우 프라이빗 Cloud Shell 인스턴스가 포함된 리소스 그룹을 선택합니다.

    올바른 리소스 그룹을 선택한 경우 가상 네트워크, 네트워크 프로필릴레이 네임스페이스가 자동으로 올바른 값으로 채워집니다.

  7. 파일 공유의 경우 스토리지 템플릿을 사용하여 만든 파일 공유의 이름을 입력합니다.

  8. 스토리지 만들기를 선택합니다.

Azure Container Instance ID를 가져오는 다른 방법

Azure PowerShell이 설치되어 있는 경우 다음 명령을 사용하여 Azure 컨테이너 인스턴스 ID를 가져올 수 있습니다.

(Get-AzADServicePrincipal -DisplayNameBeginsWith 'Azure Container Instance').Id
d5f227bb-ffa6-4463-a696-7234626df63f

Azure CLI가 설치되어 있는 경우 다음 명령을 사용하여 Azure 컨테이너 인스턴스 ID를 가져올 수 있습니다.

az ad sp list --display-name 'Azure Container Instance' --query "[].id"
[
  "d5f227bb-ffa6-4463-a696-7234626df63f"
]

다음 단계

새 프라이빗 Cloud Shell 인스턴스를 사용해야 하는 각 사용자에 대해 Cloud Shell 구성 단계를 완료해야 합니다.