이 문서에서는 Visual Studio Code에서 직접 Azure를 사용할 수 있도록 하는 Azure 계정 확장을 사용하여 Azure Stack Hub에 연결하는 방법을 설명합니다. VS Code(Visual Studio Code) 설정을 업데이트해야 합니다.
VS Code는 웹 및 클라우드 애플리케이션을 빌드하고 디버그하기 위한 간단한 편집기입니다. ASP.NET Core, Python, NodeJS, Go 및 기타 개발자는 VS Code를 사용합니다. Azure 계정 확장을 사용하면 다른 Azure 확장에 대한 구독 필터링과 함께 단일 Azure 로그인을 사용할 수 있습니다. 이 확장을 통해 VS Code 통합 터미널에서 Azure Cloud Shell을 사용할 수 있습니다. 확장을 사용하면 ID 관리자에 대해 Microsoft Entra ID 및 AD FS(Active Directory Federated Services)를 모두 사용하여 Azure Stack Hub 구독에 연결할 수 있습니다. Azure Stack Hub에 로그인하고, 구독을 선택하고, Cloud Shell에서 새 명령줄을 열 수 있습니다.
비고
이 문서의 단계를 AD FS(Active Directory Federated Services) 환경에 사용할 수 있습니다. AD FS 자격 증명 및 엔드포인트를 사용합니다.
Visual Studio Code 및 Azure Stack Hub
Visual Studio용 Azure 계정 확장 외에도 Azure Stack Hub 및 Visual Studio Code에서 사용할 수 있도록 다양한 다른 Azure 확장이 지원됩니다. 여기에는 다음이 포함됩니다.
- Visual Studio Code Azure Storage 확장
- Visual Studio Code Azure 리소스 확장(버전 0.4.0 이하 필요)
- Visual Studio Code Azure Virtual Machines 확장
Azure 계정 확장에 대한 필수 구성 요소
- Azure Stack Hub 환경.
- Visual Studio Code
- Azure 계정 확장.
- Azure Stack Hub에 대한 액세스 권한이 있는 Azure Stack Hub 구독 및 자격 증명
- Azure Stack Hub용 AZ 모듈을 사용하는 PowerShell 환경입니다. 자세한 내용은 Azure Stack Hub용 PowerShell Az 모듈 설치를 참조하세요.
자격 증명 가져오기
이 섹션에서는 자격 증명을 사용하여 테넌트 ID를 가져옵니다. Azure Stack Hub 리소스 관리자 URL 및 테넌트 ID가 필요합니다.
Azure Stack Hub Resource Manager는 Azure 리소스를 배포, 관리 및 모니터링할 수 있는 관리 프레임워크입니다.
- ASDK(Azure Stack Development Kit)에 대한 Resource Manager URL은 다음과 같습니다.
https://management.local.azurestack.external/ - 통합 시스템의 Resource Manager URL은 다음과 같습니다:
https://management.region.<fqdn>/. 여기서<fqdn>은 정규화된 도메인 이름입니다.
관리자 권한 프롬프트를 사용하여 PowerShell을 열고 다음 cmdlet을 실행합니다.
Add-AzEnvironment -Name "<username@contoso.com>" -ArmEndpoint "https://management.region.<fqdn>"Name Resource Manager Url ActiveDirectory Authority ---- -------------------- ------------------------- username@contoso.com https://management.region.<fqdn> https://login.microsoftonline.com/동일한 세션에서 다음 cmdlet을 실행합니다.
$AuthEndpoint = (Get-AzEnvironment -Name "sethm@microsoft.com").ActiveDirectoryAuthority.TrimEnd('/') $AADTenantName = "masselfhost.onmicrosoft.com" $TenantId = (invoke-restmethod "$($AuthEndpoint)/$($AADTenantName)/.well-known/openid-configuration").issuer.TrimEnd('/').Split('/')[-1] Add-AzAccount -EnvironmentName "sethm@microsoft.com" -TenantId $TenantIdAccount SubscriptionName TenantId Environment ------- ---------------- -------- ----------- username@contoso.com azure-stack-sub aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb username@contoso.com테넌트 ID를 기록해 둡니다. Azure 계정 확장을 구성하는 JSON 섹션을 추가할 때 필요합니다.
Azure 계정 확장 설정
VS Code를 엽니다.
왼쪽 모서리에서 확장을 선택합니다.
검색 상자에
Azure Account입력합니다.Azure 계정을 선택하고 설치를 선택합니다.
VS Code를 다시 시작하여 확장을 로드합니다.
Ctrl+Shift+P를 누르고 기본 설정: JSON(사용자 설정 열기)을 선택합니다.
코드 편집기에서 다음 JSON 코드 조각을 사용자 환경의 값으로 업데이트한 다음, 코드 조각을 설정 블록에 붙여넣습니다.
Values:
매개 변수 Description azure.cloud이 매개 변수에 리터럴 상수 "AzureCustomCloud"를 사용해야 합니다. azure.tenantAzure Stack Hub 테넌트 ID의 값입니다. azure.customCloud.resourceManagerEndpointUrlAzure Stack Hub용 Azure Resource Manager의 루트 URL입니다. validateAuthorityMicrosoft Entra ID를 ID 관리자로 사용하는 경우 이 매개 변수를 제외할 수 있습니다. AD FS를 사용하는 경우 값 false으로 매개 변수를 추가합니다.JSON 코드 조각:
"azure.cloud": "AzureCustomCloud", "azure.customCloud.resourceManagerEndpointUrl": "https://management.region.<fqdn>", "azure.tenant": "<your-tenant-ID>",
사용자 설정(JSON)을 저장하고 Ctrl+Shift+P 를 다시 사용합니다. Azure: 로그인을 선택합니다. 인증 페이지가 브라우저에 로드됩니다. 엔드포인트에 로그인합니다.
Azure Stack Hub 구독에 성공적으로 로그인했는지 테스트하려면 Ctrl+Shift+ P 를 사용하고 Azure를 선택합니다. 구독을 선택하고 구독을 사용할 수 있는지 확인합니다.
명령어
| Azure: 로그인 | Azure 구독에 로그인합니다. |
|---|---|
| Azure: 디바이스 코드로 로그인 | 디바이스 코드를 사용하여 Azure 구독에 로그인합니다. 로그인 명령이 작동하지 않는 설정에서 디바이스 코드를 사용합니다. |
| Azure: Azure Cloud에 로그인 | 소버린 클라우드 중 하나에서 Azure 구독에 로그인합니다. |
| Azure: 로그아웃 | Azure 구독에서 로그아웃합니다. |
| Azure: 구독 선택 | 작업하려는 구독 집합을 선택합니다. 확장은 필터링된 구독 내의 리소스만 표시합니다. |
| Azure: 계정 만들기 | Azure 계정이 없는 경우 오늘 등록하여 $200의 무료 크레딧을 받을 수 있습니다 . |
| Azure: Cloud Shell에서 Bash 열기 | Cloud Shell에서 Bash를 실행하는 새 터미널을 엽니다. |
| Azure: Cloud Shell에서 PowerShell 열기 | Cloud Shell에서 PowerShell을 실행하는 새 터미널을 엽니다. |
| Azure: Cloud Shell에 업로드 | Cloud Shell 스토리지 계정에 파일을 업로드합니다. |