AWS CLI 사용 - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS CLI 사용

AWS Command Line Interface(AWS CLI)를 사용하면 명령줄에서 여러 AWS 서비스를 관리하고 스크립트를 통해 자동화할 수 있습니다. Amazon Keyspaces 사용하면AWS CLI테이블 생성과 같은 DDL (Data Definition Language) 작업을 위한 것입니다. 또한 인프라를 코드 (IaC) 서비스 및 다음과 같은 도구로 사용할 수 있습니다.AWS CloudFormation및 테라폼.

를 사용하기 전에AWS CLIAmazon Keyspaces에서는 액세스 키 ID와 보안 액세스 키를 얻어야 합니다. 자세한 정보는 생성 및 구성 방법AWSAmazon Keyspaces을 참조하십시오.

Amazon Keyspaces에 사용할 수 있는 모든 명령의 전체 목록을 보려면AWS CLI참조,AWS CLI명령 참조.

AWS CLI 다운로드 및 구성

이AWS CLI는 에서 이용할 수 있습니다http://aws.amazon.com/cli. Windows, macOS 또는 Linux에서 실행됩니다. 다운로드 후AWS CLI을 설치하고 구성하려면 다음 단계를 따릅니다.

  1. 위치로 이동합니다.AWS Command Line Interface사용 설명서

  2. 의 지침을 따릅니다.다음 설치AWS CLI구성AWS CLI

사용AWS CLIAmazon Keyspaces 사용

명령줄 형식은 Amazon Keyspaces 작업 이름과 뒤에 나오는 해당 작업의 파라미터로 구성됩니다. AWS CLI는 파라미터 값의 간편 구문과 JSON을 지원합니다. 다음 Amazon Keyspaces 예제는 다음을 사용합니다.AWS CLI약식 구문. 자세한 내용은 단원을 참조하십시오.에서 간편 구문 사용AWSCLI.

다음 명령은 이름이 포함된 Keyspace를 생성합니다.목록.

aws keyspaces create-keyspace --keyspace-name 'catalog'

이 명령은 출력에 Amazon 리소스 이름 (ARN) 리소스를 반환합니다.

{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }

키스페이스를 확인하려면목록가 있을 경우 다음 명령을 사용할 수 있습니다.

aws keyspaces get-keyspace --keyspace-name 'catalog'

명령의 출력은 다음 값을 반환합니다.

{ "keyspaceName": "catalog", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }

다음 명령은 이름이 포함된 테이블을 생성합니다.북_어워드. 테이블의 파티션 키는 열로 구성됩니다.yearaward클러스터링 키는 열로 구성됩니다.categoryrank, 두 군집화 열 모두 오름차순 정렬 순서를 사용합니다. (읽기 쉽도록 이 단원에서는 긴 명령이 여러 줄로 나누어져 있습니다.)

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int}, {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}], partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'

이 명령은 다음과 같이 출력됩니다.

{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/table/book_awards" }

테이블의 메타데이터 및 속성을 확인하려면 다음 명령을 사용할 수 있습니다.

aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'

이 명령은 다음 출력을 반환합니다.

{ "keyspaceName": "catalog", "tableName": "book_awards", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/table/book_awards", "creationTimestamp": 1645564368.628, "status": "ACTIVE", "schemaDefinition": { "allColumns": [ { "name": "year", "type": "int" }, { "name": "award", "type": "text" }, { "name": "category", "type": "text" }, { "name": "rank", "type": "int" }, { "name": "author", "type": "text" }, { "name": "book_title", "type": "text" }, { "name": "publisher", "type": "text" } ], "partitionKeys": [ { "name": "year" }, { "name": "award" } ], "clusteringKeys": [ { "name": "category", "orderBy": "ASC" }, { "name": "rank", "orderBy": "ASC" } ], "staticColumns": [] }, "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": 1645564368.628 }, "encryptionSpecification": { "type": "AWS_OWNED_KMS_KEY" }, "pointInTimeRecovery": { "status": "DISABLED" }, "ttl": { "status": "ENABLED" }, "defaultTimeToLive": 0, "comment": { "message": "" } }

복잡한 스키마가 있는 테이블을 만들 때 JSON 파일에서 테이블의 스키마 정의를 로드하는 것이 유용할 수 있습니다. 다음은 이 예제입니다. 스키마 정의 예제 JSON 파일 다운로드schema_definition.zip및 추출schema_definition.json파일의 경로를 적어 둡니다. 이 예제에서는 스키마 정의 JSON 파일이 현재 디렉터리의 위치에 있습니다. 다른 파일 경로 옵션에 대한 자세한 내용은 을 참조하십시오.파일에서 파라미터를 로드하는 방법.

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition 'file://schema_definition.json'

다음 예제에서는 이름이 포함된 단순 테이블을 생성하는 방법을 보여 줍니다.마이테이블추가 옵션이 있습니다. 가독성을 높이기 위해 명령은 별도의 행으로 분류됩니다. 이 명령은 테이블을 생성하는 방법과 다음 조건을 충족해야 합니다.

  • 테이블의 용량 모드 설정

  • 테이블에 대한 특정 시점으로 복구 가능

  • 테이블의 기본 TTime to Live (Time to Live) 값을 1년으로 설정합니다.

  • 테이블에 두 개의 태그 추가

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --capacity-specification 'throughputMode=PROVISIONED,readCapacityUnits=5,writeCapacityUnits=5' --point-in-time-recovery 'status=ENABLED' --default-time-to-live '31536000' --tags 'key=env,value=test' 'key=dpt,value=sec'

이 예에서는 암호화를 위해 고객 관리형 키를 사용하고 TTL을 사용하여 열과 행에 대한 만료 날짜를 설정할 수 있는 새 테이블을 만드는 방법을 보여 줍니다. 이 샘플을 실행하려면 고객 관리용 리소스 ARN을 교체해야 합니다.AWS KMS키를 직접 사용하여 Amazon Keyspaces에 액세스할 수 있는지 확인합니다.

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --encryption-specification 'type=CUSTOMER_MANAGED_KMS_KEY,kmsKeyIdentifier=arn:aws:kms:us-east-1:111222333444:key/11111111-2222-3333-4444-555555555555' --ttl 'status=ENABLED'