ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • terraform (remote state)
    terraform 2023. 11. 21. 17:19

     

     

    버킷을 생성 해준다

     

    AWS에서 S3를 백엔드로 사용하여 Terraform 상태를 저장하고, AWS IAM 사용자를 생성하며, 각 사용자의 ARN을 출력하는 예시입니다

    terraform {
      backend "s3" {
        bucket = "test3555442"
        key    = "s3-backend/terraform.tfstate"
        region = "ap-northeast-2"
      }
    }
    
    provider "aws" {
      region = "ap-northeast-2"
    }
    
    resource "aws_iam_user" "user1" {
      name = "user-1"
    }
    
    resource "aws_iam_user" "user2" {
      name = "user-2"
    }
    
    resource "aws_iam_user" "user3" {
      name = "user-3"
    }
    
    output "user_arns" {
      value = [
        aws_iam_user.user1.arn,
        aws_iam_user.user2.arn,
        aws_iam_user.user3.arn,
      ]
    }

     

    remote state
    - Terraform에서 "remote state"는 Terraform 상태 정보를 로컬이나 원격 위치에 저장하는 방법을 나타냅니다. Terraform은 상태 정보를 추적하여 리소스의 현재 상태를 파악하고 변경 사항을 관리합니다. 상태 정보는 Terraform 실행 중에 생성된 리소스의 매핑과 현재 상태를 기록하는 데 사용됩니다.

    terraform init / plan / apply

     

     

    aws로 확인

     

    https://app.terraform.io/app/settings/profile

     

    Terraform Cloud

     

    app.terraform.io

     

    아이디 생성 후 프로젝트 생성 

     

     

    이메일 인증을 하면 만들 수 있다

     

     

    유저 설정에가서 토큰 생성

     

    nano  ~/.terraformrc  -> credentials "app.terraform.io" {
      token = 
    }

    토큰 입력

     

    terraform {
      backend "remote" {
        hostname = "app.terraform.io"
        organization  = "qkrwo8520terraform" #자신의 프로젝트 이름
        workspaces {
          name = "tf-cloud-backend"
       }
      }
    }
    
    provider "aws" {
      region = "ap-northeast-2"
    }
    
    resource "aws_iam_user" "user1" {
      name = "user-1"
    }
    
    resource "aws_iam_user" "user2" {
      name = "user-2"
    }
    
    resource "aws_iam_user" "user3" {
      name = "user-3"
    }
    
    output "user_arns" {
      value = [
        aws_iam_user.user1.arn,
        aws_iam_user.user2.arn,
        aws_iam_user.user3.arn,
      ]
    }

     

    terraform init -migrate-state
    terraform apply

     

     

    실패를 했다 권한이 문제이것 같다

     

     

     

    오류가 나오지않고 성공을 했다

     

    'terraform' 카테고리의 다른 글

    terraform (vpc, subnet, nat_gateway, route table)  (0) 2023.11.23
    terraform (backend)  (0) 2023.11.22
    terraform 반복문(count, for_each)  (1) 2023.11.21
    terraform 인스턴스 생성  (0) 2023.11.21
Designed by Tistory.