조직 설정

Trusted Cloud에 처음 온보딩하면 비어 있는 새 조직이 제공됩니다. 이 조직을 사용하려면 프로젝트, 네트워크, 기타 리소스로 구성해야 합니다. Trusted Cloud는 개발자와 사용자가 시작하는 데 필요한 리소스를 빠르게 설정하는 데 도움이 되는 Terraform 모듈을 포함하여 조직을 구성할 수 있는 여러 옵션을 제공합니다.

이 페이지는 Trusted Cloud에서 새 조직을 구성해야 하는 관리자를 위해 작성되었습니다.

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

시작하기 전에

모든 설정 옵션에 다음을 확인합니다.

  • 조직에 구성된 ID 공급업체(IdP)가 있고 관리자 ID로 로그인할 수 있습니다.
  • Trusted Cloud와 함께 사용할 수 있도록 Google Cloud CLI를 설정했습니다. Terraform을 사용하여 설정할 계획이더라도 Google Cloud CLI는 명령줄에서 설정을 확인하는 데 유용하며 추가 관리 태스크에도 유용합니다.

또한 전체 엔터프라이즈 구성을 진행하기 전에 Trusted Cloud by S3NS 설정 안내 흐름을 검토하는 것이 좋습니다. 일부 섹션은Trusted Cloud와 관련이 없지만(예: 조직을 직접 만들 수 없음) 인프라 설정에 대한 유용한 배경 정보, 안내, 권장사항을 제공합니다. 제공된 Terraform 모듈에도 동일한 권장사항이 반영되어 있습니다. 안내 흐름을 진행할 경우에는 Trusted Cloud 콘솔의 엔터프라이즈 구성을 Trusted Cloud에서 사용할 수 없습니다.

구성 옵션

Trusted Cloud에서 엔터프라이즈 조직을 설정할 수 있는 옵션에는 세 가지가 있습니다.

  • (권장) 제공된 Terraform 모듈을 사용하여 조직을 설정합니다. 이는 Google Cloud의 Cloud Foundation 구성을 조정하여 엔터프라이즈 지원 조직 설정 권장사항을 따르는 버전입니다.
  • (고급 사용자만 해당) Google Cloud에서 사용한 기존 Terraform '시작 영역' 모듈이 있는 경우 이를 조정 및 재사용하여 Trusted Cloud에서 조직을 구성할 수 있습니다. 이 옵션을 선택하면 두 유니버스 간의 차이점을 간략하게 살펴보고 사용하려는 모든 서비스를 자세히 검토해야 합니다.
  • 관련 문서의 안내에 따라 Google Cloud CLI 또는 Trusted Cloud 콘솔을 사용하여 프로젝트, 네트워크, 정책, 기타 리소스를 수동으로 만들 수 있습니다. 이 방식을 다음 섹션에 설명된 최소 구성에 또는 추천 구성이나 원하는 버전을 사용하여 전체 엔터프라이즈 설정에 사용할 수 있습니다.

최소 구성

새 조직을 완전히 설정하기 전에 사용해 보려면 프로젝트 하나와 Virtual Private Cloud(VPC) 네트워크를 추가하면 됩니다. 이 기본 배포는 사용 가능한 서비스를 살펴보고 빠른 시작 튜토리얼을 실행하기에 충분합니다.

  1. 조직에서 프로젝트를 만듭니다.
  2. 다음 명령어를 사용하여 프로젝트에서 default라는 VPC 네트워크를 만들고 구성합니다.

    gcloud compute networks create default
    gcloud compute firewall-rules create default-allow-internal --allow=tcp:1-65535,udp:1-65535,icmp --source-ranges 10.128.0.0/9
    gcloud compute firewall-rules create default-allow-ssh --allow=tcp:22
    gcloud compute firewall-rules create default-allow-rdp --allow=tcp:3389
    gcloud compute firewall-rules create default-allow-icmp --allow=icmp
    

기본 네트워크 없음

Google Cloud에 익숙한 경우 네트워크를 만들 필요가 없다고 생각할 수 있습니다. Google Cloud에서는 기본 VPC 네트워크(사전 입력된 IPV4 방화벽 규칙 포함)가 프로젝트마다 자동으로 생성됩니다. 하지만 Trusted Cloud프로젝트에는 기본 네트워크가 없으므로 개발자와 개발자 팀원이 시작하려면 직접 만들어야 합니다.

추천 구성

다음은 제공된 Terraform으로 배포되는 구성으로, Google Cloud의 Cloud Foundation 구성의 조정 버전입니다. Trusted Cloud 콘솔이나 Google Cloud CLI를 사용하여 직접 자체 리소스와 정책을 만들려는 경우 이 섹션을 가이드라인으로 사용할 수도 있습니다.

이 구성은 대부분의 조직에 적합한 것으로 확인된 여러 권장사항을 반영하지만 조직 또는 기술 요구사항을 모두 충족하지 않을 수 있습니다. 이 섹션과 Terraform(사용하는 경우)을 신중하게 검토하고 필요한 경우 구성을 맞춤설정하세요.

다음 섹션에서는 추천 구성의 다양한 리소스를 설명합니다.

조직

조직의 최상위 수준에서 권장 구성에는 폴더 2개가 있습니다. 첫 번째 폴더에는 조직에서 공유하는 Cloud KMS 및 Logging 리소스와 같은 공통 리소스가 포함된 프로젝트가 포함되어 잇습니다. 다른 폴더는 조직의 Cloud DNS 허브, 각 환경(개발, 비프로덕션, 프로덕션)의 기본 및 제한된 네트워크 공유 VPC 호스트 프로젝트와 같은 네트워크 관련 프로젝트를 저장하는 데 사용됩니다.

example-organization
└── fldr-common
    ├── s3ns:prj-c-kms
    ├── s3ns:prj-c-logging
└── fldr-network
    ├── s3ns:prj-net-dns
    ├── s3ns:prj-d-shared-base
    ├── s3ns:prj-d-shared-restricted
    ├── s3ns:prj-n-shared-base
    ├── s3ns:prj-n-shared-restricted
    ├── s3ns:prj-p-shared-base
    └── s3ns:prj-p-shared-restricted

환경

추천 구성에는 프로덕션, 비프로덕션, 스테이징 등 각 환경에 대한 폴더가 있습니다. 각 폴더에는 Cloud KMS에서 이 환경과 특별히 관련된 키 관리 리소스에 사용할 수 있는 프로젝트가 포함되어 있습니다.

example-organization
└── fldr-development
    ├── s3ns:prj-d-kms
└── fldr-nonproduction
    ├── s3ns:prj-n-kms
└── fldr-production
    ├── s3ns:prj-p-kms

네트워크 토폴로지

구성에는 적절한 보안 기준이 적용된 표준 구성의 환경(개발, 비프로덕션, 프로덕션)별 공유 VPC 네트워크가 있습니다. 이 구성에는 다음이 포함됩니다.

  • (선택사항) 보조 범위를 포함한 개발, 비프로덕션, 프로덕션의 서브넷 예시
  • VM에 대한 원격 액세스를 허용하기 위해 만든 계층적 방화벽 정책
  • 부하 분산 상태 점검을 허용하기 위해 만든 계층적 방화벽 정책
  • Windows KMS 활성화를 허용하기 위해 만든 계층적 방화벽 정책
  • VM/암호화된 디스크
  • DNS 로깅 및 인바운드 쿼리 전달이 사용 설정된 기본 Cloud DNS 정책 적용

프로젝트

각 환경에는 이전 섹션에서 설명한 공유 VPC 네트워크에 연결된 여러 서비스 프로젝트가 있을 수 있습니다. 수정하지 않고 배포하면 Google에서 제공한 Terraform이 다음과 같은 프로젝트 집합을 만듭니다. 프로젝트는 각 환경의 폴더로 그룹화되며 각 폴더는 특정 비즈니스 단위와 연결됩니다. 비즈니스 단위별로 Cloud Build 트리거, 애플리케이션 인프라 코드의 인증서 서명 요청(CSR), 상태 스토리지의 Cloud Storage 버킷으로 공유 infra-pipeline 프로젝트가 생성됩니다.

example-organization/
└── fldr-development
    └── fldr-development-bu1
        ├── s3ns:prj-d-bu1-sample-floating
        ├── s3ns:prj-d-bu1-sample-base
        ├── s3ns:prj-d-bu1-sample-restrict
        ├── s3ns:prj-d-bu1-sample-peering
    └── fldr-development-bu2
        ├── s3ns:prj-d-bu2-sample-floating
        ├── s3ns:prj-d-bu2-sample-base
        ├── s3ns:prj-d-bu2-sample-restrict
        └── s3ns:prj-d-bu2-sample-peering
└── fldr-nonproduction
    └── fldr-nonproduction-bu1
        ├── s3ns:prj-n-bu1-sample-floating
        ├── s3ns:prj-n-bu1-sample-base
        ├── s3ns:prj-n-bu1-sample-restrict
        ├── s3ns:prj-n-bu1-sample-peering
    └── fldr-nonproduction-bu2
        ├── s3ns:prj-n-bu2-sample-floating
        ├── s3ns:prj-n-bu2-sample-base
        ├── s3ns:prj-n-bu2-sample-restrict
        └── s3ns:prj-n-bu2-sample-peering
└── fldr-production
    └── fldr-production-bu1
        ├── s3ns:prj-p-bu1-sample-floating
        ├── s3ns:prj-p-bu1-sample-base
        ├── s3ns:prj-p-bu1-sample-restrict
        ├── s3ns:prj-p-bu1-sample-peering
    └── fldr-production-bu2
        ├── s3ns:prj-p-bu2-sample-floating
        ├── s3ns:prj-p-bu2-sample-base
        ├── s3ns:prj-p-bu2-sample-restrict
        └── s3ns:prj-p-bu2-sample-peering
└── fldr-common
    ├── s3ns:prj-c-bu1-infra-pipeline
    └── s3ns:prj-c-bu2-infra-pipeline

로깅 및 모니터링

추천 구성의 마지막 단계에서는 조직의 공통 로깅 프로젝트에서 로그 버킷과 Pub/Sub 로그 싱크를 구성합니다. 필요한 API가 필요에 따라 사용 설정됩니다. 비가로채기 집계 싱크는 조직 수준에서 구성되어 로그 항목을 로그 버킷이 포함된 공통 프로젝트로 라우팅합니다. 중앙 집중식 로그 스토리지에서 작동 방식을 자세히 알아볼 수 있습니다.

개발자와 개발자 조직 구성원은 Trusted Cloud 콘솔의 로그 탐색기에서 또는 pull 모드에서 구독을 Pub/Sub 주제에 연결하여 로그를 볼 수 있습니다. Trusted Cloud 의 Cloud Logging은 로그를 30일 동안만 보관합니다.

Terraform을 사용하여 조직 구성

특히 Google Cloud에서 조직을 설정해 본 적이 없는 경우 Terraform을 사용하여 조직을 구성하는 것이 좋습니다. 제공된 Terraform은 추천 구성의 설명대로 기본 폴더, 프로젝트, 중앙 집중식 로깅 및 모니터링, 네트워킹 등을 자동으로 설정합니다. 이 구성을 배포 전 또는 후에 니즈에 맞게 조정할 수 있습니다.

Terraform은 Google Cloud의 Cloud Foundation 구성에서 조정됩니다. 저장소에서 Cloud Foundation 모듈을 자세히 알아볼 수 있지만 일부 정보는 이Trusted Cloud별 설정과 관련이 없습니다.

시작하기 전에 Terraform 도구가 설치되어 있는지 확인합니다. Trusted Cloud에서는 Cloud Shell이 지원되지 않으므로 안내에 따라 Terraform을 로컬에 설치합니다.

Terraform 파일 다운로드

최신 Terraform 애셋을 다운로드하려면 지원팀이나 계정팀에 문의하세요. GitHub에서 공개 Terraform 다운로드가 곧 제공됩니다.

구성을 배포하기 전에 추천 구성의 설명대로 조직에 배포된 항목을 검토하고 필요한 경우 수정합니다. 제공된 Terraform에는 구성 외에도 다음을 배포하는 부트스트랩 모듈도 포함되어 있습니다.

  • 다음을 포함하는 s3ns:prj-b-seed 프로젝트:
    • Terraform 상태 버킷
    • Terraform에서 Trusted Cloud에 새 리소스를 만드는 데 사용하는 커스텀 서비스 계정

Terraform 적용

Terraform을 적용하려면 다음을 수행합니다.

  1. Terraform 구성 파일이 있는 디렉터리로 이동합니다.
  2. 제공된 terraform.tfvars 파일을 열고 수정하여 다음 파라미터에 선택한 값을 지정합니다.

    org_id = ORG_ID
    billing_account = BILLING_ACCOUNT
    billing_project = moonrise-replace5ee46da7eba742199d747bf5477bed08moonrise-replace:BILLING_PROJECT
    prefix = FOLDER_PREFIX
    

    다음을 바꿉니다.

    • ORG_ID: 조직의 고유 ID
    • BILLING_ACCOUNT: 결제 계정
    • BILLING_PROJECT: 조직의 결제 프로젝트(할당량 프로젝트라고도 함)
    • FOLDER_PREFIX(선택사항): 모든 고유한 폴더 및 프로젝트 이름에 적용할 프리픽스
  3. 구성 배포

    terraform init
    terraform apply
    

기존 리소스로 Terraform 배포 문제 해결

다운로드한 Terraform 구성에서 이미 존재하고 있는 리소스를 만들려고 시도하면 Terraform이 409 오류 코드로 종료됩니다. 이러한 오류를 해결하려면 Trusted Cloud 콘솔이나 gcloud CLI를 사용하여 리소스를 삭제한 후 Terraform 구성을 다시 적용하면 됩니다. 또는 이러한 리소스가 중요하여 삭제할 수 없으면 Terraform 상태로 리소스를 가져오면 됩니다.

설정 확인

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

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

다음 단계