AWS CloudShell 시작하기 - AWS CloudShell

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

AWS CloudShell 시작하기

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

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

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

필수 조건

IAM 권한

다음과 같은 AWS 관리형 정책을 IAM ID (예: 사용자, 역할 또는 그룹) 에 AWS CloudShell 연결하여 권한을 얻을 수 있습니다.

  • AWSCloudShellFullAccess: 사용자에게 해당 기능에 대한 전체 액세스 권한을 AWS CloudShell 제공합니다.

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

자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서의 Amazon S3 작업을 참조하십시오.

연습 파일

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

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

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

목차

1단계: 로그인 AWS Management Console

이 단계에는 액세스를 위한 IAM 사용자 정보를 입력하는 작업이 포함됩니다. AWS Management Console 이미 콘솔을 사용하고 있다면 2단계로 건너뛰세요.

  • 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 로그인 자격 증명을 입력하고 로그인을 선택합니다.

    IAM 사용자로 로그인
    Main sign-in page
    • https://aws.amazon.com/console/ 을 엽니다.

    • 이전에 이 브라우저를 사용하여 로그인하지 않은 경우 기본 로그인 페이지가 나타납니다. IAM 사용자를 선택하고 계정 별칭 또는 계정 ID를 입력한 후 다음을 선택합니다.

      IAM 사용자로 로그인
    • 이전에 이미 IAM 사용자로 로그인한 경우. 브라우저가 의 계정 별칭 또는 계정 ID를 기억할 수 있습니다. AWS 계정 그렇다면 IAM 로그인 자격 증명을 입력하고 로그인을 선택합니다.

      IAM 사용자로 로그인
    참고

    루트 사용자로 로그인할 수도 있습니다. 이 ID는 계정 내 모든 AWS 서비스 리소스와 리소스에 대한 완전한 액세스 권한을 가집니다. 일상적인 작업, 심지어 관리 작업에도 루트 사용자를 사용하지 않는 것이 좋습니다. 대신, IAM 사용자를 처음 생성할 때만 루트 사용자를 사용하는 모범 사례를 준수합니다.

2단계: 지역 선택AWS CloudShell, 실행, 셸 선택

이 단계에서는 콘솔 AWS CloudShell 인터페이스에서 실행하고 사용 가능한 AWS 리전 셸을 선택한 다음 원하는 셸 (예: Bash PowerShell, 또는) 로 Z shell 전환합니다.

  1. 작업할 영역을 AWS 리전 선택하려면 지역 선택 메뉴로 이동하여 작업할 지원 AWS 지역을 선택합니다. (사용 가능한 지역은 강조 표시됩니다.)

    중요

    지역을 전환하면 인터페이스가 새로 고쳐지고 선택한 AWS 리전 영역의 이름이 명령줄 텍스트 위에 표시됩니다. 영구 스토리지에 추가하는 모든 파일은 이 스토리지에서만 사용할 수 있습니다. AWS 리전 지역을 변경하면 다른 스토리지와 파일에 액세스할 수 있습니다.

    중요

    콘솔 왼쪽 아래에 있는 CloudShell 에서 실행할 때 선택한 지역에서 사용할 수 CloudShell 없는 경우 기본 지역은 선택한 지역과 가장 가까운 지역으로 설정됩니다. Console Toolbar 기본 지역이 아닌 다른 지역의 리소스를 관리할 권한을 제공하는 명령을 실행할 수 있습니다. 자세한 내용은 작업하기를 참조하십시오AWS 리전.

    유럽 (스페인) 을 eu-south-2 선택했지만 유럽 (스페인) eu-south-2 에서는 사용할 수 CloudShell 없는 경우 기본 지역은 유럽 (스페인) eu-west-1 과 가장 가까운 유럽 (아일랜드) 으로 설정됩니다eu-south-2.

    기본 지역인 유럽 (아일랜드) eu-west-1 의 서비스 할당량을 사용하면 모든 지역에서 동일한 CloudShell 세션이 복원됩니다. 기본 지역은 변경될 수 있으며 CloudShell 브라우저 창에 알림이 표시됩니다.

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

    1. 탐색 막대에서 CloudShell아이콘을 선택합니다.

    2. 검색 상자에 “CloudShell" 을 입력한 다음 선택합니다 CloudShell.

    3. 최근 방문 위젯에서 선택합니다 CloudShell.

    4. 콘솔 왼쪽 하단에 있는 에서 선택합니다 CloudShell. Console Toolbar

      • CloudShell 세션의 높이를 조정하려면 드래그하십시오=.

      • CloudShell 세션을 전체 화면으로 전환하려면 새 브라우저 탭 아이콘에서 열기를 클릭합니다.

    AWS CloudShell인터페이스의 주요 기능.

    명령 프롬프트가 표시되면 셸이 상호 작용할 준비가 된 것입니다.

    참고

    성공적으로 시작하거나 상호 작용하는 AWS CloudShell 데 방해가 되는 문제가 발생하는 경우 에서 해당 문제를 식별하고 해결하는 데 필요한 정보를 확인하세요. AWS CloudShell 문제 해결

  3. 사용할 사전 설치된 셸을 선택하려면 명령줄 프롬프트에 해당 프로그램 이름을 입력합니다.

    Bash

    bash

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

    참고

    Bash시작 시 실행되는 기본 AWS CloudShell 셸입니다.

    PowerShell

    pwsh

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

    Z shell

    zsh

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

    셸 환경에 사전 설치된 버전에 대한 자세한 내용은 AWS CloudShell 컴퓨팅 환경 섹션의 셸 표를 참조하십시오.

3단계: 에서 파일 다운로드 AWS CloudShell

이 단계는 파일 다운로드 프로세스를 안내합니다.

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

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

  2. 파일 다운로드 대화 상자에 다운로드할 파일의 경로를 입력합니다.

    파일 다운로드 경로 지정.
    참고

    다운로드할 파일을 지정할 때 절대 또는 상대 경로를 사용할 수 있습니다. 상대 경로 이름을 사용하면 기본적으로 시작 부분에 자동으로 추가됩니다. /home/cloudshell-user/ mydownload-file따라서 이라는 파일을 다운로드하려면 다음 두 경로가 모두 유효한 경로입니다.

    • 절대 경로: /home/cloudshell-user/subfolder/mydownloadfile.txt

    • 상대 경로: subfolder/mydownloadfile.txt

  3. 다운로드를 선택합니다.

    파일 경로가 올바르면 대화 상자가 표시됩니다. 이 대화 상자를 사용하여 기본 응용 프로그램으로 파일을 열 수 있습니다. 또는 로컬 컴퓨터의 폴더에 파일을 저장할 수 있습니다.

참고

CloudShell 에서 실행할 때는 다운로드 옵션을 사용할 수 없습니다Console Toolbar. CloudShell 콘솔에서 또는 Chrome 웹 브라우저를 사용하여 파일을 다운로드할 수 있습니다. 파일 다운로드 방법에 대한 자세한 내용은 3단계: 파일 다운로드를 참조하십시오AWS CloudShell.

4단계: 파일 업로드 AWS CloudShell

이 단계에서는 파일을 업로드한 다음 홈 디렉터리의 새 디렉터리로 이동하는 방법을 설명합니다.

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

    pwd

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

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

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

  3. 찾아보기를 선택합니다.

  4. 시스템의 파일 업로드 대화 상자에서 이 자습서를 위해 만든 텍스트 파일 (add_prog.py) 을 선택하고 [열기] 를 선택합니다.

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

    진행률 표시줄은 업로드를 추적합니다. 업로드가 성공하면 홈 디렉터리의 루트에 add_prog.py 추가되었다는 확인 메시지가 나타납니다.

  6. 파일용 디렉터리를 만들려면 디렉터리 만들기 명령어:를 입력합니다. mkdir mysub_dir

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

    mv add_prog.py mysub_dir.

  8. 작업 디렉터리를 새 디렉터리로 변경하려면 를 입력합니다cd mysub_dir.

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

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

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

5단계: 에서 파일 제거 AWS CloudShell

이 단계에서는 에서 파일을 제거하는 방법을 설명합니다AWS CloudShell.

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

    rm my-file-for-removal

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

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

    find -type f -name '*.pdf' -delete
참고

특정 버전에서 사용을 AWS CloudShell 중단한다고 가정해 보겠습니다. AWS 리전 그러면 해당 지역의 영구 저장소에 있는 데이터가 지정된 기간이 지나면 자동으로 제거됩니다. 자세한 내용은 영구 저장소를 참조하십시오.

6단계: 홈 디렉터리 백업 생성

  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"
    2. 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"
  2. 백업 파일을 외부로 전송 CloudShell

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

    1. 로컬 컴퓨터에 백업 파일을 다운로드합니다.

      이전 단계에서 만든 파일을 다운로드할 수 있습니다. 에서 CloudShell 파일을 다운로드하는 방법에 대한 자세한 내용은 파일 다운로드 위치를 참조하십시오AWS CloudShell.

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

    2. 백업 파일을 S3로 전송합니다.

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

      aws s3 mb s3://${BUCKET_NAME}

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

      aws s3 cp ${HOME_BACKUP_DIR}/home.tar.gz s3://${BUCKET_NAME}
      참고

      데이터 전송 요금이 부과될 수 있습니다.

  3. S3 버킷에 직접 백업

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

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

7단계: 셸 세션 재시작

참고

보안 조치로 오랫동안 키보드나 포인터를 사용하여 셸과 상호 작용하지 않으면 세션이 자동으로 중지됩니다. 장기 실행 세션도 자동으로 중지됩니다. 자세한 정보는 셸 세션을 참조하세요.

  1. 셸 세션을 다시 시작하려면 [작업], [다시 시작 AWS CloudShell] 을 선택합니다.

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

  2. 확인하려면 [Restart] 를 선택합니다.

    인터페이스에 CloudShell 컴퓨팅 환경이 중지되고 있다는 메시지가 표시됩니다. 환경이 중지되었다가 다시 시작된 후 새 세션에서 명령줄 작업을 시작할 수 있습니다.

    참고

    환경을 다시 시작하는 데 몇 분 정도 걸릴 수 있는 경우도 있습니다.

8단계: 셸 세션 홈 디렉터리 삭제

주의

홈 디렉터리 삭제는 홈 디렉터리에 저장된 모든 데이터가 영구적으로 삭제되는 되돌릴 수 없는 작업입니다. 하지만 다음과 같은 상황에서는 이 옵션을 고려해 볼 수 있습니다.

  • 파일을 잘못 수정하여 AWS CloudShell 컴퓨팅 환경에 액세스할 수 없습니다. 홈 디렉터리를 삭제하면 기본 설정으로 AWS CloudShell 돌아갑니다.

  • 모든 데이터를 AWS CloudShell 즉시 제거하고 싶을 것입니다. 특정 AWS CloudShell 지역에서 사용을 중지하면 AWS 해당 지역에서 AWS CloudShell 다시 시작하지 않는 한 보존 기간 종료 시 영구 스토리지가 자동으로 삭제됩니다.

파일을 장기간 보관해야 하는 경우 Amazon S3 또는 같은 서비스를 고려해 보십시오 CodeCommit.

  1. 셸 세션을 삭제하려면 작업, AWS CloudShell 홈 디렉터리 삭제를 선택합니다.

    AWS CloudShell홈 디렉터리를 삭제하면 현재 AWS CloudShell 환경에 저장된 모든 데이터가 삭제된다는 알림이 표시됩니다.

    참고

    이 작업을 취소할 수 없습니다.

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

    홈 디렉터리 삭제 버튼 활성화

    AWS는 현재의 모든 활성 세션을 CloudShell AWS 리전 중지하고 즉시 새 환경을 만듭니다.

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

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

9단계: 파일 코드를 편집하고 명령줄을 사용하여 실행

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

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

    vim add_prog.py

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

  2. 에서 파일을 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)
    참고

    텍스트를 편집기에 붙여넣고 안전 붙여넣기 기능을 활성화한 경우 경고가 표시됩니다. 복사된 여러 줄 텍스트에는 악성 스크립트가 포함될 수 있습니다. 안전 붙여넣기 기능을 사용하면 텍스트를 붙여넣기 전에 전체 텍스트를 확인할 수 있습니다. 텍스트가 안전하다고 생각되면 [붙여넣기] 를 선택합니다.

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

    참고

    Vim명령 모드를 처음 사용하는 경우 처음에는 명령 모드와 삽입 모드 사이를 전환하는 것이 어려울 수 있습니다. 명령 모드는 파일을 저장하고 응용 프로그램을 종료할 때 사용됩니다. 새 텍스트를 삽입할 때는 삽입 모드가 사용됩니다. 삽입 모드로 들어가려면 및 키를 누르고I, 명령 모드로 들어가려면 를 누릅니다Esc. 에서 AWS CloudShell 사용할 수 있는 기타 도구 Vim 및 기타 도구에 대한 자세한 내용은 을 참조하십시오개발 도구 및 쉘 유틸리티.

  4. 기본 명령줄 인터페이스에서 다음 프로그램을 실행하고 입력에 사용할 세 개의 숫자를 지정합니다. 구문은 다음과 같습니다.

    python3 add_prog.py 4 5 6

    명령줄에는 프로그램 출력이 표시됩니다The sum is 15.

10단계: 파일을 Amazon S3 버킷의 객체로 AWS CLI 추가하는 데 사용합니다.

이 단계에서는 Amazon S3 버킷을 만든 다음 PutObject메서드를 사용하여 코드 파일을 해당 버킷의 객체로 추가합니다.

참고

대부분의 경우 소프트웨어 파일을 버전 관리 리포지토리에 CodeCommit 커밋하는 등의 서비스를 사용할 수 있습니다. 이 자습서에서는 in을 사용하여 AWS CLI 다른 AWS 서비스와 상호 작용하는 AWS CloudShell 방법을 보여줍니다. 이 방법을 사용하면 추가 리소스를 다운로드하거나 설치할 필요가 없습니다. 또한 셸 내에서 이미 인증되었기 때문에 직접 호출을 하기 전에 보안 인증을 구성하지 않아도 됩니다.

  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" }
    참고

    버킷 이름 지정 규칙을 준수하지 않으면 다음 오류가 표시됩니다. CreateBucket 작업을 호출하는 동안 오류가 발생했습니다 (InvalidBucketName): 지정된 버킷이 유효하지 않습니다.

  2. 파일을 업로드하고 방금 만든 버킷에 파일을 객체로 추가하려면 메서드를 호출합니다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에 업로드된 객체의 무결성을 확인할 수 있습니다.