

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

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

이 소개 자습서에서는 셸 명령줄 인터페이스를 사용하여 주요 작업을 시작하고 AWS CloudShell 수행하는 방법을 보여줍니다.

먼저에 로그인 AWS Management Console 하고를 선택합니다 AWS 리전. 그 다음에 새 브라우저 창에서 CloudShell을 시작하고 사용할 쉘 유형을 선택합니다.

다음으로 홈 디렉터리에 새 폴더를 만들고 로컬 머신에서 파일을 업로드합니다. 명령줄에서 프로그램으로 실행하기 전에 사전 설치된 편집기로 파일 작업을 합니다. 마지막으로 AWS CLI 명령을 호출하여 Amazon S3 버킷을 생성하고 파일을 버킷에 객체로 추가합니다.

## 사전 조건
<a name="getting-started-prerequesities"></a>

**IAM 권한**

IAM 자격 증명(예: 사용자, 역할 또는 그룹)에 다음 AWS 관리형 정책을 AWS CloudShell 연결하여에 대한 권한을 얻을 수 있습니다.
+ **AWSCloudShellFullAccess**: 사용자에게 AWS CloudShell 및 기능에 대한 전체 액세스 권한을 제공합니다.

이 자습서에서는 와도 상호 작용합니다 AWS 서비스. 구체적으로 말하자면, S3 버킷을 만들고 해당 버킷에 객체를 추가하여 Amazon S3와 상호 작용하게 됩니다. IAM 자격 증명에는 최소한 `s3:CreateBucket`과 `s3:PutObject` 권한을 부여하는 정책이 필요합니다.

자세한 내용은 *Amazon Simple Storage Service 사용 설명서*의 [Amazon S3 작업](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-actions)을 참조하십시오.

**연습 파일**

또한 이 연습에는 명령줄 인터페이스에서 프로그램으로 실행되는 파일을 업로드하고 편집하는 작업도 포함됩니다. 로컬 머신에서 텍스트 편집기를 열고 다음 코드 조각을 추가합니다.

```
import sys
x=int(sys.argv[1])
y=int(sys.argv[2])
sum=x+y
print("The sum is",sum)
```

`add_prog.py` 이름으로 파일을 저장합니다.

## 내용
<a name="getting-started-contents"></a>
+ [1단계:에 로그인 AWS Management Console](#start-session)
+ [2단계: 리전 선택, 시작 AWS CloudShell및 쉘 선택](#launch-region-shell)
+ [3단계:에서 파일 다운로드 AWS CloudShell](#download-file)
+ [4단계:에 파일 업로드 AWS CloudShell](#folder-upload)
+ [5단계:에서 파일 제거 AWS CloudShell](#remove-files)
+ [6단계: 홈 디렉터리 백업 생성](#home-directory-backup)
+ [7단계: 쉘 세션 재시작](#restart-shell-session)
+ [8단계: 쉘 세션 홈 디렉터리 삭제](#delete-shell-session)
+ [9단계: 파일 코드 편집 및 명령줄에서 실행](#edit-run)
+ [10단계: Amazon S3 버킷에 파일을 객체로 추가하는 AWS CLI 데 사용](#s3-put)

## 1단계:에 로그인 AWS Management Console
<a name="start-session"></a>

이 단계에서는 IAM 사용자 정보를 입력하여에 액세스합니다 AWS Management Console. 이미 콘솔을 사용하고 있다면 [2단계로](#launch-region-shell) 건너뛰십시오.
+ IAM 사용자 로그인 URL을 AWS Management Console 사용하거나 기본 로그인 페이지로 이동하여에 액세스할 수 있습니다.

------
#### [ IAM user sign-in URL ]
  + 브라우저를 열고 로그인 URL을 입력합니다. `account_alias_or_id`을(를) 관리자가 제공한 계정 별칭이나 계정 ID로 교체합니다.

    ```
    https://account_alias_or_id.signin.aws.amazon.com/console/
    ```
  + IAM 로그인 보안 인증을 입력하고 **로그인**을 선택합니다.

------
#### [ Main sign-in page ]
  + [https://aws.amazon.com/console/](https://aws.amazon.com/console/)을 엽니다.
  + 이전에 이 브라우저를 사용하여 로그인하지 않은 경우, 기본 로그인 페이지가 나타납니다. IAM 사용자를 선택하고 계정 별칭 또는 계정 ID를 입력한 후 **다음**을 선택합니다.
  + 이미 IAM 사용자로 로그인한 경우 브라우저에서 AWS 계정에 대한 계정 별칭이나 계정 ID를 기억할 수 있습니다. 그렇다면, IAM 로그인 보안 인증을 입력하고 **로그인**을 선택합니다.

------
**참고**  
[루트 사용자](https://docs.aws.amazon.com/IAM/latest/UserGuide/)로 로그인할 수도 있습니다. 이 자격 증명은 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한을 가집니다. 일상적인 작업, 심지어 관리 작업의 경우에도 루트 사용자를 사용하지 않을 것을 권장합니다. 대신, IAM 사용자를 처음 생성할 때만 루트 사용자를 사용하는 모범 사례를 준수합니다.

## 2단계: 리전 선택, 시작 AWS CloudShell및 쉘 선택
<a name="launch-region-shell"></a>

이 단계에서는 콘솔 인터페이스에서 CloudShell을 시작하고 사용 가능한를 선택한 다음 AWS 리전, Bash PowerShell 또는와 같은 원하는 쉘로 전환합니다Z shell.

1. 작업 AWS 리전 할를 선택하려면 **리전 선택 메뉴로** 이동하여 작업할 [지원되는 AWS 리전](supported-aws-regions.md)을 선택합니다. (사용 가능한 지역은 강조 표시됩니다.)
**중요**  
리전을 전환하면 인터페이스가 새로고침되고 선택한 AWS 리전 의 이름이 명령줄 텍스트 위에 표시됩니다. 영구 스토리지에 추가하는 모든 파일은 동일한 AWS 리전에서만 사용할 수 있습니다. 리전을 변경하면 다른 스토리지와 파일에 액세스할 수 있습니다.
**중요**  
콘솔 왼쪽 하단에 있는 Console Toolbar에서 CloudShell을 시작할 때 선택한 리전에서 CloudShell을 사용할 수 없는 경우, 기본 리전은 선택한 지역과 가장 가까운 리전으로 설정됩니다. 기본 리전이 아닌 다른 리전의 리소스를 관리할 권한을 제공하는 명령을 실행할 수 있습니다. 자세한 내용은 [작업을 참조하세요 AWS 리전](working-with-aws-cloudshell.md#region-selection).  

**Example**  
**예제**  
유럽(스페인) eu-south-2을(를) 선택했지만 유럽(스페인) eu-south-2에서 CloudShell을 사용할 수 없는 경우, 기본 지역은 유럽(스페인) eu-west-1와(과) 가장 가까운 유럽(아일랜드) eu-south-2(으)로 설정됩니다.  
기본 지역인 유럽(아일랜드) eu-west-1에 대한 Service Quotas를 사용하고, 전체 리전에서 동일한 CloudShell 세션이 복원됩니다. 기본 리전은 변경할 수 있으며 CloudShell 브라우저 창에 메시지가 표시됩니다.

1. 에서 다음 옵션 중 하나를 선택하여 CloudShell을 시작할 AWS Management Console수 있습니다.

   1. 콘솔 탐색 모음에서 **CloudShell** 아이콘을 선택합니다.

   1. **검색** 상자에 “CloudShell”을 입력한 다음, **CloudShell**을 선택합니다.

   1. **최근 방문한** 위젯에서 **CloudShell**을 선택합니다.

   1. 콘솔 왼쪽 하단 Console Toolbar에서 **CloudShell** 아이콘을 선택합니다.
      + `=`을 끌어놓아 CloudShell 세션의 높이를 조정할 수 있습니다.
      + **새 브라우저 탭에서 열기**를 클릭하여 CloudShell 세션을 전체 화면으로 전환할 수 있습니다.

   명령 프롬프트가 표시되면 셸이 상호 작용할 준비가 된 것입니다.
**참고**  
성공적으로 시작하거나 상호 작용하는 데 방해가 되는 문제가 발생하면에서 해당 문제를 식별하고 해결하기 위한 정보를 AWS CloudShell확인하세요[문제 해결 AWS CloudShell](troubleshooting.md).

1. 사전 설치된 쉘을 선택하여 작업하려면 명령줄 프롬프트에 프로그램 이름을 입력합니다.

------
#### [ Bash ]

   `bash`

   `$`(으)로 전환하면 명령 프롬프트의 기호가 Bash(으)로 업데이트됩니다.

**참고**  
Bash는 시작 시 실행 중인 기본 셸입니다 AWS CloudShell.

------
#### [ PowerShell ]

   `pwsh`

   PowerShell로 전환하면 명령 프롬프트의 기호가 `PS>`로 업데이트됩니다.

------
#### [ Z shell ]

   `zsh`

   Z shell(으)로 전환하면 명령 프롬프트의 기호가 `%`(으)로 업데이트됩니다.

------

   쉘 환경에 사전 설치된 버전에 대한 자세한 정보는 [쉘 테이블](vm-specs.md#installed-shells)([AWS CloudShell 컴퓨팅 환경](vm-specs.md))에서 확인하십시오.

## 3단계:에서 파일 다운로드 AWS CloudShell
<a name="download-file"></a>

**참고**  
이 옵션은 VPC 환경에서는 사용할 수 없습니다.

이 단계에서는 파일을 다운로드하는 절차를 단계별로 살펴봅니다.

1. 파일을 다운로드하려면 **작업**으로 이동하여 메뉴에서 **파일 다운로드**를 선택합니다.

   **파일 다운로드** 대화 상자가 표시됩니다.

1. **파일 다운로드** 대화 상자에 다운로드할 파일의 경로를 입력합니다.
**참고**  
다운로드할 파일을 지정할 때는 절대 또는 상대 경로를 사용할 수 있습니다. 상대 경로 이름을 사용하면 기본적으로 시작 부분에 `/home/cloudshell-user/`이(가) 자동으로 추가됩니다. 따라서 `mydownload-file`이라는 파일을 다운로드하려면 다음 두 경로가 모두 유효해야 합니다.  
**절대 경로:** `/home/cloudshell-user/subfolder/mydownloadfile.txt`
**상대 경로:** `subfolder/mydownloadfile.txt`

1. **다운로드**를 선택합니다.

   파일 경로가 올바르면 대화 상자가 표시됩니다. 이 대화상자에서 기본 애플리케이션으로 파일을 열 수 있습니다. 또는 로컬 머신에 있는 폴더에 파일을 저장할 수 있습니다.

**참고**  
Console Toolbar다운로드 옵션은 에서 CloudShell을 시작할 때는 사용할 수 없습니다. CloudShell 콘솔 또는 Chrome 웹 브라우저에서 파일을 다운로드할 수 있습니다.

## 4단계:에 파일 업로드 AWS CloudShell
<a name="folder-upload"></a>

**참고**  
이 옵션은 VPC 환경에서는 사용할 수 없습니다.

이 단계에서는 파일을 업로드한 다음 홈 디렉터리의 새 디렉터리로 이동하는 방법을 설명합니다.<a name="create-folder-upload-file"></a>

1. 현재 작업 디렉토리를 확인하려면 프롬프트에 다음 명령을 입력합니다.

   `pwd`

   **Enter**를 누르면 쉘이 현재 작업 디렉토리(예: `/home/cloudshell-user`)를 반환합니다.

1. 이 디렉터리에 파일을 업로드하려면 **작업**으로 이동하여 메뉴에서 **파일 업로드**를 선택합니다.

   **파일 업로드** 대화 상자가 표시됩니다.

1. **찾아보기**를 선택합니다.

1. 시스템의 **파일 업로드** 대화 상자에서 이 자습서용으로 생성한 텍스트 파일(`add_prog.py`)을 선택하고 **열기**를 선택합니다.

1. **업로드** 대화 상자에서 **파일 업로드**를 선택합니다.

   진행률은 업로드 상태를 추적합니다. 정상적으로 업로드되면 홈 디렉터리의 루트에 `add_prog.py`이(가) 추가되었다는 확인 메시지가 나타납니다.

1. 파일용 디렉터리를 생성하려면 디렉터리 만들기 명령어 `mkdir mysub_dir`을(를) 입력합니다.

1. 업로드된 파일을 홈 디렉터리의 루트에서 새 디렉터리로 이동하려면 다음 `mv` 명령을 사용합니다.

   `mv add_prog.py mysub_dir`.

1. 현재 작업 디렉터리를 새로운 디렉터리로 변경하려면 `cd mysub_dir`을(를) 입력합니다.

   명령 프롬프트가 업데이트되어 작업 디렉토리가 변경되었음을 알립니다.

1. 현재 디렉터리 `mysub_dir`의 내용을 보려면 `ls` 명령을 입력합니다.

   작업 디렉토리의 내용이 나열됩니다. 여기에는 방금 업로드한 파일도 포함됩니다.

## 5단계:에서 파일 제거 AWS CloudShell
<a name="remove-files"></a>

이 단계에서는 파일을 제거하는 방법을 설명합니다 AWS CloudShell.<a name="remove-files-proc"></a>

1. 에서 파일을 제거하려면 `rm` (제거)와 같은 표준 셸 명령을 AWS CloudShell사용합니다.

   `rm my-file-for-removal`

1. 지정된 기준에 맞는 여러 파일을 삭제하려면 `find` 명령을 실행합니다.

   다음 예시에서는 이름에 접미사 “.pdf”가 포함된 모든 파일을 삭제합니다.

   ```
   find -type f -name '*.pdf' -delete
   ```

**참고**  
특정 AWS CloudShell 에서 사용을 중지한다고 가정해 보겠습니다 AWS 리전. 이후 지정된 기간이 지나면 해당 리전의 영구 스토리지에 있는 데이터가 자동으로 삭제됩니다. 더 자세한 내용은 [영구 스토리지](limits.md#persistent-storage-limitations)를 확인합니다.

## 6단계: 홈 디렉터리 백업 생성
<a name="home-directory-backup"></a>

이 단계에서는 홈 디렉터리 백업을 생성하는 방법을 설명합니다.<a name="home-directory-backup-proc"></a>

1. **백업 파일 생성**

   홈 디렉터리 외부에 임시 폴더를 생성합니다.

   ```
   HOME_BACKUP_DIR=$(mktemp --directory)
   ```

   다음 중 하나를 사용하여 백업을 생성할 수 있습니다.

   1. **tar를 사용하여 백업 파일 생성**

      tar를 사용하여 백업 파일을 생성하려면 다음 명령을 입력합니다.

      ```
      tar \
          --create \
          --gzip \
          --verbose \
          --file=${HOME_BACKUP_DIR}/home.tar.gz \
          [--exclude ${HOME}/.cache] \ // Optional
          ${HOME}/
      echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.tar.gz"
      ```

   1. **zip을 사용하여 백업 파일 생성**

      zip을 사용하여 백업 파일을 생성하려면 다음 명령을 입력합니다.

      ```
      zip \
          --recurse-paths \
          ${HOME_BACKUP_DIR}/home.zip \
          ${HOME} \
          [--exclude ${HOME}/.cache/\*] // Optional
      echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.zip"
      ```

1. **백업 파일을 CloudShell 외부로 전송** 

   다음 옵션 중 하나를 사용하여 CloudShell 외부로 백업 파일을 전송할 수 있습니다.

   1. **로컬 시스템에 백업 파일 다운로드**

      이전 단계에서 생성한 파일을 다운로드할 수 있습니다. CloudShell에서 파일을 다운로드하는 방법에 대한 자세한 정보는 [AWS CloudShell에서 파일 다운로드 받기](#download-file)에서 확인하십시오.

      파일 다운로드 대화 상자에 다운로드할 파일의 경로(예: `/tmp/tmp.iA99tD9L98/home.tar.gz`)를 입력합니다.

   1. **백업 파일의 S3 전송**

      버킷을 생성하려면 다음 명령을 입력합니다.

      ```
      aws s3 mb s3://${BUCKET_NAME}
      ```

      AWS CLI를 사용하여 파일을 S3 버킷에 복사합니다.

      ```
      aws s3 cp ${HOME_BACKUP_DIR}/home.tar.gz s3://${BUCKET_NAME}
      ```
**참고**  
데이터 전송 요금이 부과될 수 있습니다.

1. **S3 버킷에 직접 백업**

   S3 버킷에 직접 백업하려면 다음 명령을 입력합니다.

   ```
   aws s3 cp \
       ${HOME}/ \
       s3://${BUCKET_NAME} \
       --recursive \
       [--exclude .cache/\*] // Optional
   ```

## 7단계: 쉘 세션 재시작
<a name="restart-shell-session"></a>

이 단계에서는 쉘 세션을 다시 시작하는 방법을 설명합니다.

**참고**  
보안 조치로서, 오랜 시간 동안 키보드나 포인터로 쉘과 상호 작용하지 않으면 세션이 자동으로 중단됩니다. 장기 실행 세션 또한 자동으로 중단됩니다. 자세한 내용은 [쉘 세션](limits.md#session-lifecycle-limitations) 단원을 참조하십시오.

1. 쉘 세션을 재시작하려면 **작업**, **재시작**을 선택합니다.

   다시 시작하면 현재의 모든 활성 세션이 AWS CloudShell 중지된다는 알림이 표시됩니다 AWS 리전.

1. 확인하려면 **재시작**을 선택합니다.

   인터페이스에 CloudShell 컴퓨팅 환경이 중지된다는 메시지가 표시됩니다. 환경을 중단했다가 재시작한 후, 새 세션에서 명령줄 작업을 시작할 수 있습니다.
**참고**  
환경을 재시작 시 몇 분이 걸릴 수도 있습니다.

## 8단계: 쉘 세션 홈 디렉터리 삭제
<a name="delete-shell-session"></a>

이 단계에서는 쉘 세션을 삭제하는 방법을 설명합니다.

**참고**  
이 옵션은 VPC 환경에서는 사용할 수 없습니다. VPC 환경을 다시 시작하면 홈 디렉터리가 삭제됩니다.

**주의**  
홈 디렉터리 삭제는 홈 디렉터리에 저장된 모든 데이터가 영구적으로 삭제되는 되돌릴 수 없는 작업입니다. 단, 다음 상황에서는 이 옵션을 고려해 볼 수 있습니다.  
파일을 잘못 수정하여 AWS CloudShell 컴퓨팅 환경에 액세스할 수 없습니다. 홈 디렉터리를 삭제하면 기본 설정 AWS CloudShell 으로 돌아갑니다.
에서 모든 데이터를 AWS CloudShell 즉시 제거하려고 합니다. AWS 리전 AWS CloudShell 에서 사용을 중지하면 리전에서 AWS CloudShell 다시 시작하지 않는 한 [보존 기간이 끝날 때 영구 스토리지가 자동으로 삭제됩니다](limits.md#persistent-storage-limitations).
파일을 장기간 보관해야 하는 경우 Amazon S3와 같은 서비스를 고려해 보세요.

1. 쉘 세션을 삭제하려면 **작업**, **삭제**를 선택합니다.

    AWS CloudShell 홈 디렉터리를 삭제하면 AWS CloudShell 환경에 현재 저장된 모든 데이터가 삭제된다는 알림을 받습니다.
**참고**  
이 작업을 취소할 수 없습니다.

1. 삭제를 확인하려면 텍스트 입력 필드에 삭제를 입력한 다음 **삭제**를 선택합니다.

   AWS CloudShell 은 현재 AWS 리전의 모든 활성 세션을 중지합니다. 새 환경을 생성하거나 CloudShell VPC 환경을 설정할 수 있습니다.

1. 새 환경을 생성하려면 **탭 열기**를 선택합니다.

1. CloudShell VPC 환경을 생성하려면 **VPC 환경 생성**을 선택합니다.

   **쉘 세션을 수동으로 종료합니다.**

   명령줄을 사용하여 쉘 세션에서 나가 `exit` 명령을 사용하여 로그아웃할 수 있습니다. 그 다음에 아무 키나 눌러 다시 연결하고 AWS CloudShell을(를) 계속 사용할 수 있습니다.

## 9단계: 파일 코드를 편집하고 명령줄을 사용하여 실행하기
<a name="edit-run"></a>

이 단계에서는 사전 설치된 Vim 편집기를 사용하여 파일 작업을 수행하는 방법을 설명합니다. 그런 다음 명령줄에서 해당 파일을 프로그램으로 실행합니다.

1. 이전 단계에서 업로드한 파일을 편집하려면 다음 명령을 입력합니다.

   `vim add_prog.py`

   쉘 인터페이스가 새로 고쳐져 Vim 편집기가 표시됩니다.

1. Vim에서 파일을 편집하려면 **I** 키를 누릅니다. 이제 프로그램에서 두 개가 아닌 세 개의 숫자를 더하도록 내용을 편집합니다.

   ```
   import sys
   x=int(sys.argv[1])
   y=int(sys.argv[2])
   z=int(sys.argv[3])
   sum=x+y+z
   print("The sum is",sum)
   ```
**참고**  
텍스트를 편집기에 붙여넣고 [안전한 붙여넣기 기능](customizing-cshell.md#safe-paste-enable)을 활성화하면 경고가 표시됩니다. 복사된 여러 줄 텍스트에 악성 스크립트가 포함될 수 있습니다. 안전한 붙여넣기 기능을 사용하면 텍스트를 붙여넣기 전에 전체 텍스트를 확인할 수 있습니다. 텍스트가 안전하다고 판단되면 **붙여넣기** 를 선택합니다.

1. 프로그램을 편집한 후 **Esc**을(를) 눌러 Vim 명령 모드로 들어갑니다. 그 다음 `:wq` 명령을 입력하여 파일을 저장하고 편집기를 종료합니다.

   
**참고**  
Vim 명령 모드를 처음 사용하는 경우, 처음에는 명령 모드와 삽입 모드 사이를 전환하는 것이 어려울 수 있습니다. 명령 모드는 파일을 저장하고 애플리케이션을 종료할 때 사용됩니다. 새 텍스트를 삽입할 때는 삽입 모드가 사용됩니다. 삽입 모드로 들어가려면 및 **I**을(를) 누르고, 명령 모드로 들어가려면 **Esc**을(를) 누릅니다. Vim 및에서 사용할 수 있는 기타 도구에 대한 자세한 내용은 섹션을 AWS CloudShell참조하세요[개발 도구 및 쉘 유틸리티](vm-specs.md#utilities-installed).

1. 메인 명령줄 인터페이스에서 다음 프로그램을 실행하고 입력할 숫자 3개를 지정합니다. 구문은 다음과 같습니다.

   `python3 add_prog.py 4 5 6`

   명령줄에 프로그램 결과 `The sum is 15`이(가) 표시됩니다.

## 10단계: Amazon S3 버킷에 파일을 객체로 추가하는 AWS CLI 데 사용
<a name="s3-put"></a>

이 단계에서는 Amazon S3 버킷을 생성한 다음 **PutObject** 방법으로 코드 파일을 해당 버킷의 객체로 추가합니다.

**참고**  
이 자습서에서는 AWS CLI 에서 AWS CloudShell 를 사용하여 다른 AWS 서비스와 상호 작용하는 방법을 보여줍니다. 이 방법을 사용하면 추가 리소스를 다운로드하거나 설치할 필요가 없습니다. 또한 셸 내에서 이미 인증되었기 때문에 직접 호출을 하기 전에 보안 인증을 구성하지 않아도 됩니다.

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

   ```
   aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1
   ```
**참고**  
`us-east-1` 리전 외부에서 버킷을 생성하는 경우, `LocationConstraint` 파라미터에 `create-bucket-configuration`을(를) 추가하여 리전을 지정합니다. 다음은 구문의 예제입니다.  

   ```
   $ aws s3api create-bucket --bucket my-bucket --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-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://repost.aws/knowledge-center/data-integrity-s3)할 수 있습니다.

## 관련 주제
<a name="related-topics-started"></a>
+ [CloudShell의 CLI에서 AWS 서비스 관리](working-with-aws-cli.md)
+ [로컬 시스템과 CloudShell 간에 여러 파일 복사](multiple-files-upload-download.md)
+ [AWS CloudShell 개념](working-with-aws-cloudshell.md)
+ [AWS CloudShell 경험 사용자 지정Amazon VPC AWS CloudShell 에서 사용](customizing-cshell.md)