테라폼이 "이미 존재하는" 모든 리소스를 자동으로 가져오도록 하는 방법은 무엇입니까?
테라폼이 "이미 존재하는" 모든 리소스를 자동으로 가져오도록 하는 방법은 무엇입니까?
실행하면 다음 오류가 표시됩니다.
Error: A resource with the ID "/subscriptions/.../resourceGroups/RG-SCUSTFStorage" already exists - to be managed via Terraform this resource needs to be imported into the State. Please see the resource documentation for "azurerm_resource_group" for more information.
리소스를 작업 공간으로 가져오기 위해 실행해야 한다는 것을 과소평가합니다. 문제는 누락된 모든 리소스에 대해 리소스 ID를 한 번에 하나씩 지정해야 한다는 것입니다.
리소스 ID를 한 번에 하나씩 입력하지 않고 모든 "이미 존재하는" 리소스를 자동으로 가져올 수 있는 방법이 있습니까?
그러나 리소스 ID를 사용하여 기존 리소스를 하나씩 수동으로만 가져올 수 있습니다.
그러나 import 명령은 인프라를 관리하기 위한 구성을 자동으로 생성하지는 않습니다. 이 때문에 기존 인프라를 테라폼으로 들여오는 것은 다단계 과정이다.
더 자세한 정보. 배치하기 전에 모든 Terraform 스크립트에 사용할 것을 제안합니다. 배포된 리소스가 모두 포함된 상태 파일이 없는 경우 리소스를 하나씩만 가져올 수 있습니다.
Terraform에는 이미 존재하는 리소스를 가져올 수 있는 기본적인 방법이 없지만, 리소스를 가져올 뿐만 아니라 아직 존재하지 않는 경우 해당 리소스에 대한 Terraform 코드를 생성할 수 있는 몇 가지 도구가 있습니다.
애저에게 있어 가장 좋은 도구는 애저 빌드입니다. 기존 애저 리소스를 테라폼의 관리하에 두는 도구입니다.
애저 리소스를 가져오는 데 사용할 수 있는 또 다른 도구는 애저를 지원하는 구글 클라우드입니다.
Azure 리소스를 가져오려는 경우 Azure에서 가져온 도구를 권장합니다.
테라폼 코드를 생성하고, 추가로 애저 리소스 그룹을 가져올 수 있는 기능이 있으며, 리소스 그룹이 보유하고 있는 리소스에 대한 구성을 자동으로 가져오고 생성합니다. 말할 것도 없고, 그 도구는 당신에게 멋진 터미널 기반 UI 경험을 제공한다.
다른 하이퍼스케일러의 경우 두 가지 옵션이 있습니다.
- : 문서에 따라 모듈도 생성할 수 있습니다.
- : 구글 사람들에 의해 개발되었지만 공식적인 제품은 아니다.