다음을 통해 공유


빠른 시작: Bicep 템플릿을 사용하여 Azure Cosmos DB for MongoDB vCore 클러스터 만들기

적용 대상: MongoDB vCore

이 빠른 시작에서는 새 Azure Cosmos DB for MongoDB vCore 클러스터를 만듭니다. 이 클러스터에는 데이터베이스, 컬렉션 및 문서와 같은 모든 MongoDB 리소스가 포함됩니다. 이 클러스터는 다양한 도구 및 SDK를 Azure Cosmos DB에 연결하여 일상적인 작업을 수행할 수 있는 고유한 엔드포인트를 제공합니다.

필수 조건

Bicep 파일 검토

이 빠른 시작에서 사용되는 Bicep 파일은 Azure 빠른 시작 템플릿에서 나온 것입니다.

@description('Azure Cosmos DB MongoDB vCore cluster name')
@maxLength(44)
param clusterName string = 'msdocs-${uniqueString(resourceGroup().id)}'

@description('Location for the cluster.')
param location string = resourceGroup().location

@description('Username for admin user')
param adminUsername string

@secure()
@description('Password for admin user')
@minLength(8)
@maxLength(128)
param adminPassword string

resource cluster 'Microsoft.DocumentDB/mongoClusters@2022-10-15-preview' = {
  name: clusterName
  location: location
  properties: {
    administratorLogin: adminUsername
    administratorLoginPassword: adminPassword
    nodeGroupSpecs: [
        {
            kind: 'Shard'
            shardCount: 1
            sku: 'M40'
            diskSizeGB: 128
            enableHa: false
        }
    ]
  }
}

resource firewallRules 'Microsoft.DocumentDB/mongoClusters/firewallRules@2022-10-15-preview' = {
  parent: cluster
  name: 'AllowAllAzureServices'
  properties: {
    startIpAddress: '0.0.0.0'
    endIpAddress: '0.0.0.0'
  }
}

참고 항목

위의 코드에서는 shardGroupSpecs를 nodeGroupSpecs이라고 합니다.

Bicep 파일에는 두 개의 Azure 리소스가 정의되어 있습니다.

Bicep 파일 배포

Bicep 템플릿을 사용하여 Azure Cosmos DB for MongoDB vCore 클러스터를 만듭니다.

  1. resourceGroupNamelocation에 대한 셸 변수를 만듭니다

    # Variable for resource group name and location
    resourceGroupName="msdocs-cosmos-quickstart-rg"
    location="eastus"
    
  2. 아직 로그인하지 않은 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다.

  3. az group create 명령을 사용하여 새 리소스 그룹을 구독에 만듭니다.

    az group create \
        --name $resourceGroupName \
        --location $location
    
  4. az deployment group create를 사용하여 Bicep 템플릿을 배포합니다. 그런 다음 adminUsernameadminPassword 매개 변수에 대한 값을 입력하라는 메시지가 표시됩니다.

    az deployment group create \
        --resource-group $resourceGroupName \
        --template-file 'main.bicep'
    

    또는 --parameters 옵션을 사용하여 미리 정의된 값이 있는 매개 변수 파일을 전달합니다.

    az deployment group create \
        --resource-group $resourceGroupName \
        --template-file 'main.bicep' \
        --parameters @main.parameters.json
    

    이 예제 JSON 파일은 각각 adminUsernameadminPassword 매개 변수에 대한 clusteradminP@ssw.rd 값을 삽입합니다.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "adminUsername": {
          "value": "clusteradmin"
        },
        "adminPassword": {
          "value": "P@ssw.rd"
        }
      }
    }
    
  5. 배포 작업이 완료될 때까지 기다렸다가 넘어갑니다.

배포된 리소스 검토

Bicep 템플릿에서 대상 리소스 그룹에 배포한 리소스를 나열합니다.

  1. az resource list를 사용하여 리소스 그룹의 리소스 목록을 가져옵니다.

    az resource list \
        --resource-group $resourceGroupName \
        --location $location \
        --output tsv
    
  2. 예제 출력에서 형식이 Microsoft.DocumentDB/mongoClusters인 리소스를 찾습니다. 예상되는 출력 형식의 예는 다음과 같습니다.

    Name                  ResourceGroup                Location    Type                                Status
    --------------------  ---------------------------  ----------  ----------------------------------  --------
    msdocs-sz2dac3xtwzzu  msdocs-cosmos-quickstart-rg  eastus      Microsoft.DocumentDB/mongoClusters
    

리소스 정리

Azure Cosmos DB for MongoDB vCore 클러스터를 모두 사용했으면 추가로 비용을 지불하지 않도록 만든 Azure 리소스를 삭제할 수 있습니다.

  1. az group delete를 사용하여 구독에서 리소스 그룹을 제거합니다.

    az group delete \
        --name $resourceGroupName
    

다음 단계

이 가이드에서는 Azure Cosmos DB for MongoDB vCore 클러스터를 만드는 방법을 알아보았습니다. 이제 데이터를 클러스터로 마이그레이션할 수 있습니다.