Docs Menu

Atlas 조직, 프로젝트 및 클러스터에 대한 지침

조직, 프로젝트 및 클러스터는 Atlas 엔터프라이즈 환경의 기본 구성 요소입니다.

  • 조직 수준에서 보안 제어를 구현 하고 하나 이상의 프로젝트에서 작업하는 사용자를 만들 수 있습니다.

  • 프로젝트는 더 세분화된 보안 격리 및 권한 부여 경계를 제공합니다.

  • 클러스터는 Atlas 의 cloud 데이터베이스입니다.

이 페이지의 기본 지침을 활용하여 회사의 계층 구조와 예상되는 클러스터 및 프로젝트 수에 따라 조직, 프로젝트 및 클러스터의 레이아웃을 설계합니다. 해당 지침은 보안 및 성능을 처음부터 최적화하면서 기업의 청구 및 접근 요구에 맞추는 데 도움이 됩니다.

다음 계층 수준을 사용하여 Atlas 엔터프라이즈 자산에 대한 보안 설정 및 거버넌스 정의할 수 있습니다.

Atlas 계층 구조 수준
설명

(선택 사항) 결제 조직

한 조직 다른 조직 의 유료 조직 될 수 있습니다. 지불 조직 조직 간 청구를 설정하다 하여 여러 조직에서 청구 구독 주식 할 수 있습니다. Atlas 구독 설정할 때 지불 조직 설정하는 방법에 대해 자세히 학습 청구 관리를 참조하세요. 조직 간 청구를 활성화 하려면 조치 수행하는 사용자에게 연결하려는 두 조직의 조직 소유자 또는 청구 관리자 역할 있어야 합니다. 자세한 학습 은 사용자 역할을 참조하세요.

지불 조직 독립적으로 운영되는 BU또는 부서가 많은 대규모 엔터프라이즈 에 일반적으로 사용되지만 계약이나 청구서는 중앙 기관에서 소유합니다.

조직

조직은 그 아래에 여러 프로젝트를 포함할 수 있으며 통합 및 보안 설정을 공유하는 컨테이너를 제공합니다. 여러 Atlas 조직을 관리하는 경우 Atlas Federation Management Console(페더레이션 관리 콘솔)을 사용하여 조직 소유자 역할을 가진 사용자가 SSO를 위한 IdP를 관리한 다음 여러 조직에 연결할 수 있습니다. 조직은 종종 회사 내의 사업부(BU) 또는 부서에 매핑됩니다. 내장된 Atlas Cost Explorer는 조직 수준에서 클라우드 지출을 집계하고 그 아래의 프로젝트 수준 및 클러스터 수준에서 세부 항목을 분류합니다. 청구 API를 활용하여 추가로 맞춤화할 수 있습니다.

프로젝트

데이터 플레인(데이터베이스 클러스터, 네트워크 보안 및 기타 데이터 서비스 포함)의 보안 구성은 프로젝트 수준에서 이루어집니다. 프로젝트는 종종 애플리케이션과 환경에 매핑됩니다. (예: 고객 포털 앱 - 프로덕션 환경) 각 프로젝트에 대해 선택한 클라우드 공급자에 따라 AWS 및 Azure에서 리전당 하나의 전용 VPC 또는 VNet을 갖습니다.

클러스터

Atlas는 프로젝트의 전용 VPC/VNet 내에 각 클러스터를 프로비저닝합니다. 보안 구성은 프로젝트 내 클러스터 간에 공유되지만 데이터베이스 사용자 역할 및 권한 부여는 클러스터, 데이터베이스 및 컬렉션 수준에서의 작업에 적용할 수 있습니다.

조직, 프로젝트 및 클러스터 계층 구조를 보여주는 이미지
클릭하여 확대

샌드박스 및 테스트 프로젝트와 클러스터를 애플리케이션 프로젝트 및 클러스터와 분리하기 위해 다음 네 가지 환경을 사용하는 것이 좋습니다.

환경
설명

개발(Dev)

개발자가 안전한 샌드박스 환경에서 새로운 것을 자유롭게 시도할 수 있도록 허용합니다.

테스트(Test)

개발 환경에서 생성된 특정 구성 요소 또는 기능을 테스트합니다.

스테이징

프로덕션에 배포하기 전에 모든 구성 요소와 기능을 함께 준비하여 전체 애플리케이션 예상대로 작동하는지 확인합니다. 스테이징은 테스트 환경과 유사하지만 새 구성 요소가 기존 구성 요소와 잘 작동하는지 확인합니다.

프로덕션(Prod)

최종 사용자에게 실시간으로 제공되는 애플리케이션의 백엔드

개발 및 테스트 목적으로 개발자는 Atlas CLI 사용하여 로컬 Atlas 배포서버 만들 수 있습니다. 개발자는 컴퓨터에서 로컬로 작업함으로써 외부 개발 및 테스트 환경에 드는 비용을 절감할 수 있습니다.

또한 개발자는 Docker 와 함께 Atlas CLI 명령을 실행 하여 컨테이너를 사용하여 로컬 Atlas 배포서버를 빌드, 실행 및 관리 할 수 있습니다. 컨테이너는 애플리케이션 실행 데 필요한 모든 소프트웨어를 포함하는 표준화된 단위입니다. 컨테이너화를 통해 개발자는 안전하고 안정적이며 이식 가능한 테스트 환경에서 로컬 Atlas 배포서버를 빌드 할 수 있습니다. 자세한 학습 은 Docker 사용하여 로컬 Atlas 배포서버 만들기를 참조하세요.

일반적으로 중앙에서 관리되는 결제 조직과 결제 조직에 연결된 각 사업부(BU) 또는 부서별로 하나의 조직을 두는 것을 권장합니다. 그런 다음 하위(개발 또는 테스트) 및 상위 환경에 각각 하나의 클러스터가 있는 프로젝트를 생성합니다. 이러한 프로젝트에 클러스터를 생성할 수 있습니다. 자세한 내용은 권장 계층 구조에 대한 다음 정보를 참조하세요.

조직 당 250 프로젝트 제한에 쉽게 도달하는 경우, 하위 및 상위 환경에 각각 하나씩, 또는 개발, 테스트, 스테이징 및 프로덕션에 각각 하나씩 등 환경당 하나의 조직 만드는 것이 좋습니다. 이 설정 에는 추가 격리 의 이점이 있습니다. 한도를 늘릴 수도 있습니다. 자세한 학습 은 Atlas 서비스 제한을 참조하세요.

BU 전체에 공통의 팀과 권한이 있고 조직 당 올릴 수 있는 250 프로젝트 수 제한인 개 미만인 경우, 생성되는 Atlas 조직의 수가 더 적은 다음 계층 구조를 고려하세요.

유료 조직 과 그 아래에 중첩된 다른 조직을 보여주는 이미지입니다.
클릭하여 확대

조직이 계약 및 청구 소유자 역할을 하는 중앙 집중식 기능 없이 고도로 분산된 경우 다음 계층 구조를 고려합니다. 이 계층 구조에서는 각 사업부(BU), 부서 또는 팀이 자체 Atlas 조직을 가집니다. 이러한 계층 구조는 각 팀이 상당히 독립적이며 회사 내에서 인력이나 권한을 공유하지 않거나, 클라우드 공급자 마켓플레이스 또는 자체 계약을 통해 직접 크레딧을 구매하려는 경우에 유용합니다. 해당 계층 구조에는 결제 조직이 없습니다.

상위에 결제 조직이 없는 여러 조직을 보여주는 이미지
클릭하여 확대

환경 간에 격리 유지하려면 다음 다이어그램과 같이 각 클러스터 자체 프로젝트 내에 배포 것이 좋습니다. 이를 통해 관리자는 환경 간에 서로 다른 프로젝트 구성을 유지 관리하고 사용자에게 역할 에 필요한 최소 수준의 액세스 만 부여해야 한다는 최소 권한 원칙을 유지할 수 있습니다.

그러나 이 계층 구조는 클러스터 전체에서 비공개 엔드포인트 및 CMK와 같은 프로젝트 수준 구성을 주식 것을 더 복잡하게 만들 수 있습니다. 자세히 학습 프로젝트당 여러 클러스터를 고려해야 하는 경우를 참조하세요.

각 조직 의 프로젝트 당 하나의 배포서버 보여주는 이미지입니다.
클릭하여 확대

다음 다이어그램은 각 프로젝트에 여러 Atlas 클러스터가 포함된 조직 환경별로 그룹화한 조직을 보여줍니다. 하나의 애플리케이션 여러 백업 클러스터를 사용하거나 동일한 팀 여러 환경의 여러 애플리케이션을 담당하는 경우 동일한 프로젝트 내에 여러 클러스터를 배포하면 관리가 간소화됩니다. 이렇게 하면 동일한 프로젝트 의 모든 클러스터가 동일한 프로젝트 구성을 주식 비공개 엔드포인트 및 고객 관리형 키와 같은 기능에 대한 설정 비용 절감됩니다.

그러나 이 클러스터 계층 구조는 최소 권한 원칙을 위반할 수 있습니다.

다음 두 가지 모두에 해당하는 경우에만 동일한 프로젝트 내에 여러 클러스터를 배포하세요.

  • 프로젝트 에 대한 액세스 있는 각 팀 은 프로젝트 의 다른 모든 애플리케이션 및 클러스터에서 작업하고 있습니다.

  • 개발 및 테스트 환경을 위한 클러스터를 생성 중입니다. 스테이징 및 프로덕션 환경에서는 동일한 프로젝트 의 클러스터가 동일한 애플리케이션 에 속하고 동일한 팀 에서 관리하는 것이 좋습니다.

환경별로 그룹화된 배포를 보여주는 이미지
클릭하여 확대

보고 및 통합을 위한 손쉬운 구문 분석을 가능하게 하기 위해 클러스터 또는 프로젝트에 다음의 세부 정보를 태그로 지정하는 것이 좋습니다.

  • BU 또는 부서

  • teamName

  • 애플리케이션 이름

  • 환경

  • 버전

  • 이메일 문의

  • 중요도(클러스터에 저장된 데이터의 계층을 나타내며 PII 또는 PHI와 같은 민감한 분류 포함)

태그를 사용한 청구 데이터 파싱에 대해 자세히 알아보려면 Atlas 청구 데이터 기능을 참조하세요.

전용 배포서버 (클러스터 크기 M10+)에서 Atlas 리소스를 독점적으로 할당합니다. 프로덕션 사용 사례에는 공유 클러스터보다 더 높은 보안과 성능을 제공하는 전용 배포를 권장합니다.

다음 클러스터 크기 가이드 소프트웨어 개발 및 인프라에서 사용되는 일반적인 비유인 '티셔츠 크기 조정'을 사용하여 용량 계획을 간소화된 방식으로 설명합니다. 티셔츠 사이즈 권장 사항은 사이즈 분석 시 대략적인 시작점으로만 사용하세요. 클러스터 크기를 조정하는 것은 변화하는 리소스 요구 사항, 성능 요구 사항, 워크로드 특성 및 성장 기대치를 기반으로 하는 반복적인 프로세스 입니다.

중요

이 지침 미션 크리티컬 애플리케이션, 고용량 메모리 워크로드 및 고용량 CPU 워크로드는 제외됩니다. 이러한 사용 사례의 경우 MongoDB 지원팀 문의 사용자 지정 지침 확인하세요.

조직의 대략적인 데이터 크기와 워크로드 를 사용하여 배포서버 에 필요한 클러스터 리소스를 추정할 수 있습니다.

  • 총 필요 저장소: 전체 원시 데이터 크기의 50%

  • 총 필요 RAM: 전체 원시 데이터 크기의 10%

  • 필요한 총 CPU 코어 수: 예상 최대 초당 데이터베이스 읽기/ 쓰기 (write) 작업 수 ~ 4000

  • 필요한 총 스토리지 IOPS: 초당 예상 최대 데이터베이스 읽기/ 쓰기 (write) 작업(최소 IOPS = 5%, 최대 IOPS = 95%)

다음 클러스터 크기 가이드 사용하여 과도한 프로비저닝 없이 성능을 보장하는 클러스터 계층 선택하세요. 이 표에는 각 클러스터 계층 에 대한 기본값 저장 및 성능 기능과 클러스터 계층 스테이징 및 프로덕션 환경에 적합한지 여부가 표시됩니다.

T-셔츠 사이즈
클러스터 계층
저장 범위: Amazon Web Services/ Google Cloud Platform
저장 범위: Azure
CPUs (#)
기본값 RAM
기본 IOPS
적합 대상

소형

M10 [1]

10 GB~128 GB

8GB에서 128GB

2

2GB

1000

개발/테스트 전용

Med

M30

10GB~512GB

8 GB에서 512 GB까지

2

8GB

3000

Prod

대형

M50

10GB ~ 4TB

8 GB ~ 4 TB

16

32 GB

3000

Prod

X-Large

M80

10GB ~ 4TB

8 GB ~ 4 TB

32

128GB

3000

Prod

[1] M10 은(는) 공유 CPU 계층 입니다. 엄격하게 규제되는 산업 또는 민감한 데이터의 경우 최소 및 최소 시작 계층 M30이어야 합니다.

클러스터 계층과 이를 지원하는 리전에 대해 자세히 알아보려면 각 클라우드 공급자에 대한 Atlas 문서를 참조하세요.

모든 핵심 영역에 걸쳐 스테이징/프로덕션 권장 사항을 적용하는 Terraform 예시는 GitHub에서 확인할 수 있습니다.

다음 예제에서는 자동화 위한 Atlas 도구를 사용하여 조직, 프로젝트, 클러스터를 만듭니다.

이러한 예시는 다음을 포함한 다른 권장 구성에도 적용됩니다.

  • 개발/테스트 환경에 대해 클러스터 계층 M10(으)로 설정하다 . 클러스터 크기 가이드 사용하여 애플리케이션 크기에 권장되는 클러스터 계층 학습 .

  • 단일 리전, 3-노드 복제본 세트/샤드 배포 토폴로지

당사의 예시는 AWS, Azure 및 Google Cloud를 상호 교체하여 사용합니다. 세 곳의 클라우드 공급자 중 어느 곳이든 사용할 수 있지만 클라우드 공급자에 맞게 지역 이름을 변경해야 합니다. 클라우드 공급자와 그 지역에 대해 알아보려면 클라우드 공급자를 참조하세요.

  • 중간 규모 애플리케이션의 경우 클러스터 계층을 M30으로 설정합니다. 애플리케이션 크기에 따른 권장 클러스터 계층을 알아보려면 클러스터 크기 가이드를 참조하세요.

  • 단일 리전, 3-노드 복제본 세트/샤드 배포 토폴로지

당사의 예시는 AWS, Azure 및 Google Cloud를 상호 교체하여 사용합니다. 세 곳의 클라우드 공급자 중 어느 곳이든 사용할 수 있지만 클라우드 공급자에 맞게 지역 이름을 변경해야 합니다. 클라우드 공급자와 그 지역에 대해 알아보려면 클라우드 공급자를 참조하세요.

참고

Atlas CLI로 리소스를 생성하기 전에 다음을 수행해야 합니다.

BU에 대해 다음 명령을 실행합니다. 실제 값을 사용하도록 ID와 이름을 변경합니다.

atlas organizations create ConsumerProducts --ownerId 508bb8f5f11b8e3488a0e99e --apiKeyRole ORG_OWNER --apiKeyDescription consumer-products-key

이 예시에 대한 더 많은 구성 옵션과 정보는 Atlas 조직 생성을 참조하세요.

사용자 ID와 조직 ID를 얻으려면 다음 명령을 참조하세요.

각 애플리케이션 및 환경 쌍에 대해 다음 명령을 실행합니다. 값을 사용하도록 ID와 이름을 변경합니다.

atlas projects create "Customer Portal - Prod" --tag environment=production --orgId 32b6e34b3d91647abb20e7b8

이 예시 에 대한 자세한 구성 옵션 및 정보는 Atlas 프로젝트 만들기를 참조하세요.

프로젝트 ID를 얻으려면 다음 명령어를 참조하세요.

스테이징 및 프로덕션 환경의 경우 클러스터를 프로비저닝할 때 고객 키 관리를 통한 암호화를 활성화하는 것이 좋습니다. 개발 및 테스트의 경우 고도로 규제된 산업에 있거나 민감한 데이터를 저장하는 경우가 아니라면 비용 절감을 위해 고객 키 관리를 통한 암호화를 생략하는 것을 고려하세요. 자세한 내용은 Atlas 조직, 프로젝트 및 클러스터에 대한 권장 사항을 참조하세요.

Atlas CLI 사용하여 고객 키 관리 로 암호화 관리 할 수 없습니다. 대신 다음 방법을 사용하세요.

개발 및 테스트 환경의 경우, 생성한 각 프로젝트 에 대해 다음 명령을 실행 . 값을 사용하도록 ID와 이름을 변경합니다.

atlas clusters create CustomerPortalDev \
--projectId 56fd11f25f23b33ef4c2a331 \
--region EASTERN_US \
--members 3 \
--tier M10 \
--provider GCP \
--mdbVersion 8.0 \
--diskSizeGB 30 \
--tag bu=ConsumerProducts \
--tag teamName=TeamA \
--tag appName=ProductManagementApp \
--tag env=Production \
--tag version=8.0 \
--tag email=marissa@acme.com \
--watch

스테이징 및 프로덕션 환경의 경우 생성한 각 프로젝트에 다음 cluster.json 파일을 생성하세요. ID와 이름을 사용자의 값으로 변경하세요.

{
"clusterType": "REPLICASET",
"links": [],
"name": "CustomerPortalProd",
"mongoDBMajorVersion": "8.0",
"replicationSpecs": [
{
"numShards": 1,
"regionConfigs": [
{
"electableSpecs": {
"instanceSize": "M30",
"nodeCount": 3
},
"priority": 7,
"providerName": "GCP",
"regionName": "EASTERN_US",
"analyticsSpecs": {
"nodeCount": 0,
"instanceSize": "M30"
},
"autoScaling": {
"compute": {
"enabled": false,
"scaleDownEnabled": false
},
"diskGB": {
"enabled": false
}
},
"readOnlySpecs": {
"nodeCount": 0,
"instanceSize": "M30"
}
}
],
"zoneName": "Zone 1"
}
],
"tag" : [{
"bu": "ConsumerProducts",
"teamName": "TeamA",
"appName": "ProductManagementApp",
"env": "Production",
"version": "8.0",
"email": "marissa@acme.com"
}]
}

cluster.json 파일을 생성한 후 생성한 각 프로젝트에 대해 다음 명령을 실행하세요. 이 명령은 cluster.json 파일을 사용하여 클러스터를 생성합니다.

atlas cluster create --projectId 5e2211c17a3e5a48f5497de3 --file cluster.json

이 예시에 대한 추가 구성 옵션과 정보는 Atlas 클러스터 생성을 참조하세요.

참고

Terraform으로 리소스를 생성하기 전에 다음을 수행해야 합니다.

  • 결제 조직을 생성하고 해당 결제 조직에 대한 API 키를 생성합니다. 터미널에서 다음 명령을 실행하여 API 키를 환경 변수로 저장하세요.

    export MONGODB_ATLAS_PUBLIC_KEY="<insert your public key here>"
    export MONGODB_ATLAS_PRIVATE_KEY="<insert your private key here>"
  • Terraform 설치하기

개발 및 테스트 환경의 경우 각 애플리케이션 및 환경 쌍에 대해 다음 파일을 생성합니다. 각 애플리케이션 및 환경 쌍에 대한 파일을 자체 디렉토리 에 배치합니다. 값을 사용하도록 ID와 이름을 변경합니다.

# Create a Project
resource "mongodbatlas_project" "atlas-project" {
org_id = var.atlas_org_id
name = var.atlas_project_name
}
# Create an Atlas Advanced Cluster
resource "mongodbatlas_advanced_cluster" "atlas-cluster" {
project_id = mongodbatlas_project.atlas-project.id
name = "ClusterPortalDev"
cluster_type = "REPLICASET"
mongo_db_major_version = var.mongodb_version
replication_specs {
region_configs {
electable_specs {
instance_size = var.cluster_instance_size_name
node_count = 3
}
priority = 7
provider_name = var.cloud_provider
region_name = var.atlas_region
}
}
tags {
key = "BU"
value = "ConsumerProducts"
}
tags {
key = "TeamName"
value = "TeamA"
}
tags {
key = "AppName"
value = "ProductManagementApp"
}
tags {
key = "Env"
value = "Test"
}
tags {
key = "Version"
value = "8.0"
}
tags {
key = "Email"
value = "marissa@acme.com"
}
}
# Outputs to Display
output "atlas_cluster_connection_string" { value = mongodbatlas_advanced_cluster.atlas-cluster.connection_strings.0.standard_srv }
output "project_name" { value = mongodbatlas_project.atlas-project.name }
# Atlas Organization ID
variable "atlas_org_id" {
type = string
description = "Atlas Organization ID"
}
# Atlas Project Name
variable "atlas_project_name" {
type = string
description = "Atlas Project Name"
}
# Atlas Project Environment
variable "environment" {
type = string
description = "The environment to be built"
}
# Cluster Instance Size Name
variable "cluster_instance_size_name" {
type = string
description = "Cluster instance size name"
}
# Cloud Provider to Host Atlas Cluster
variable "cloud_provider" {
type = string
description = "AWS or GCP or Azure"
}
# Atlas Region
variable "atlas_region" {
type = string
description = "Atlas region where resources will be created"
}
# MongoDB Version
variable "mongodb_version" {
type = string
description = "MongoDB Version"
}
# Atlas Group Name
variable "atlas_group_name" {
type = string
description = "Atlas Group Name"
}
atlas_org_id = "32b6e34b3d91647abb20e7b8"
atlas_project_name = "Customer Portal - Dev"
environment = "dev"
cluster_instance_size_name = "M10"
cloud_provider = "AWS"
atlas_region = "US_WEST_2"
mongodb_version = "8.0"
# Define the MongoDB Atlas Provider
terraform {
required_providers {
mongodbatlas = {
source = "mongodb/mongodbatlas"
}
}
required_version = ">= 0.13"
}

스테이징 및 프로덕션 환경의 경우 각 애플리케이션과 환경 쌍에 대해 다음 파일을 생성하세요. 각 애플리케이션과 환경 쌍의 파일은 별도의 디렉토리에 배치하세요. ID와 이름을 사용자의 값으로 변경하세요.

# Create a Group to Assign to Project
resource "mongodbatlas_team" "project_group" {
org_id = var.atlas_org_id
name = var.atlas_group_name
usernames = [
"user1@example.com",
"user2@example.com"
]
}
# Create a Project
resource "mongodbatlas_project" "atlas-project" {
org_id = var.atlas_org_id
name = var.atlas_project_name
# Assign the Project the Group with Specific Roles
team_id = mongodbatlas_team.project_group.team_id
role_names = ["GROUP_READ_ONLY", "GROUP_CLUSTER_MANAGER"]
}
# Create an Atlas Advanced Cluster
resource "mongodbatlas_advanced_cluster" "atlas-cluster" {
project_id = mongodbatlas_project.atlas-project.id
name = "ClusterPortalProd"
cluster_type = "REPLICASET"
mongo_db_major_version = var.mongodb_version
replication_specs {
region_configs {
electable_specs {
instance_size = var.cluster_instance_size_name
node_count = 3
}
priority = 7
provider_name = var.cloud_provider
region_name = var.atlas_region
}
}
tags {
key = "BU"
value = "ConsumerProducts"
}
tags {
key = "TeamName"
value = "TeamA"
}
tags {
key = "AppName"
value = "ProductManagementApp"
}
tags {
key = "Env"
value = "Production"
}
tags {
key = "Version"
value = "8.0"
}
tags {
key = "Email"
value = "marissa@acme.com"
}
}
# Outputs to Display
output "atlas_cluster_connection_string" { value = mongodbatlas_advanced_cluster.atlas-cluster.connection_strings.0.standard_srv }
output "project_name" { value = mongodbatlas_project.atlas-project.name }
# Atlas Organization ID
variable "atlas_org_id" {
type = string
description = "Atlas Organization ID"
}
# Atlas Project Name
variable "atlas_project_name" {
type = string
description = "Atlas Project Name"
}
# Atlas Project Environment
variable "environment" {
type = string
description = "The environment to be built"
}
# Cluster Instance Size Name
variable "cluster_instance_size_name" {
type = string
description = "Cluster instance size name"
}
# Cloud Provider to Host Atlas Cluster
variable "cloud_provider" {
type = string
description = "AWS or GCP or Azure"
}
# Atlas Region
variable "atlas_region" {
type = string
description = "Atlas region where resources will be created"
}
# MongoDB Version
variable "mongodb_version" {
type = string
description = "MongoDB Version"
}
# Atlas Group Name
variable "atlas_group_name" {
type = string
description = "Atlas Group Name"
}
atlas_org_id = "32b6e34b3d91647abb20e7b8"
atlas_project_name = "Customer Portal - Prod"
environment = "prod"
cluster_instance_size_name = "M30"
cloud_provider = "AWS"
atlas_region = "US_WEST_2"
mongodb_version = "8.0"
atlas_group_name = "Atlas Group"
# Define the MongoDB Atlas Provider
terraform {
required_providers {
mongodbatlas = {
source = "mongodb/mongodbatlas"
}
}
required_version = ">= 0.13"
}

이 예제에 대한 추가 구성 옵션과 정보는 MongoDB & HashiCorp TerraformMongoDB Terraform 블로그 게시물을 참조하세요.

파일을 생성한 후 각 애플리케이션과 환경 쌍의 디렉토리로 이동하여 다음 명령을 실행하여 Terraform을 초기화합니다.

terraform init

Terraform 계획을 보려면 다음 명령을 실행합니다.

terraform plan

애플리케이션 및 환경 쌍에 대해 하나의 프로젝트와 하나의 배포를 생성하려면 다음 명령을 실행합니다. 명령은 파일과 MongoDB & HashiCorp Terraform을 사용하여 프로젝트와 클러스터를 생성합니다.

terraform apply

메시지가 표시되면 yes를 입력하고 Enter 키를 눌러 구성을 적용합니다.

조직, 프로젝트 및 클러스터의 계층 구조와 규모를 계획한 후 다음 추천 리소스를 참조하거나 왼쪽 탐색을 사용하여 Well-Architected 프레임워크의 핵심 요소에 대한 기능 및 모범 사례를 찾아보세요.