2024년 4월 22일부터 Terraform Cloud의 이름이 HCP Terraform으로 변경되었습니다.
하기 내용에서는 Terraform Cloud 이름 대신 HCP Terraform 이름으로 대체하여 설명을 진행하도록 하겠습니다.
1. HCP Terraform의 No-code Provisioning 이란?
No-Code Provisioning은 HCP Terraform에서 코드를 작성하지 않고도 인프라를 프로비저닝할 수 있는 기능입니다.
HCP Terraform의 No-code Provisioning는 Plus Plan이상부터 가능합니다.
No-Code Provisioning의 장점
- 코드를 작성하지 않아도 되므로, 비개발자나 인프라 코드에 익숙하지 않은 사용자도 쉽게 인프라를 배포할 수 있습니다.
- 개발자들에게 셀프 서비스 형태로 테스트 환경을 제공할 수 있어, 인프라 팀의 업무 부담을 줄이고 개발 속도를 높일 수 있습니다.
- UI를 통해 빠르게 인프라를 설정하고 배포할 수 있어, 시간 절약이 가능합니다.
사전 준비
- HCP Terraform의 No-Code Provisioning을 사용하기 위해서는 Terraform Module Code 및 VCS가 HCP Terraform의 Registry에 등록되어 있어야만 사용이 가능합니다.
- HCP Terraform의 Module 등록은 해당 링크를 통해 확인할 수 있습니다.
No-Code Provisioning 은 코드를 작성하지 않고 사용이 가능하다라고 위에서 설명하였지만, 코드를 작성하지 않고 No-Code Provisioning을 사용하는 사람은 인프라 코드를 상관하지 않고 바로 인프라를 사용하는 사용자를 의미합니다.
No-Code Provisioning을 제공하기 위해서는 미리 작성된 모듈 코드와 VCS(Versions Control System) 연동이 필요합니다. 즉, 인프라 코드를 신경 쓰지 않고 인프라를 사용하는 사람들을 위해, 개발자는 모듈 코드를 작성하고 이를 Terraform Registry에 등록해야 합니다.
2. No-Code Provisioning 실습
1. HCP Terraform의 왼쪽 탭의 Registry를 클릭하여 No-code Provisioning을 하고자 하는 Module은 선택합니다.
2. Module 화면에서 오른쪽 상단의 No Code Provisioning란의 Configure Settings를 클릭합니다.
3. Enable Module for no-code provisioning을 체크하여 기능을 활성화합니다.
4. 다시 Module 화면으로 돌아와 Provision workspace를 클릭하여 no-code Provision용 Workspace를 생성합니다.
5. Module에서 사용하고 하는 변수값을 UI에 입력합니다.
6. Workspace의 세팅(이름 설정, apply 방식 설정 등)을 진행 후 Create Workspace를 클릭합니다.
7. Workspace 생성 시 바로 Terraform Plan이 적용되는 것을 확인할 수 있습니다.
- 필자의 경우 Workspace가 생성되는 Project 레벨에 Variable Set이 적용되어 있기에 정상 동작하였습니다.
- 에러가 날 경우 Variable 에 AWS Credential을 기입 후 다시 New run을 통해 Terraform을 동작하시면 됩니다.
3. 정리
- HCP Terraform의 No-Code Provisioning은 인프라를 코드로 관리하는 복잡성을 줄이고, 비개발자도 쉽게 인프라를 배포할 수 있도록 도와주는 기능입니다.
- 특히, 개발자들에게 셀프 서비스 형태로 테스트 환경을 제공함으로써 인프라 팀의 업무 부담을 줄이고, 개발 속도를 높일 수 있습니다.
- No-Code Provisioning을 제공하기 위해서는 먼저 모듈 코드를 작성하고, 해당 모듈을 VCS와 연동하여 Terraform Registry에 등록해야 합니다.
- 이번 포스트에서는 No-Code Provisioning의 개념, 장점, 그리고 사용 방법에 대해 알아보았습니다. 이를 활용하여 보다 효율적으로 인프라를 관리해보면 좋을 것 같습니다.
'Terraform Cloud(HCP Terraform)' 카테고리의 다른 글
HCP Terraform(Terraform Cloud)의 Policy(Sentinel)로 보안/거버넌스 정책 적용하기 (0) | 2024.05.26 |
---|---|
HCP Terraform(Terraform Cloud)의 Team 권한(RBAC) 설정 (1) | 2024.05.26 |
HCP Terraform(Terraform Cloud)의 Module 사용 (0) | 2024.05.19 |
HCP Terraform(Terraform Cloud)의 VCS연동(Github, GitLab, Bitbucket..) (2) | 2024.05.19 |
HCP Terraform(Terraform Cloud)의 Variable Sets (0) | 2024.05.15 |