

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

# AWS CloudShell 를 사용하여 Amazon Keyspaces에 액세스
<a name="using-aws-with-cloudshell"></a>

AWS CloudShell 는 브라우저 기반의 사전 인증된 셸로,에서 직접 시작할 수 있습니다 AWS Management Console. 원하는 쉘(Bash, PowerShell 또는 Z 쉘)을 사용하여 AWS 서비스에 대해 AWS CLI 명령을 실행할 수 있습니다. AWS CloudShell 는 콘솔 자격 증명으로 사전 인증되며 AWS CLI, , Python 및 Node.js를 포함한 AWS 서비스 작업을 위한 일반적인 도구를 포함합니다.

[AWS CloudShell 에서를 시작 AWS Management Console](https://docs.aws.amazon.com/cloudshell/latest/userguide/working-with-cloudshell.html#launch-options)하면 콘솔에 로그인하는 데 사용한 AWS 자격 증명이 새 쉘 세션에서 자동으로 사용할 수 있습니다. 이 AWS CloudShell 사용자 사전 인증을 사용하면 `cqlsh` 또는 AWS CLI 버전 2(쉘의 컴퓨팅 환경에 사전 설치됨)를 사용하여 Amazon Keyspaces와 같은 AWS 서비스와 상호 작용할 때 자격 증명 구성을 건너뛸 수 있습니다.

## AWS CloudShell 통합 옵션
<a name="cloudshell-integration-options"></a>

Amazon Keyspaces는 AWS CloudShell두 가지 사용 방법을 제공합니다.

1. **통합 AWS CloudShell 환경** -를 자동으로 초기화`cqlsh-expansion`하고 특정 키스페이스에 연결하는 Amazon Keyspaces 콘솔에서 직접 사용할 수 있는 간소화된 연결 방법입니다. 이 통합 환경 사용에 대한 전체 지침은 섹션을 참조하세요[콘솔 AWS CloudShell 에서를 사용하여 Amazon Keyspaces에 연결](console_cloudshell_integration.md).

1. **수동 AWS CloudShell 설정** - `cqlsh`에서 수동으로 설치 및 구성합니다 AWS CloudShell. 단계는 다음 섹션에 설명되어 있으며 설정 프로세스를 더 잘 제어하고 사용자 지정 구성을 활성화합니다.

## 사전 조건
<a name="cloudshell-prerequisites"></a>

에서 Amazon Keyspaces를 사용하기 전에 다음을 갖추었는지 AWS CloudShell확인합니다.
+ Amazon Keyspaces 및에 액세스할 수 있는 AWS 계정 AWS CloudShell
+ 두 서비스를 모두 사용할 수 있는 적절한 IAM 권한
+ Cassandra 쿼리 언어(CQL)에 대한 기본 지식

## 시작하기 AWS CloudShell
<a name="getting-started-cloudshell"></a>

에 액세스하려면 AWS CloudShell:

1. 에 로그인 AWS Management Console

1. 콘솔 상단의 탐색 모음에서 AWS CloudShell 아이콘을 AWS CloudShell 선택하거나 [https://console.aws.amazon.com/cloudshell/](https://console.aws.amazon.com/cloudshell/) 이동하여를 시작합니다.

1.  AWS CloudShell 환경이 초기화될 때까지 기다립니다.

## 에 대한 IAM 권한 획득 AWS CloudShell
<a name="cloudshell-permissions"></a>

에서 제공하는 액세스 관리 리소스를 사용하여 AWS Identity and Access Management관리자는 IAM 사용자에게 환경의 기능에 액세스 AWS CloudShell 하고 사용할 수 있는 권한을 부여할 수 있습니다.

관리자가 사용자에게 액세스 권한을 부여하는 가장 빠른 방법은 AWS 관리형 정책을 사용하는 것입니다. [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)은 AWS에서 생성 및 관리하는 독립 실행형 정책입니다. CloudShell에 대한 다음 AWS 관리형 정책을 IAM 자격 증명에 연결할 수 있습니다.
+ `AWSCloudShellFullAccess`: 모든 기능에 대한 전체 액세스 권한 AWS CloudShell 과 함께를 사용할 수 있는 권한을 부여합니다.

IAM 사용자가 수행할 수 있는 작업 범위를 제한하려면 `AWSCloudShellFullAccess` 관리형 정책을 템플릿으로 사용하는 사용자 지정 정책을 생성할 AWS CloudShell수 있습니다. CloudShell에서 사용자가 사용할 수 있는 작업을 제한하는 방법에 대한 자세한 내용은 *AWS CloudShell 사용 설명서*의 [IAM 정책을 사용한 AWS CloudShell 액세스 및 사용 관리를](https://docs.aws.amazon.com/cloudshell/latest/userguide/sec-auth-with-identities.html) 참조하세요.

**참고**  
IAM ID에는 Amazon Keyspaces에 호출할 수 있는 권한을 부여하는 정책도 필요합니다.

 AWS 관리형 정책을 사용하여 IAM 자격 증명에 Amazon Keyspaces 액세스 권한을 부여하거나 관리형 정책을 템플릿으로 시작하고 필요하지 않은 권한을 제거할 수 있습니다. 특정 키스페이스 및 테이블에 대한 액세스를 제한하여 사용자 지정 정책을 생성할 수도 있습니다. 다음과 같은 Amazon Keyspaces에 대한 관리형 정책을 IAM ID에 연결할 수 있습니다.
+ [AmazonKeyspacesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesFullAccess.html) – 이 정책은 모든 기능에 대한 전체 액세스 권한과 함께 Amazon Keyspaces를 사용할 수 있는 권한을 부여합니다.

관리형 정책에 정의된 작업에 대한 자세한 설명은 [AWS Amazon Keyspaces에 대한 관리형 정책](security-iam-awsmanpol.md) 섹션을 참조하세요.

 Amazon Keyspaces에서 작업을 제한하거나 특정 리소스에 대한 액세스를 제한하는 방법에 대한 자세한 내용은 [Amazon Keyspaces에서 IAM을 사용하는 방법](security_iam_service-with-iam.md) 섹션을 참조하세요.

## cqlsh 클라이언트 설치
<a name="installing-cqlsh-client"></a>

AWS CloudShell 는 `cqlsh` 사전 설치된와 함께 제공되지 않습니다. Amazon Keyspaces와 상호 작용하려면 설치해야 합니다. 의 Amazon Keyspaces별 버전을 설치할 수 있습니다`cqlsh`. `cqlsh-expansion` 설치 지침은 [`cqlsh-expansion`을 사용하여 Amazon Keyspace에 접속](programmatic.cqlsh.md#using_cqlsh) 섹션을 확인하세요.

## TLS 인증서 구성
<a name="configuring-ssl-certificates"></a>

TLS 연결을 사용하여 Amazon Keyspaces에 연결하려면 필요한 Amazon 디지털 인증서를 다운로드해야 합니다. SSL 인증서 다운로드 및 구성에 대한 자세한 지침은 섹션을 참조하세요[TLS에 대한 `cqlsh` 연결을 수동으로 구성하는 방법](programmatic.cqlsh.md#encrypt_using_tls).

## Amazon Keyspaces에 연결
<a name="connecting-to-keyspaces"></a>

IAM 자격 증명(권장) 또는 서비스별 자격 증명을 사용하여 Amazon Keyspaces에 연결할 수 있습니다.

### IAM 자격 증명으로 연결(권장)
<a name="connecting-iam-credentials"></a>

AWS CloudShell 는 이미 IAM 자격 증명으로 인증되었습니다. 이러한 자격 증명을 사용하여 연결하려면 SigV4 인증 플러그인을 사용할 수 있습니다. 에서 IAM 자격 증명을 사용하는 방법에 대한 자세한 지침은 섹션을 `cqlsh`참조하세요[`cqlsh-expansion`을 사용하여 Amazon Keyspace에 접속](programmatic.cqlsh.md#using_cqlsh).

### 서비스별 보안 인증을 사용하여 연결
<a name="connecting-service-specific-credentials"></a>

Amazon Keyspaces에 대한 서비스별 자격 증명을 생성한 경우 이를 사용하여 연결할 수 있습니다. 서비스별 자격 증명 생성 및 사용에 대한 자세한 내용은 섹션을 참조하세요[Amazon Keyspaces에 프로그래밍 방식으로 액세스하기 위한 서비스별 자격 증명 만들기](programmatic.credentials.ssc.md).

## Amazon Keyspaces에서 CQLSH 사용
<a name="using-cqlsh-keyspaces"></a>

연결되면 표준 CQL 명령을 사용하여 키스페이스 및 테이블과 상호 작용할 수 있습니다. 지원되는 CQL 명령 및 작업에 대한 자세한 내용은 섹션을 참조하세요[`cqlsh-expansion`을 사용하여 Amazon Keyspace에 접속](programmatic.cqlsh.md#using_cqlsh).

## 에서 데이터 유지 AWS CloudShell
<a name="persisting-data-cloudshell"></a>

AWS CloudShell 는 홈 디렉터리에 1GB의 영구 스토리지를 제공합니다. 즉, 생성한 스크립트, 인증서 및 구성 파일은 세션 간에 계속 사용할 수 있습니다. 에 대한 구성 파일을 생성`cqlsh`하여 연결을 간소화할 수 있습니다.

구성 파일을 사용하면 추가 파라미터를 지정`cqlsh`하지 않고도를 실행할 수 있습니다. `cqlsh` 구성 파일 생성 및 사용에 대한 자세한 내용은 섹션을 참조하세요[`cqlsh-expansion`을 사용하여 Amazon Keyspace에 접속](programmatic.cqlsh.md#using_cqlsh).

## 모범 사례
<a name="best-practices-cloudshell"></a>

에서 Amazon Keyspaces를 사용하는 경우 다음 모범 사례를 따르는 AWS CloudShell것이 좋습니다.
+ 반복 작업에 대한 스크립트를 생성하고 영구 홈 디렉터리에 저장합니다.
+ 민감한 정보를 하드 코딩하는 대신 환경 변수를 사용합니다.
+ 비활성 후 AWS CloudShell 세션 시간이 초과될 수 있습니다.
+  AWS CloudShell 서비스 할당량 및 제한 사항에 유의하세요.
+ Amazon Keyspaces에서 자동화된 작업에 AWS CLI 를 사용하는 것이 좋습니다.

## 문제 해결
<a name="troubleshooting-cloudshell"></a>

다음에서 Amazon Keyspaces에 연결할 때 문제가 발생하는 경우 AWS CloudShell:
+ IAM 권한에 필요한 Amazon Keyspaces 작업이 포함되어 있는지 확인합니다.
+ 리전에 올바른 엔드포인트를 사용하고 있는지 확인합니다.
+ SSL 인증서가 올바르게 다운로드되고 참조되었는지 확인합니다.
+ 서비스별 자격 증명이 올바르고 만료되지 않았는지 확인합니다.
+ cqlshrc 파일을 사용하는 경우 형식 및 권한을 확인합니다.

## 예:를 사용하여 Amazon Keyspaces와 상호 작용하는 방법 AWS CloudShell
<a name="cshell-examples"></a>

 AWS CloudShell 에서를 시작한 후 `cqlsh` 또는 명령줄 인터페이스를 사용하여 Amazon Keyspaces와 즉시 상호 작용할 AWS Management Console수 있습니다. 아직 `cqlsh-expansion`을 설치하지 않은 경우 자세한 단계는 [`cqlsh-expansion`을 사용하여 Amazon Keyspace에 접속](programmatic.cqlsh.md#using_cqlsh) 섹션을 참조하세요.

**참고**  
`cqlsh-expansion`에서를 사용하는 경우 AWS CloudShell셸 내에서 이미 인증되었으므로 호출하기 전에 자격 증명을 구성할 필요가 없습니다.

**Amazon Keyspaces에 연결하고 새 키스페이스를 생성합니다. 그런 다음 시스템 테이블에서 읽고를 사용하여 키스페이스가 생성되었는지 확인합니다. AWS CloudShell**

1. 에서 탐색 모음에서 사용할 AWS Management Console수 있는 다음 옵션을 선택하여 CloudShell을 시작할 수 있습니다.
   +  CloudShell 아이콘을 선택합니다.
   + `cloudshell` 검색 상자에 입력을 시작한 다음 CloudShell 옵션을 선택합니다.

1. 다음 명령을 사용하여 Amazon Keyspaces에 대한 연결을 설정할 수 있습니다. 를 해당 리전의 올바른 엔드포인트`cassandra.us-east-1.amazonaws.com`로 바꿔야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   접속에 성공하면 다음 예제와 비슷하게 출력됩니다.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   cqlsh>
   ```

1. 이름 `mykeyspace`로 새 키스페이스를 생성합니다. 다음과 같은 명령을 사용하여 수행할 수 있습니다.

   ```
   CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'};
   ```

1. 키스페이스가 생성되었는지 확인하려면 다음 명령을 사용하여 시스템 테이블에서 읽을 수 있습니다.

   ```
   SELECT * FROM system_schema_mcs.keyspaces WHERE keyspace_name = 'mykeyspace';
   ```

   직접 호출이 성공하면 명령줄에 다음 출력과 비슷한 서비스의 응답이 표시됩니다.

   ```
    keyspace_name  | durable_writes | replication
   ----------------+----------------+-------------------------------------------------------------------------------------
    mykeyspace     |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
   
   (1 rows)
   ```