Azure CLI를 사용하여 Apache Cassandra 리소스용 Azure Managed Instance 관리

이 문서에서는 Azure CLI를 사용하여 Apache Cassandra 클러스터 및 데이터 센터에 대한 Azure Managed Instance의 관리를 자동화하는 일반적인 명령을 설명합니다.

필수 조건

이 문서에는 Azure CLI 버전 2.30.0 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.

Important

Apache Cassandra 리소스에 대한 Azure Managed Instance 관리의 이름을 바꿀 수 없습니다. 이러한 리소스의 이름을 바꾸면 Azure Resource Manager에서 리소스 URI를 사용하는 방식이 위반됩니다.

클러스터 관리

다음 섹션에서는 Apache Cassandra 클러스터용 Azure Managed Instance를 관리하는 방법을 보여 줍니다.

클러스터 생성

az managed-cassandra cluster create 명령을 사용하여 Apache Cassandra 클러스터용 Azure Managed Instance를 만듭니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
location='West US'
delegatedManagementSubnetId='/subscriptions/<subscription id>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management'
initialCassandraAdminPassword='myPassword'

# You can override the cluster name if the original name is not legal for an Azure resource:
# overrideClusterName='ClusterNameIllegalForAzureResource'
# The default Cassandra version is v3.11

az managed-cassandra cluster create \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName \
    --location $location \
    --delegated-management-subnet-id $delegatedManagementSubnetId \
    --initial-cassandra-admin-password $initialCassandraAdminPassword \

클러스터 삭제

Az managed-cassandra cluster delete 명령을 사용하여 클러스터를 삭제합니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster delete \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

클러스터 세부 정보 가져오기

az managed-cassandra cluster show 명령을 사용하여 클러스터 세부 정보를 가져옵니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster show \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

클러스터 노드 상태 가져오기

az managed-cassandra cluster node-상태 명령을 사용하여 클러스터 노드의 상태 가져옵니다.

clusterName='cassandra-hybrid-cluster'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster status \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

리소스 그룹별로 클러스터 나열

az managed-cassandra cluster list 명령을 사용하여 리소스 그룹별로 클러스터를 나열합니다.

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster list\
    --resource-group $resourceGroupName

구독 ID별 클러스터 나열

az managed-cassandra cluster list 명령을 사용하여 구독 ID별로 클러스터를 나열합니다

# Set your subscription ID
az account set -s <subscriptionID>

az managed-cassandra cluster list

데이터 센터 관리

다음 섹션에서는 Apache Cassandra 데이터 센터에 대한 Azure Managed Instance를 관리하는 방법을 보여 줍니다.

데이터 센터 만들기

az managed-cassandra datacenter create 명령을 사용하여 데이터 센터를 만듭니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus2'
delegatedSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet'
virtualMachineSKU='Standard_D8s_v4'
noOfDisksPerNode=4

az managed-cassandra datacenter create \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --data-center-location $dataCenterLocation \
    --delegated-subnet-id $delegatedSubnetId \
    --node-count 3 
    --sku $virtualMachineSKU \
    --disk-capacity $noOfDisksPerNode \
    --availability-zone false

사용 가능한 다음 VM(가상 머신) 옵션 중에서 값을 --sku 선택합니다.

  • Standard_E8s_v4
  • Standard_E16s_v4
  • Standard_E20s_v4
  • Standard_E32s_v4
  • Standard_DS13_v2
  • Standard_DS14_v2
  • Standard_D8s_v4
  • Standard_D16s_v4
  • Standard_D32s_v4
  • Standard_L8s_v3
  • Standard_L16s_v3
  • Standard_L32s_v3
  • Standard_L8as_v3
  • Standard_L16as_v3
  • Standard_L32as_v3

현재 Apache Cassandra용 Azure Managed Instance는 VM 제품군 간 전환을 지원하지 않습니다. 예를 들어 현재 Standard_DS13_v2 VM이 있고 Standard_DS14_v2 같은 더 큰 VM으로 업그레이드하려는 경우 이 옵션을 사용할 수 없습니다. 그러나 지원 티켓을 열어 업그레이드를 요청할 수 있습니다.

앞의 명령 --availability-zone 에서 .로 설정됩니다 false. 가용성 영역을 사용하도록 설정하려면 이 값을 true.로 설정합니다. 가용성 영역은 서비스 가용성에 대한 SLA(서비스 수준 계약)를 증가합니다. 자세한 내용은 전체 SLA 세부 정보를 검토하세요.

Warning

Apache Cassandra용 Azure Managed Instance는 모든 지역의 가용성 영역을 지원하지 않습니다. 가용성 영역이 지원되지 않는 지역을 선택하면 배포가 실패합니다. 지원되는 지역 목록을 참조하세요.

가용성 영역의 성공적인 배포에는 지역의 모든 영역에서 컴퓨팅 리소스의 가용성이 적용됩니다. 선택한 VM 또는 용량을 일부 영역에서 사용할 수 없는 경우 배포가 실패할 수 있습니다.

데이터 센터 삭제

Az managed-cassandra datacenter delete 명령을 사용하여 데이터 센터를 삭제합니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter delete \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Warning

클러스터에 둘 이상의 데이터 센터가 있는 경우 먼저 키스페이스 복제본(replica)tion 전략 설정에서 삭제하려는 데이터 센터에 대한 참조를 제거해야 합니다. 클러스터 내의 모든 키 영역에 데이터 센터에 대한 참조가 여전히 있는 경우 이 명령이 실패합니다.

데이터 센터 세부 정보를 가져옵니다.

Az managed-cassandra datacenter show 명령을 사용하여 데이터 센터 세부 정보를 가져옵니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter show \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

데이터 센터 업데이트 또는 크기 조정

az managed-cassandra 데이터 센터 업데이트 명령을 사용하여 데이터 센터를 업데이트 하거나 크기 조정합니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --node-count 13 

데이터 센터의 크기를 조정하려면 값을 변경합니다 --node-count .

Cassandra 구성 가져오기

az managed-cassandra cluster invoke-command 명령을 사용하여 노드의 현재 YAML 구성을 가져옵니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
commandName='get-cassandra-yaml'
 
az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml'

다음 명령을 사용하여 출력을 더 읽기 쉽게 만들 수 있습니다.

$output = az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml' \
    | ConvertFrom-Json
$output.commandOutput

Cassandra 구성 업데이트

az managed-cassandra 데이터 센터 업데이트 명령을 사용하여 데이터 센터에서 Cassandra 구성을 변경합니다. 온라인 도구를 사용하여 YAML 조각을 Base64로 인코딩해야 합니다.

예를 들어 다음 YAML 조각을 고려합니다.

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

인코딩되면 YAML이 다음 Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==으로 변환됩니다.

az managed-cassandra datacenter update 인코딩된 YAML 조각이 있는 명령은 다음과 같습니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus'
yamlFragment='Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA=='

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --base64-encoded-cassandra-yaml-fragment $yamlFragment

Important

제공하는 Cassandra YAML 설정이 Cassandra 버전에 적합한지 확인합니다. Cassandra v3.11 설정Cassandra v4.0 설정을 참조하세요. 다음 YAML 설정을 업데이트할 수 없습니다.

  • cluster_name
  • seed_provider
  • initial_token
  • autobootstrap
  • client_encryption_options
  • server_encryption_options
  • transparent_data_encryption_options
  • audit_logging_options
  • authenticator
  • authorizer
  • role_manager
  • storage_port
  • ssl_storage_port
  • native_transport_port
  • native_transport_port_ssl
  • listen_address
  • listen_interface
  • broadcast_address
  • hints_directory
  • data_file_directories
  • commitlog_directory
  • cdc_raw_directory
  • saved_caches_directory
  • endpoint_snitch
  • partitioner
  • rpc_address
  • rpc_interface

클러스터의 데이터 센터 가져오기

Az managed-cassandra datacenter list 명령을 사용하여 클러스터의 데이터 센터를 가져옵니다.

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra datacenter list \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName

다음 단계