AWS에서 HA/DR 데이터베이스를 설정하는 방법은 무엇입니까? [9 - 임의의 값 생성]

6875 단어 terraformdevopssreaws
이 부분(및 시리즈의 마지막 부분)에서는 임의의 값을 생성하는 방법을 살펴봅니다.

예를 들어 스냅샷의 고유한 이름을 생성하는 데 정말 유용합니다. 필요한 항목에 따라 여러 정의를 사용할 수 있습니다.


임의 ID




resource "random_id" "rdm_id" {
  byte_length = 8
}


이렇게 선언하면 다음에서 검색할 수 있는 8바이트 길이의 ID를 생성합니다.

  • base64 : random_id.rdm_id.id => MDc3NDA2OGE5YTNhMjc5MQ==

  • 십진수: random_id.rdm_id.dec => 537061447926687633

  • 16진수: random_id.rdm_id.hex => 0774068a9a3a2791

  • 그러나 이렇게 하면 random_id는 항상 동일합니다!

    따라서 추가할 때 값이 변경되도록 하려면 keepers 매개변수를 사용할 수 있습니다.

    이를 통해 "파라미터 X와 Y가 변경되면 임의의 값도 변경되어야 합니다"라고 말할 수 있습니다.

    이 예에서 무작위 값은 전역 클러스터 예의 arn이 변경될 때마다 변경됩니다.

    resource "random_id" "rdm_id" {
      byte_length = 8
    
      keepers = {
        first = aws_rds_global_cluster.example.arn
      }
    }
    


    스크립트가 실행될 때마다 이 값을 변경하려면 타임스탬프를 사용하세요.

    resource "random_id" "rdm_id" {
      byte_length = 8
    
      keepers = {
        first = timestamp()
      }
    }
    



    다른 임의의 가능성



    동일한 패턴에 따라 Terraform을 사용하면 무작위로 생성할 수 있습니다.
  • 정수

  • resource "random_integer" "priority" {
      min = 1
      max = 50000
    }
    


  • 비밀번호

  • resource "random_password" "password" {
      length           = 16
      special          = true
      override_special = "_%@"
    }
    




  • resource "random_string" "random" {
      length           = 16
      special          = true
      override_special = "/@£$"
    }
    


  • UUID

  • resource "random_uuid" "test" {
    }
    


  • 뒤섞인 하위 목록

  • resource "random_shuffle" "az" {
      input        = ["us-west-1a", "us-west-1c", "us-west-1d", "us-west-1e"]
      result_count = 2
    }
    


    여기에서 항목이 2개뿐인 입력 목록의 하위 목록을 검색합니다.


    연결


  • Terraform 문서 random_id: https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/id
  • Terraform 문서 random_integer: https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/integer
  • Terraform 문서 random_password: https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password
  • Terraform 문서 random_shuffle: https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/shuffle
  • Terraform 문서 random_string: https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string
  • Terraform 문서 random_uuid: https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/uuid



  • 도움이 되길 바라며 이 시리즈를 좋아하셨습니다! 🍺


    시리즈 링크



  • 1 - 시작:

  • 2 - 정의:

  • 3 - 간단한 데이터베이스:

  • 4 - HA 데이터베이스:

  • 5 - DR 데이터베이스:

  • 6 - 스냅샷에서 만들기:

  • 7 - 동적 Terraform 백엔드 정의:

  • 8 - 여러 지역의 여러 인스턴스:

  • 9 - 임의 값 생성:
  • 좋은 웹페이지 즐겨찾기