본 문서는 EKS 환경에 Flexible Deployment Options를 배포 하면서 DB를 aws 서비스를 사용하지 않고 container로 배포하는 테스트 기록을 남긴 문서입니다.
Container component deploy
사전 조건
- FDO 사설 인증서(본 테스트는 openssl로 진행) 및 도메인 준비(tfe.crt,tfe.key)
- FDO 용 라이선스
본 문서는 EKS 환경에 Flexible Deployment Options를 배포 하면서 DB를 aws 서비스를 사용하지 않고 container로 배포하는 테스트 기록을 남긴 문서입니다.
사전 조건
ADFS의 Group과 User가 생성되어 있으며 Terraform Enterprise가 구축되어 SAML연동이 필요한 상황일 때 본 가이드를 권장합니다.
Terraform Enterpirse SAML Configure 에 필요한 enpoints와 idp인증서 export를 위해 진행.

Backup은 Object Storage와 PostgreSQL을 포함한 모든 데이터를 대상으로 이루어진다. 다만, 설치 구성요소들에 대한 Backup이 되는 것은 아니기 때문에 Restore시 새로운 Terraform Enterprise의 설치가 필요하다.
아래와 같은 주의 사항이 존재
클라우드들의 API의 경우 대부분 Sync로 동작하므로, Terraform이 생성 요청을 하면 그에 대한 응답을 받습니다. AWS의 경우 네트워크가 단절 되더라도, 이미 요청한 API 대한 응답을 AWS에서 반환하므로 timeout으로 인한 에러가발생 한 이후 응답을 기준으로 State가 작성됩니다. 다만 정상적인 완료 응답을 받지 못했으므로 Terraform State에는 해당 리소스는 tainted(불확실한) 상태로 기록됩니다.
Terraform Cloud Agent(Agent)는 Terraform Enterprise/Cloud(TFE/C)에서 사용가능한 사용자 정의 Terraform 실행 환경을 제공합니다. 사용자는 Agent를 사용하여 Terraform 실행을 위해 기본 제공되는 이미지 대신 커스텀 패키지가 설치된 별도 이미지를 사용할 수 있고, 이미지 실행 위치를 네트워크 환경에서 자체 호스팅 할 수 있습니다.

| Log |
|---|
| Error: state snapshot was created by Terraform v0.13.2, which is newer than current v0.12.26; upgrade to Terraform v0.13.2 or greater to work with this state |
terraform_remote_state 는 버전에 관계 없이 워크스페이스 간에 output을 읽어올 수 있음을 확인본 글은 HashiCorp의 공식 워크샵인 "Intro to Terraform on Azure" 내용을 발췌하여 작성한 글입니다. 참고
실습 원본 소스코드는 hashicat-azure 저장소에서 확인할 수 있습니다.
관련 Knowledge Base Article : https://support.hashicorp.com/hc/en-us/articles/4409044739859-Container-ptfe-base-startup-failed
HashiCorp의 제품은 설치형과 더불어 SaaS 모델로도 사용가능한 모델이 제공됩니다. 여기에는 지금까지 Terraform Cloud, HCP Vault, HCP Consul 이 제공되었습니다. HCP는 HashiCorp Cloud Platform의 약자 입니다.
여기에 최근 HCP Packer가 공식적으로 GA(General Available)되었습니다. HashiCorp의 솔루션들에 대해서 우선 OSS(Open Source Software)로 떠올려 볼 수 있지만 기업을 위해 기능이 차별화된 설치형 엔터프라이즈와 더불어 클라우드형 서비스도 제공되고 있으며 향후 새로운 솔루션들이 추가될 전망입니다.