Fabric FAST 툴킷을 사용한 기본 설정

이 페이지에서는 Fabric FAST Terraform 프레임워크를 사용하여 새 '스타터' 조직을 설정하는 방법을 설명합니다. 언제든지 프로젝트, 폴더 등을 수동으로 만들 수 있지만 패브릭 FAST의 기본 설정을 사용하면 안전하고 잘 테스트된 기본값으로 대규모 엔터프라이즈 설정의 관리 오버헤드 없이 빠르게 시작할 수 있습니다.

이 페이지는Cloud de Confiance에서 새 조직을 구성해야 하는 관리자를 위해 작성되었습니다. 다음 시나리오가 조직에 적용되는 경우 이 옵션을 사용하는 것이 좋습니다.

  • 클라우드 구성 및 Terraform에 대한 경험이 제한적입니다.
  • 단일 팀 (또는 단일 엔지니어)이 전체 스택을 엔드 투 엔드로 관리할 것으로 예상합니다. 소규모 조직이나 스타트업이거나 개념 증명을 개발하는 경우에 이러한 상황이 발생할 수 있습니다.

이 설정을 완료한 후 Terraform을 계속 사용하여 새 조직을 관리하거나 Google Cloud CLI 또는 Cloud de Confiance 콘솔을 사용하도록 전환할 수 있습니다.

더 복잡한 조직 또는 기술적 요구사항이 있거나 이전에 Google Cloud에서 Fabric FAST를 사용한 적이 있는 경우 Fabric FAST를 사용한 엔터프라이즈 설정으로 바로 이동하여 FAST 단계를 알아보고 기존 구성을 시작하는 것이 좋습니다. 어떤 옵션을 선택해야 할지 잘 모르겠다면 어떤 패브릭 FAST 설정을 선택해야 하나요?를 참고하세요.

가장 먼저 알아야 할 사항은 무엇인가요?

이 가이드를 읽기 전에 다음을 수행해야 합니다.

  • Cloud de Confiance개요에 설명된 기본 Cloud de Confiance개념을 이해합니다.

  • 조직, 폴더, 프로젝트를 포함한 Cloud de Confiance 리소스 계층 구조를 이해합니다.

  • 설정 개요, 특히 패브릭 FAST 정보를 읽어보세요. 이 문서에 설명된 기본 설정은 유니버스를 특별히 타겟팅하고 즉시 사용 가능한 조직을 제공하는 특수 패브릭 FAST 구성을 사용하며, 이 모든 것이 단일 단계로 생성됩니다.

Terraform에 익숙하면 도움이 되지만 이 가이드를 사용하기 위해 Terraform을 능숙하게 사용할 필요는 없습니다.

이 설정으로 무엇을 얻을 수 있나요?

'스타터' 패브릭 FAST 구성은 비교적 평면적이므로 조직에 사용할 수 있는 기본 출발점을 제공합니다. 이는 깊은 엔터프라이즈급 리소스 계층 구조를 가지고 단계별로 구성을 점진적으로 빌드하는 '클래식' 설정과 대조됩니다.

설정을 실행한 후 조직 리소스에는 다음이 포함됩니다.

  • 두 개의 환경 폴더(개발용 하나, 프로덕션용 하나) 환경별로 비용을 추적하고 정책을 적용할 수 있도록 자동으로 태그가 지정됩니다.
  • 각 폴더에 두 개의 프로젝트가 있습니다.
    • 폴더의 단일 네트워크를 포함하는 전용 네트워크 프로젝트
    • 첫 번째 애플리케이션 프로젝트: 폴더 아래에 생성되고 폴더의 VPC 서비스 프로젝트로 구성됩니다.
  • 각 폴더에 하나의 서브넷과 기본 보안 방화벽 규칙이 사전 구성된 단일 Virtual Private Cloud (VPC) 네트워크 (예: 보안 Identity-Aware Proxy (IAP) 로그인을 허용)
  • 단일 최상위 관리 프로젝트 (prod-iac-core-0). 이 프로젝트는 설정의 브레인 역할을 하며 Terraform의 상태, 자동화 서비스 계정, 중앙 감사 로그를 안전하게 저장합니다.

그런 다음 필요에 따라 자체 폴더, 프로젝트, 네트워크 및 기타 리소스를 추가할 수 있습니다.

다음 다이어그램은 '스타터' 리소스 간의 관계를 보여줍니다.

FAST 스타터 아키텍처를 보여주는 다이어그램

시작하기 전에

다음을 확인합니다.

  • 조직에 구성된 ID 공급업체 (IdP)가 있고 관리자 ID로 Cloud de Confiance 에 로그인되어 있습니다.
  • Cloud de Confiance와 함께 사용할 수 있도록 Google Cloud CLI를 설정했습니다.
  • 로컬 머신에 gitterraform 도구가 설치되어 있습니다.
  • 다음 정보가 준비되어 있습니다.

    • 조직의 관리자 권한을 부여할 주 구성원을 선택합니다. 본인의 ID 또는 (권장) 본인이 속한 관리자 사용자 그룹일 수 있습니다.
    • 핵심 프로젝트에 대해 선택한 필수 연락처 이메일 주소
    • 조직 리소스 ID입니다. 이 주소는 Cloud de Confiance 콘솔에서 찾을 수도 있고 다음 Google Cloud CLI 명령어를 실행하여 찾을 수도 있습니다.

      gcloud organizations list
      

      여기에는 속해 있는 모든 조직 (하나만 있어야 함)과 해당 ID가 나열됩니다.

필수 권한 부여

다음 명령어를 실행하여 배포를 실행하는 보안 주체에게 필요한 IAM 권한을 부여합니다.

export FAST_PRINCIPAL="PRINCIPAL_ID"

export FAST_ORG_ID="ORG_ID"

# set needed roles (billing role only needed for organization-owned account)
export FAST_ROLES="\
  roles/billing.admin \
  roles/logging.admin \
  roles/iam.organizationRoleAdmin \
  roles/orgpolicy.policyAdmin \
  roles/resourcemanager.folderAdmin \
  roles/resourcemanager.organizationAdmin \
  roles/resourcemanager.projectCreator \
  roles/resourcemanager.tagAdmin \
  roles/owner"

for role in $FAST_ROLES; do
  gcloud organizations add-iam-policy-binding $FAST_ORG_ID \
    --member $FAST_PRINCIPAL --role $role --condition None
done

다음을 바꿉니다.

  • PRINCIPAL_ID: 관련 주 구성원의 식별자입니다. 주 구성원 식별자에서 직원 ID 제휴의 ID와 그룹을 지정하는 방법을 자세히 알아볼 수 있습니다.
  • ORG_ID: 조직 리소스 ID입니다.

임시 프로젝트 만들기

조직 정책 서비스는 초기 설정 중에 조직 루트에서 자동으로 사용할 수 없으므로 Fabric FAST Terraform을 실행하려면 기존 프로젝트가 하나 이상 필요합니다. 빈 조직에 Terraform을 처음 적용하는 경우 다음 단계에 따라 새 조직의 루트에 임시 프로젝트를 만드세요.

  1. 조직에서 프로젝트를 만들고 프로젝트 ID를 기록해 둡니다.
  2. 프로젝트를 Google Cloud CLI의 현재 프로젝트로 설정합니다.

    gcloud config set project PROJECT_ID
    
  3. 다음 명령어를 실행하여 프로젝트에서 필요한 서비스를 사용 설정합니다.

    gcloud services enable \
     bigquery.googleapis.com \
     cloudbilling.googleapis.com \
     cloudresourcemanager.googleapis.com \
     essentialcontacts.googleapis.com \
     iam.googleapis.com \
     logging.googleapis.com \
     orgpolicy.googleapis.com \
     serviceusage.googleapis.com
    

설정을 완료한 후 원하는 경우 이 프로젝트를 삭제할 수 있습니다.

Terraform 가져오기

다음 명령어를 실행하여 Fabric FAST 저장소를 로컬 머신에 클론합니다.

git clone https://github.com/GoogleCloudPlatform/cloud-foundation-fabric.git

파일이 머신에 복사되면 Fabric FAST 조직 설정 단계 루트 디렉터리를 작업 디렉터리로 변경하여 시작합니다.

cd cloud-foundation-fabric/fast/stages/0-org-setup

구성 파일 업데이트

Terraform을 적용하기 전에 Fabric FAST에서 사용하는 일부 구성 파일을 업데이트하여 선택한 구성, 타겟 유니버스, 관리자 계정과 같은 세부정보를 지정해야 합니다. 원하는 텍스트 편집기를 사용합니다.

제공업체 파일 만들기

제공업체 파일을 사용하면 Terraform이 환경에 맞는 올바른 API 엔드포인트를 타겟팅할 수 있습니다.

  1. 조직 설정 단계 루트 디렉터리 (0-org-setup)에서 providers.tf이라는 파일을 만듭니다.
  2. 파일에 다음을 추가합니다.

    provider "google" {
      universe_domain = "s3nsapis.fr"
    }
    
    provider "google-beta" {
      universe_domain = "s3nsapis.fr"
    }
    
  3. 새 파일을 저장합니다.

데이터 세트 지정

시작 구성은 starter-gcd 데이터 세트에 지정됩니다. Fabric FAST에서 데이터 세트는 만들려는 클라우드 리소스의 유형과 수를 지정하는 YAML 기반 구성으로, 사용자가 다양한 조직 유형과 다양한 기술 요구사항에 맞는 권장사항 중에서 선택할 수 있습니다.

starter-gcd 데이터 세트를 사용하도록 지정하려면 다음 단계를 완료하세요.

  1. 조직 설정 단계 루트 디렉터리에서 terraform.tfvars라는 새 파일을 만듭니다.
  2. 이 파일에서 starter-gcd 데이터 세트를 사용한다고 다음과 같이 지정합니다.

    factories_config = {
       dataset="datasets/starter-gcd"
    }
    
  3. 새 파일을 저장합니다.

설정 기본값 지정

패브릭 FAST는 각 데이터 세트에 defaults.yaml 파일을 사용하여 유니버스별 값, 관리자 세부정보 등 설정 전반에 사용되는 값을 지정합니다.

  1. dataset 디렉터리 0-org-setup/datasets/starter-gcd에서 기존 defaults.yaml 파일을 엽니다.
  2. 다음과 같이 기본 파일 업데이트

    # ... existing configuration ...
    projects:
      defaults:
        prefix: PREFIX
        locations:
          logging: global
          storage: u-france-east1
      overrides:
        universe:
          domain: s3nsapis.fr
          prefix: s3ns
          forced_jit_service_identities:
            - compute.googleapis.com
          unavailable_service_identities:
            - dns.googleapis.com
            - monitoring.googleapis.com
            - networksecurity.googleapis.com
    context:
      email_addresses:
        gcp-organization-admins: CONTACT_EMAIL
      iam_principals:
        gcp-organization-admins: ADMIN_ID
      locations:
        primary: u-france-east1
    # ... existing configuration ...
    

    다음을 바꿉니다.

    • PREFIX: 자동 유니버스별 접두사 외에 생성된 각 프로젝트의 ID에 추가되는 조직별 접두사입니다. 이렇게 하면 프로젝트 ID가 유니버스에서 고유해집니다.
    • CONTACT_EMAIL: 핵심 프로젝트의 필수 연락처로 설정하려는 이메일 주소입니다.
    • ADMIN_ID: 조직의 관리자 권한이 있어야 하는 그룹 또는 ID의 식별자입니다.
  3. defaults.yaml 할인을 받으세요.

Terraform 적용

  1. 조직 설정 단계의 루트 디렉터리로 돌아가야 합니다.
  2. 다음 명령어를 실행하여 Terraform을 초기화합니다 (디렉터리당 한 번만 실행하면 됨).

    terraform init
    
  3. 다음 명령어를 실행하여 Terraform을 적용합니다.

    terraform apply
    

설정 확인

설정을 확인하려면 먼저 Google Cloud CLI 또는 Cloud de Confiance 콘솔을 사용하여 폴더와 프로젝트 구조가 올바르게 설정되었는지 확인하는 것이 좋습니다.

그런 다음 원하는 워크로드를 사용하거나 빠른 시작 튜토리얼 중 일부를 수행하여 애플리케이션 프로젝트 중 하나에 애플리케이션 워크로드를 배포해 볼 수 있습니다. 다음은 Cloud de Confiance에서 간단한 예시를 빠르게 실행하는 데 도움이 되는 짧은 튜토리얼입니다. 다음 단계에서 자세히 알아보세요.

다음 단계

  • 추천 튜토리얼을 사용하여 조직을 살펴보고 설정을 확인합니다.

  • 다음을 포함하여 초기 설정을 확장하고 맞춤설정합니다.

  • IAM을 사용하여 사용자와 그룹에 권한을 부여합니다.