Azure PowerShell을 사용하여 Azure Cloud Shell에서 Terraform 구성
Terraform은 클라우드 인프라의 정의, 미리 보기 및 배포를 사용합니다. Terraform을 사용하는 경우 HCL 구문를 사용하여 구성 파일을 만듭니다. HCL 구문을 사용하면 클라우드 공급자(예: Azure) 그리고 클라우드 인프라를 구성하는 요소를 지정할 수 있습니다. 구성 파일을 만든 후 배포되기 전에 인프라 변경을 미리 볼 수 있는 실행 계획를 만듭니다. 변경 내용을 확인 한 후에는 실행 계획을 적용하여 인프라를 배포합니다.
이 문서에서는 Cloud Shell 및 PowerShell을 사용하여 Azure 에서 Terraform을 시작하는 방법을 보여줍니다.
이 문서에서는 다음 방법을 설명합니다.
- Cloud Shell 구성
- 일반적인 Terraform 및 Azure 인증 시나리오 이해
- Cloud Shell에서 Microsoft 계정을 통해 인증(Bash 또는 PowerShell 사용)
- Windows에서 Microsoft 계정을 통해 인증(Bash 또는 PowerShell 사용)
- Azure CLI를 사용하여 서비스 주체 만들기
- Azure PowerShell을 사용하여 서비스 사용자 만들기
- 환경 변수에서 서비스 주체 자격 증명 지정
- Terraform 공급자 블록에서 서비스 주체 자격 증명 지정
1. 환경 구성
- Azure 구독: Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
2. Cloud Shell 열기
Cloud Shell 세션이 이미 열려 있는 경우 다음 섹션으로 건너뛸 수 있습니다.
Azure Portal로 이동합니다.
필요한 경우 Azure 구독에 로그인하고 Azure 디렉터리를 변경합니다.
Cloud Shell을 엽니다.
이전에 Cloud Shell을 사용하지 않은 경우 환경 및 스토리지 설정을 구성합니다.
명령줄 환경을 선택합니다.
3. Azure Cloud Shell에 최신 버전의 Terraform 설치
Cloud Shell은 최신 버전의 Terraform으로 자동으로 업데이트됩니다. 그러나 업데이트는 릴리스 후 2주 이내에 제공됩니다. 이 문서에서는 현재 버전의 Terraform을 다운로드하고 설치하는 방법을 보여줍니다.
Cloud Shell에서 사용되는 Terraform의 버전을 확인합니다.
terraform version
Cloud Shell에 설치된 Terraform 버전이 최신 버전이 아닌 경우 Terraform 버전이 최신 버전이 아님을 나타내는 메시지가 표시됩니다.
표시된 버전으로 잘 작업하려면 다음 섹션으로 건너뜁니다. 그렇지 않으면 다음 단계를 계속합니다.
Terraform 다운로드 페이지로 찾습니다.
Linux 다운로드 링크로 스크롤합니다.
마우스를 64비 트 링크 위로 이동합니다. 이 링크는 Cloud Shell에 적합한 최신 64비트 Linux AMD 버전용입니다.
URL을 복사합니다.
curl
을 실행하여 자리 표시자를 이전 단계의 URL로 바꿉니다.curl -O <terraform_download_url>
파일의 압축을 풉니다.
unzip <zip_file_downloaded_in_previous_step>
디렉터리가 없으면 라는
bin
디렉터리를 만듭니다.mkdir bin
terraform
파일을 디렉터리로bin
이동합니다.mv terraform bin/
Cloud Shell을 닫고 다시 시작합니다.
다운로드한 Terraform 버전이 경로의 첫 번째 버전인지 확인합니다.
terraform version
4. 기본 Azure 구독 확인
Microsoft 계정으로 Azure Portal에 로그인하면 해당 계정에 대한 기본 Azure 구독이 사용됩니다.
Terraform은 기본 Azure 구독의 정보를 사용하여 자동으로 인증합니다.
az account show를 실행하여 현재 Microsoft 계정 및 Azure 구독을 확인합니다.
az account show
Terraform을 통해 변경한 내용은 표시된 Azure 구독에 있습니다. 원하는 경우 이 문서의 나머지 부분을 건너뜁니다.
Azure의 Terraform 문제 해결
Azure에서 Terraform을 사용할 때 일반적인 문제 해결