Azure 가상 네트워크에서 Cloud Shell 사용

기본적으로 Azure Cloud Shell 세션은 리소스와 별도로 Microsoft 네트워크의 컨테이너에서 실행됩니다. 컨테이너 내에서 실행되는 명령은 프라이빗 가상 네트워크의 리소스에 액세스할 수 없습니다. 예를 들어 SSH(Secure Shell)를 사용하여 Cloud Shell에서 개인 IP 주소만 있는 가상 머신에 연결하거나, kubectl을 사용하여 액세스를 잠근 Kubernetes 클러스터에 연결할 수 없습니다.

프라이빗 리소스에 대한 액세스를 제공하려면 제어하는 Azure 가상 네트워크에 Cloud Shell을 배포할 수 있습니다. 이 기술을 가상 네트워크 격리라고 합니다.

Cloud Shell을 사용하는 가상 네트워크 격리의 이점

프라이빗 가상 네트워크에 Cloud Shell을 배포하면 다음과 같은 이점이 제공됩니다.

  • 관리하려는 리소스에는 공용 IP 주소가 필요하지 않습니다.
  • Cloud Shell 컨테이너에서 명령줄 도구, SSH 및 PowerShell 원격 기능을 사용하여 리소스를 관리할 수 있습니다.
  • Cloud Shell에서 사용하는 스토리지 계정은 공개적으로 액세스할 필요가 없습니다.

가상 네트워크에 Azure Cloud Shell을 배포하기 전에 고려해야 할 사항

  • 가상 네트워크에서 Cloud Shell을 시작하는 것이 일반적으로 표준 Cloud Shell 세션보다 느립니다.
  • 가상 네트워크 격리를 사용하려면 유료 서비스인 Azure Relay를 사용해야 합니다. Cloud Shell 시나리오에서는 각 관리자가 Cloud Shell을 사용하는 동안 하나의 하이브리드 연결이 사용됩니다. Cloud Shell 세션이 종료되면 연결이 자동으로 끊어집니다.

아키텍처

다음 다이어그램에서는 이 시나리오를 사용하도록 설정하기 위해 빌드해야 하는 리소스 아키텍처를 보여 줍니다.

Cloud Shell 격리 가상 네트워크 아키텍처를 보여 주는 그림입니다.

  • 고객 클라이언트 네트워크: 클라이언트 사용자는 인터넷 어디에서나 Azure Portal에 안전하게 액세스 및 인증을 받을 수 있으며 Cloud Shell을 사용하여 고객의 구독에 포함된 리소스를 관리할 수 있습니다. 보안을 강화하려면 사용자가 구독에 포함된 가상 네트워크에서만 Cloud Shell을 열 수 있도록 하면 됩니다.
  • Microsoft 네트워크: 고객은 Microsoft 네트워크의 Azure Portal에 연결하여 Cloud Shell에서 인증을 받고 엽니다.
  • 고객 가상 네트워크: 가상 네트워크 격리를 지원하는 서브넷이 포함된 네트워크입니다. 가상 머신 및 서비스와 같은 리소스는 공용 IP 주소를 할당할 필요 없이 Cloud Shell에서 직접 액세스할 수 있습니다.
  • Azure Relay: Azure Relay를 사용하면 직접 연결할 수 없는 두 개의 엔드포인트가 통신할 수 있습니다. 이 경우는 관리자의 브라우저가 프라이빗 네트워크의 컨테이너와 통신할 수 있도록 하는 데 사용됩니다.
  • 파일 공유: Cloud Shell에는 가상 네트워크에서 액세스할 수 있는 스토리지 계정이 필요합니다. 스토리지 계정은 Cloud Shell 사용자가 사용하는 파일 공유를 제공합니다.

세션 간에 파일을 유지하려면 Azure Cloud Shell에 탑재할 새로운 또는 기존 Azure 파일 공유가 필요합니다. 스토리지는 일반 비용이 청구됩니다. 프라이빗 가상 네트워크에 Azure Cloud Shell을 배포한 경우 네트워크 리소스에 대한 비용을 지불합니다. 가격 책정 정보는 Azure Cloud Shell 가격 책정을 참조하세요.