AWS SSO를 이용한 Terraform 실행

1935 단어 AWSTerraformtech

추기


2021/1/23aws-vault에서 갑자기 credentials 오류가 발생하여 사용할 수 없을 때 처리

전제 조건


이번 검증의 각 도구의 버전은 다음과 같다.
  • macOS
  • aws-cli/2.1.2
  • Terraform/0.14.0
  • aws-vault/6.2.0
  • AWS SSO를 이용한 Terraform 실행


    AWS CLI


    AWS CLI에서 SSO에 대한 구성 파일을 설정할 수 있습니다. 다음 명령을 사용하여 설정합니다.
    aws configure sso
    
    중간에 SSO의 로그인 화면이 있어 로그인합니다.
    설정이 완료되면 적당한 명령으로 설정하세요.
    aws s3 ls --profile <profile-name>
    

    aws-vault


    설치되지 않은 경우 홈brew를 통해 설치할 수 있습니다.
    brew install aws-vault
    
    GiitHub에서 직접 설치할 때는 6.0.0-beta5 이상의 버전을 설치하십시오.(SSO 호환 버전)
    aws-vault도 정상적으로 작동할 수 있는지 시험해 보세요.
    aws-vault exec <profile-name> -- aws s3 ls
    
    ※ aws-vault를 처음 사용할 때는 키체인의 비밀번호를 설정해야 합니다.

    Terraform


    다음 내용으로 제작해 보세요main.tf.
    terraform {
      required_providers {
        aws = {
          source  = "hashicorp/aws"
          version = "~> 3.20.0"
        }
      }
    }
    
    provider "aws" {
      region = "ap-northeast-1"
    }
    
    resource "aws_vpc" "this" {
      cidr_block = "10.0.0.0/16"
    }
    
    terraform init에provider를 설치하고plan을 시도합니다.
    aws-vault exec <profile-name> -- terraform plan
    
    이렇게 평면 내용을 표시하면 완성됩니다.

    갑자기 credentials 오류가 발생하여 사용할 수 없습니다


    모든 프로필에 다음 오류가 발생하여 사용할 수 없습니다.
    aws-vault: error: exec: Failed to get credentials for hoge: : Session token not found or invalid
            status code: 401, request id: 
    
    AWS CLI를 직접 두드리면 움직이기 때문에 aws-vault가 이상해진 것 같아요.
    처리 방법은 ~/Library/Keychains/aws-vault.keychain-db의 파일을 삭제하고 다시 실행하면 행동을 시작합니다.
    (만일의 경우를 대비하여 백업을 잘 하십시오.)

    좋은 웹페이지 즐겨찾기