• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

Error: Cannot assume IAM Role 에러

24.04.13 15:06 작성 24.04.13 15:09 수정 조회수 75

1

안녕하세요, 양질의 강의 감사합니다.

저도 아래분과 똑같은 오류를 경험하고 있습니다.

댓글을 보고 따라해봐도 어떻게 해야되는지 잘 모르겠습니다.

 

data "terraform_remote_state" "vpc" {

backend = "s3"

config = merge(var.remote_state.vpc.neopindapne2)

}

이렇게 바꾸면 돌아가는 건가요?

사실 저렇게 변경해봐도 다른 부분에서 추가적으로 오류가 생겨 글을 남겨요.

또한

괜찮으시다면

보편적인 Application 구조 ALB_SG-ALB-Listner-TargetGroup - EC_SG 만들기

이 부분에서 어떤 부분을 어떻게 수정해야되는지 구체적으로 명확하게 적시해주시면 감사할 것 같습니다.

--

추가적으로 강의를 나눠서 진행한다고 하셨습니다.

맨 처음

https://terraform201.devart.tv/

이 페이지를 보고 젠킨스까지 다 진행해주시는 줄 알았네요.

강의 소개란에 1편, 2편 나눠서 진행하신다고 적어주시면 좋을 것 같습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요.

송주영입니다.

 

일단 해당 에러의 원인은 remote state 를 구성하는 변수의 한가지가 변경되었기 때문입니다.

( 즉, 제가 만들었던 테라폼 1.5.7 버전과 현재 1.8.0 버전 차이로 생기는 문제입니다 )

고치는 방법은 두가지입니다.

 

그리고 "" 공백값을 허용하지 않는 것이 두번째 이유입니다.

해당 부분을 고치는 방법은 일단 아래 PR을 참조 부탁드립니다.

https://github.com/DevopsArtFactory/aws-provisioning/pull/47/files

 

  1. 테라폼을 1.5.X 버전으로 인스톨 한다

  2. 아래 PR처럼 수정한다 입니다.

 

assume_role은 나중에 iam 강의일때, 사용하는 부분이어서 아직 사용하지 않기 때문에,

해당 부분을 고쳐주시면 될 것 같습니다.

remote_state.tf 파일을

config = merge(var.remote_state.vpc.devartdapne2, { "role_arn" = var.assume_role_arn })

위에서 아래로,

config = merge(var.remote_state.vpc.devartdapne2)

 

일단 제가 배포하는 코드에서는 해당 부분을 모두 제거하였습니다,

그리고 강의가 jenkins 까지 모두 커버하게 헷갈리지 않도록 소개페이지를 수정토록 하겠습니다.

 

iam 중급 + jenkins 를 하려면 역시 10시간 가까운 분량이 나오기 떄문에,

절반으로 나누게 되었습니다~

 

이래도 안되시는 부분있으면 상세하게 remote_state.tf 파일과, var_global.tf 파일을,

올려주시고 terraform version 과 함께 올려주세요~

 

감사합니다.