Azure CLI를 사용하여 Apache Cassandra 리소스용 Azure Managed Instance 관리
이 문서에서는 Azure CLI를 사용하여 Apache Cassandra 클러스터 및 데이터 센터에 대한 Azure Managed Instance의 관리를 자동화하는 일반적인 명령을 설명합니다.
필수 조건
Azure Cloud Shell에서 Bash 환경을 사용합니다. 자세한 내용은 Azure Cloud Shell의 Bash에 대한 빠른 시작을 참조하세요.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.
이 문서에는 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 클러스터 상태 명령을 사용하여 클러스터 노드의 상태를 가져옵니다.
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를 관리하는 방법을 보여 줍니다.
- 데이터 센터 만들기
- 데이터 센터 삭제
- 데이터 센터 세부 정보 가져오기
- 클러스터의 데이터 센터 가져오기
- 데이터 센터 업데이트 또는 크기 조정
- Cassandra 구성 가져오기
- Cassandra 구성 업데이트
데이터 센터 만들기
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
클러스터에 둘 이상의 데이터 센터가 있는 경우 먼저 키스페이스 복제 전략 설정에서 삭제하려는 데이터 센터에 대한 참조를 제거해야 합니다. 클러스터 내의 모든 키 영역에 데이터 센터에 대한 참조가 여전히 있는 경우 이 명령이 실패합니다.
데이터 센터 세부 정보를 가져옵니다.
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