오늘도 테라폼을 실행했는데,
init 부분에서 아래와 같은 에러가 발생했다.
error의 원인은 provider를 설치하지 못했다는 에러였는데,
그 밑으로는 failed to open temporary file이라는 에러가 적혀있다.
해당 에러가 발생하는 원인은 다음과 같아.
1. /tmp 폴더의 디스크 용량 부족
- 테라폼은 따로 옵션으로 설정을 하지 않으면 install에 필요한 파일을 /tmp에 저장한 후 인스톨하게 되어 있다.
그렇기에 /tmp 폴더의 용량이 부족하면 당연히 에러가 위의 에러가 발생하게 된다.
df -h /tmp |
나의 경우 9기가가 남았기 때문에 이 문제는 아니었다.
2. /tmp 폴더의 권한 문제
- /tmp 폴더에 인스톨 파일을 저장해야하는데 권한에 문제가 생기면 당연히 안된다.
ls -ld /tmp |
위와 같이 t가 꼭 있어야하고 나머지는 rwxrwxrwx면 된다.
역시나 이 문제도 아니었다.
3. hashcorp로 접속하지 못하는 환경 문제
curl -I https://releases.hashicorp.com |
200 OK 나오면 연결은 잘되는거다.
보통은 이런 문제로 인해서 발생하는데,
나의 경우는 좀 달랐다.
서울 리전 인스턴스 -> 오하이오 리전 인스턴스로 terraform을 실행하도록 하기 위해
특정 커맨드를 써서 오하이오로 명령을 전달하도록 했는데,
그 커맨드가 /tmp를 사용하도록 되어 있다.
그래서 정확하진 않지만 /tmp를 이미 다른 커맨드가 점유하고 있는 상태에서
terraform이 접근을 하려해서 발생하는 문제로 보였고,
이를 해결하기 위해 tmp 경로를 직접 지정해주도록 수정했다.
이렇게 /tmp 경로를 직접 지정해주니 해결됐다.
'IaC > Terraform' 카테고리의 다른 글
Error: error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: SignatureDoesNotMatch: Credential should be scoped to a valid region. (2) | 2025.04.08 |
---|---|
.tfstate 파일 알아보기 (0) | 2023.10.06 |
Terraform 사용해보기(2) (1) | 2023.10.05 |
Terraform 사용해보기(1) (1) | 2023.10.04 |
IAC(Infra As Code) 중 Terraform 설치 (0) | 2023.10.04 |