

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

# AWS CloudShell를 사용하여 작업AWS Control Tower
<a name="using-aws-with-cloudshell"></a>

AWS CloudShell는AWS CLI에서 쉽게 작업할 수 있는AWS서비스입니다.에서 직접 시작할 수 있는 사전 인증된 브라우저 기반 셸입니다AWS Management Console. 명령줄 도구를 다운로드하거나 설치할 필요가 없습니다. 원하는 쉘(Bash, PowerShell 또는 Z 쉘)에서AWS Control Tower및 기타AWS서비스에 대한AWS CLI명령을 실행할 수 있습니다.

[에서 시작AWS CloudShellAWS Management Console](https://docs.aws.amazon.com/cloudshell/latest/userguide/working-with-cloudshell.html#launch-options)하면 콘솔에 로그인하는 데 사용한AWS자격 증명을 새 쉘 세션에서 사용할 수 있습니다.AWS Control Tower및 기타AWS서비스와 상호 작용할 때 구성 자격 증명 입력을 건너뛸 수 있으며, 쉘의 컴퓨팅 환경에 사전 설치된AWS CLI버전 2를 사용합니다.는 사전 인증됩니다AWS CloudShell.

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

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

**참고**  
IAM ID에는AWS Control Tower에 대한 호출 권한을 부여하는 정책도 필요합니다. 자세한 내용은 [AWS Control Tower콘솔을 사용하는 데 필요한 권한을 참조하세요](https://docs.aws.amazon.com//controltower/latest/userguide/access-control-managing-permissions.html#additional-console-required-permissions).

### 시작AWS CloudShell
<a name="launch-cloudshell"></a>

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

이제 CloudShell을 시작했으므로 작업에 필요한 모든AWS CLI명령을 입력할 수 있습니다AWS Control Tower. 예를 들어AWS Config상태를 확인할 수 있습니다.

# 를AWS Control Tower통해와 상호 작용AWS CloudShell
<a name="cshell-examples"></a>

AWS CloudShell에서를 시작한 후 명령줄 interface.AWS CLI commands AWS Control Tower에서 즉시 CloudShell의 표준 방식으로와 상호 작용할AWS Management Console수 있습니다.

**참고**  
AWS CLI에서를 사용하는AWS CloudShell경우 추가 리소스를 다운로드하거나 설치할 필요가 없습니다. 또한 쉘 내에서 이미 인증되었기 때문에 직접 호출을 하기 전에 자격 증명을 구성하지 않아도 됩니다.<a name="cloudshell-and-controltower"></a>

# AWS CloudShell를 사용하여 설정 지원AWS Control Tower
<a name="cloudshell-and-controltower"></a>

이러한 절차를 수행하기 전에 달리 명시되지 않는 한 랜딩 존의 홈 리전AWS Management Console에 있는에 로그인해야 하며 랜딩 존이 포함된 관리 계정에 대한 관리 권한이 있는 IAM Identity Center 사용자 또는 IAM 사용자로 로그인해야 합니다.

1. 랜AWS Control Tower딩 존 구성을 시작하기 전에에서AWS Config CLI 명령을 사용하여 구성 레코더 및 전송 채널의 상태를AWS CloudShell확인하는 방법은 다음과 같습니다.

   **예:AWS Config상태 확인**

**보기 명령:**
   + `aws configservice describe-delivery-channels`
   + `aws configservice describe-delivery-channel-status`
   + `aws configservice describe-configuration-recorders`
   + 일반적인 응답은 `"name": "default"`와 같습니다.

1. AWS Control Tower랜딩 존을 설정하기 전에 삭제해야 하는 기존AWS Config레코더 또는 전송 채널이 있는 경우 입력할 수 있는 몇 가지 명령은 다음과 같습니다.

   **예: 기존AWS Config리소스 관리**

**삭제 명령:**
   + `aws configservice stop-configuration-recorder --configuration-recorder-name NAME-FROM-DESCRIBE-OUTPUT`
   + `aws configservice delete-delivery-channel --delivery-channel-name NAME-FROM-DESCRIBE-OUTPUT`
   + `aws configservice delete-configuration-recorder --configuration-recorder-name NAME-FROM-DESCRIBE-OUTPUT`
**중요**  
에 대한AWS Control Tower리소스를 삭제하지 마십시오AWS Config. 이러한 리소스가 손실되면가 일관되지 않은 상태로 전환될 수AWS Control Tower있습니다.

**자세한 내용은AWS Config설명서를 참조하세요.**
   +  [구성 레코더 관리(AWS CLI)](https://docs.aws.amazon.com//config/latest/developerguide/stop-start-recorder.html#managing-recorder_cli)
   +   [전송 채널 관리](https://docs.aws.amazon.com//config/latest/developerguide/manage-delivery-channel.html)

1. 이 예제는 신뢰할 수 있는 액세스를 활성화하거나 비활성화AWS CloudShell하기 위해에서 입력하는AWS CLI 명령을 보여줍니다AWS Organizations. 에 대해 신뢰할 수 있는 액세스를 활성화하거나 비활성화AWS Control Tower할 필요가 없으며AWS Organizations, 이는 예시일 뿐입니다. 그러나 작업을 자동화하거나 사용자 지정하는 경우 다른AWS서비스에 대해 신뢰할 수 있는 액세스를 활성화하거나 비활성화해야 할 수 있습니다AWS Control Tower.

**예제: 신뢰할 수 있는 서비스 액세스 활성화 또는 비활성화**
   + `aws organizations enable-aws-service-access`
   + `aws organizations disable-aws-service-access`<a name="cloudshell-and-s3"></a>

# 예:를 사용하여 Amazon S3 버킷 생성AWS CloudShell
<a name="cloudshell-and-s3"></a>

다음 예제에서는AWS CloudShell를 사용하여 Amazon S3 버킷을 생성한 다음 **PutObject** 메서드를 사용하여 코드 파일을 해당 버킷의 객체로 추가할 수 있습니다.

1. 지정된AWS리전에서 버킷을 생성하려면 CloudShell 명령줄에 다음 명령을 입력합니다.

   ```
   aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1
   ```

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

   ```
   {
       "Location": "/insert-unique-bucket-name-here"
   }
   ```
**참고**  
[버킷 이름 지정 규칙](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules)(예: 소문자만 사용)을 준수하지 않으면 다음 오류가 표시됩니다. ‘CreateBucket 작업을 호출하는 동안 오류가 발생했습니다(InvalidBucketName). 지정된 버킷이 유효하지 않습니다.’

1. 파일을 업로드하고 방금 생성한 버킷에 해당 파일을 객체로 추가하려면 **PutObject** 메서드를 직접 호출합니다.

   ```
   aws s3api put-object --bucket insert-unique-bucket-name-here --key add_prog --body add_prog.py
   ```

   객체가 Amazon S3 버킷에 성공적으로 업로드되면 명령줄에 다음 출력과 비슷한 서비스의 응답이 표시됩니다.

   ```
   {
              "ETag": "\"ab123c1:w:wad4a567d8bfd9a1234ebeea56\""}
   ```

   `ETag`는 저장된 객체의 해시입니다. [Amazon S3에 업로드된 객체의 무결성을 확인](https://aws.amazon.com/premiumsupport/knowledge-center/data-integrity-s3/)하는 데 이 해시를 사용할 수 있습니다.