

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

# AWS CLI 를 사용하여 Amazon Keyspaces에 연결
<a name="access.cli"></a>

 AWS Command Line Interface (AWS CLI)를 사용하여 명령줄에서 여러 AWS 서비스를 제어하고 스크립트를 통해 자동화할 수 있습니다. Amazon Keyspaces를 사용하면 테이블 생성과 같은 데이터 정의 언어(DDL) 작업에 AWS CLI 를 사용할 수 있습니다. 또한 코드형 인프라(IaC) 서비스와 AWS CloudFormation 및 Terraform과 같은 도구를 사용할 수 있습니다.

Amazon Keyspaces AWS CLI 에서를 사용하려면 먼저 액세스 키 ID와 보안 액세스 키를 가져와야 합니다. 자세한 내용은 [Amazon Keyspaces에 대한 AWS 자격 증명 생성 및 구성](access.credentials.md) 단원을 참조하십시오.

에서 Amazon Keyspaces에 사용할 수 있는 모든 명령의 전체 목록은 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html)를 AWS CLI참조하세요.

**Topics**
+ [다운로드 및 구성 AWS CLI](#access.cli.installcli)
+ [Amazon Keyspaces AWS CLI 에서 사용](#access.cli.usingcli)

## 다운로드 및 구성 AWS CLI
<a name="access.cli.installcli"></a>

 AWS CLI 는에서 사용할 수 있습니다[https://aws.amazon.com/cli](https://aws.amazon.com/cli). Windows, macOS 또는 Linux에서 실행됩니다. 를 다운로드한 후 다음 단계에 AWS CLI따라를 설치하고 구성합니다.

1. [AWS Command Line Interface 사용 설명서](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)로 이동합니다.

1. [AWS CLI설치](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 및 [AWS CLI구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) 지침을 따릅니다.

## Amazon Keyspaces AWS CLI 에서 사용
<a name="access.cli.usingcli"></a>

명령줄 형식은 Amazon Keyspaces 작업 이름과 해당 작업에 대한 파라미터 순으로 구성됩니다. 는 파라미터 값과 JSON에 대한 간편 구문을 AWS CLI 지원합니다. 다음 Amazon Keyspaces 예제에서는 AWS CLI 간편 구문을 사용합니다. 자세한 내용은 [AWS CLI에서 간편 구문 사용을 참조하세요](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-shorthand.html).

다음 명령은 이름 *카탈로그*와 함께 키스페이스를 생성합니다.

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

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

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

다음 명령을 사용하여 키스페이스 *카탈로그*가 존재하는지 확인할 수 있습니다.

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

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

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

다음 명령은 *book\$1awards*라는 이름의 테이블을 생성합니다. 테이블의 파티션 키는 `year` 열과 `award` 열로 구성되며 클러스터링 키는 `category` 열과 `rank` 열로 구성되고, 두 클러스터링 열 모두 오름차순 정렬 순서를 사용합니다. (읽기 쉽도록 이 섹션에서는 긴 명령이 여러 줄로 나누어져 있습니다.)

```
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:111122223333:/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:111122223333:/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 파일에서 테이블의 스키마 정의를 로드하는 것이 유용할 수 있습니다. 다음은 그 예시입니다. [schema\$1definition.zip](samples/schema_definition.zip)의 스키마 정의 예제 JSON 파일을 다운로드하고 `schema_definition.json`의 압축을 푼 다음 파일 경로를 기록해 둡니다. 이 예제에서는 스키마 정의 JSON 파일이 현재 디렉터리에 위치합니다. 다양한 파일 경로 옵션에 대해서는 [파일에서 매개변수를 로드하는 방법](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how)을 참조하세요.

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

다음 예제는 추가 옵션을 사용하여 *myTable*이라는 이름의 간단한 테이블을 만드는 방법을 보여줍니다. 참고로 가독성을 높이기 위해 명령이 별도의 행으로 구분되어 있습니다. 이 명령은 테이블을 만드는 방법을 보여줍니다.
+ 테이블의 용량 모드 설정
+ 테이블 시점 복구 활성화
+ 테이블의 기본 Time to Live(TTL) 값을 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을 활성화한 새 테이블을 생성하는 방법을 보여줍니다. 이 샘플을 실행하려면 고객 관리형 AWS KMS 키의 리소스 ARN을 자체 키로 바꾸고 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:111122223333:key/11111111-2222-3333-4444-555555555555'  
            --ttl 'status=ENABLED'
```