

# AWS Command Line Interface이란 무엇인가요?
<a name="cli-chap-welcome"></a>

AWS Command Line Interface(AWS CLI)는 명령줄 셸의 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다. 최소한의 구성으로 AWS CLI를 사용하면 터미널 프로그램에 있는 명령 프롬프트에서 브라우저 기반 AWS Management Console에서 제공하는 것과 동일한 기능을 구현하는 명령을 실행할 수 있습니다.
+ **Linux 셸** - [https://www.gnu.org/software/bash/](https://www.gnu.org/software/bash/), [http://www.zsh.org/](http://www.zsh.org/), [https://www.tcsh.org/](https://www.tcsh.org/) 등의 일반적인 셸 프로그램을 사용하여 Linux 또는 macOS에서 명령을 실행합니다.
+ **Windows 명령줄** - Windows의 경우 PowerShell 또는 Windows 명령 프롬프트에서 명령을 실행합니다.
+ **원격** – PuTTY 또는 SSH와 같은 원격 터미널 프로그램이나 AWS Systems Manager를 통해 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 명령을 실행합니다.

AWS Management Console의 모든 IaaS(서비스로의 인프라) AWS 관리, 관리 및 액세스 함수는 AWS API 및 AWS CLI에서 사용 가능합니다. 새 AWS IaaS 기능 및 서비스는 출시할 때 또는 출시 후 180일 이내에 API 및 CLI를 통해 전체 AWS Management Console 기능을 제공합니다.

AWS CLI를 사용하면 AWS 서비스의 퍼블릭 API를 직접 액세스할 수 있습니다. AWS CLI를 사용하여 서비스의 기능을 살펴보고 리소스를 관리할 셸 스크립트를 개발할 수 있습니다. 하위 수준 API와 상응한 명령 외에 여러 AWS 서비스에서도 AWS CLI에 대한 사용자 지정 기능을 제공합니다. 사용자 지정에는 복잡한 API와 서비스의 사용을 간소화하는 상위 수준 명령이 포함될 수 있습니다.

## AWS CLI 버전 2 정보
<a name="welcome-versions-v2"></a>

AWS CLI 버전 2는 AWS CLI의 최신 메이저 버전이며 모든 최신 기능을 지원합니다. 버전 2에 도입된 일부 기능은 버전 1과 백포트되지 않으므로 이러한 기능에 액세스하려면 업그레이드해야 합니다. 버전 1과 “호환되지 않는” 일부 변경 사항이 있으므로 스크립트를 변경해야 할 수 있습니다. 버전 2의 주요 변경 사항 목록은 [AWS CLI 버전 2의 마이그레이션 가이드](cliv2-migration.md) 섹션을 참조하세요.

AWS CLI 버전 2는 번들 설치 관리자로만 설치할 수 있습니다. 이러한 패키지는 패키지 관리자에 포함되어 있을 수 있지만 AWS에서 생성되거나 관리되지 않으며 지원되지 않는 비공식 패키지입니다. 이 가이드에 설명된 대로 공식 AWS CLI 배포 지점을 통해서 만 AWS를 설치하는 것이 좋습니다.

AWS CLI 버전 2를 설치하려면 [최신 버전의 AWS CLI 설치 또는 업데이트](getting-started-install.md) 섹션을 참조하세요.

다음 명령을 사용하여 현재 설치된 버전을 점검하세요.

```
$ aws --version
aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
```

버전 기록은 *GitHub*의 [AWS CLI 버전 2 변경 로그](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)를 참조하세요.

## SDK 메이저 버전에 대한 유지 관리 및 지원
<a name="sdks-major-versions-maintenance-support"></a>

SDK 메이저 버전 및 기본 종속성의 유지 관리 및 지원에 대한 자세한 내용은 [AWS SDK 및 도구 참조 안내서](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)에서 다음 내용을 참조하세요.
+ [AWS SDK 및 도구 유지 관리 정책](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html)
+ [AWS SDK 및 도구 버전 지원 매트릭스](https://docs.aws.amazon.com/sdkref/latest/guide/version-support-matrix.html)

## Amazon Web Services에 대하여
<a name="about-aws"></a>

Amazon Web Services(AWS)는 애플리케이션을 개발할 때 개발자들이 활용할 수 있는 디지털 인프라 서비스의 컬렉션입니다. 이러한 서비스에는 컴퓨팅, 스토리지, 데이터베이스, 애플리케이션 동기화(메시징 및 대기열)가 포함됩니다. AWS에서는 선불형 종량제 서비스 모델을 사용합니다. 사용자 또는 애플리케이션이 사용하는 서비스에 대해서만 청구됩니다. 또한 AWS를 프로토타입 생성 및 실험용 플랫폼으로 더욱 쉽게 이용할 수 있도록 AWS는 프리 티어를 제공합니다. 이 계층에서 특정 사용 수준 미만의 서비스는 무료입니다. AWS 비용 및 프리 티어에 대한 자세한 내용은 [AWS 프리 티어](https://aws.amazon.com/free/)를 참조하세요. AWS 계정을 가져오려면 [AWS 홈 페이지](https://aws.amazon.com/)를 방문하여 **AWS 계정 생성**을 선택합니다.

# AWS CLI 사용 설명서의 예제 관련 정보
<a name="welcome-examples"></a>

이 안내서의 AWS Command Line Interface(AWS CLI) 예제는 다음과 같은 규칙에 따라 서식이 지정됩니다.
+ **프롬프트** - 명령 프롬프트는 Linux 프롬프트를 사용하며 (`$ `)로 표시됩니다. Windows와 관련된 명령의 경우 `C:\>`가 프롬프트로 사용됩니다. 명령을 입력할 때 프롬프트를 포함시키지 마세요.
+ **디렉터리** - 특정 디렉터리에서 명령을 실행해야 하는 경우 프롬프트 기호 앞에 디렉터리 이름이 표시됩니다.
+ **사용자 입력** - 명령줄에 입력하는 명령 텍스트는 **user input**으로 형식이 지정됩니다.
+ **대체 가능한 텍스트** – 선택하는 리소스의 이름 또는 명령에 포함시켜야 하는 AWS 서비스에서 생성된 ID를 포함한 변수 텍스트는 *대체 가능한 텍스트*로 서식 지정됩니다. 특정 키보드 입력이 필요한 여러 줄 명령에서는 키보드 명령도 대체 가능한 텍스트로 표시될 수 있습니다.
+ **출력** – AWS 서비스에서 반환되는 출력은 사용자 입력 아래에 `computer output` 형식으로 표시됩니다.

다음 **aws configure** 명령 예제는 사용자 입력, 대체 가능한 텍스트 및 출력을 보여줍니다.

1. 명령줄에서 **aws configure**를 입력한 다음 **Enter** 키를 누릅니다.

1. AWS CLI는 추가 정보를 입력하라고 알리는 텍스트 줄을 출력합니다.

1. 각 액세스 키를 차례로 입력한 다음 **Enter(입력)**를 누릅니다.

1. 그런 다음, 표시된 형식으로 AWS 리전 이름을 입력하고 **Enter**를 누른 다음 마지막으로 **Enter**를 눌러 출력 형식 설정을 건너뜁니다.

1. 마지막 **Enter(입력)** 명령은 해당 줄에 대한 사용자 입력이 없기 때문에 대체 가능한 텍스트로 표시됩니다.

   ```
   $ aws configure
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-west-2
   Default output format [None]: ENTER
   ```

다음의 예는 출력과 간단한 명령을 보여줍니다. 이 예제를 사용하려면 명령의 전체 텍스트를 입력하고(프롬프트 다음에 강조 표시된 텍스트) **Enter(입력)**를 누릅니다. 보안 그룹 이름 *`my-sg`*를 원하는 보안 그룹 이름으로 바꿀 수 있습니다. 중괄호를 포함한 JSON 문서는 출력입니다. 텍스트 또는 테이블 형식으로 출력할 CLI를 구성하는 경우 출력이 다르게 서식 지정됩니다. 기본 출력 형식은 [JSON](https://json.org)입니다.

```
$ aws ec2 create-security-group --group-name my-sg --description "My security group"
{
    "GroupId": "sg-903004f8"
}
```

# AWS CLI에 대한 추가 설명서 및 리소스
<a name="welcome-resources"></a>

## AWS CLI 설명서 및 리소스
<a name="welcome-resources-cli"></a>

이 사용 설명서 외에도 AWS CLI를 사용할 때 유용한 온라인 리소스는 다음과 같습니다.
+ [AWS CLI 버전 2 참조 안내서](https://docs.aws.amazon.com/cli/latest/reference/index.html)
+ [AWS CLI Bash 스크립팅 코드 예제 리포지토리](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli). 오픈 소스 Bash 스크립팅 예제. Bash 스크립팅 예제는 *GitHub*의 [AWS 코드 예제 리포지토리](https://github.com/awsdocs/aws-doc-sdk-examples)에서 호스팅됩니다.
+ [AWS CLI GitHub 리포지토리](https://github.com/aws/aws-cli) **GitHub에서 AWS CLI의 소스 코드를 보고 포크할 수 있습니다. **GitHub의 사용자 커뮤니티에 참여하여 피드백을 제공하고 기능을 요청하며 자체 코드를 기고할 수 있습니다\$1 여기에는 AWS CLI 설명서의 명령 예제 보기 및 제공이 포함됩니다.
+ [AWS CLI 별칭 예제 리포지토리](https://github.com/awslabs/awscli-aliases) **GitHub에서 AWS CLI 별칭 예제를 보고 포크할 수 있습니다.
+ <a name="latest-guide"></a>[AWS CLI 버전 2 변경 로그](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1)

## 기타 AWS SDK 및 도구
<a name="welcome-resources-sdk"></a>

사용 사례에 따라 필요에 더 적합한 AWS SDK 또는 도구 중 하나를 선택할 수 있습니다.
+ [AWS SDK 및 도구 참조 안내서](https://docs.aws.amazon.com/sdkref/latest/guide/)
+ [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp)
+ [AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go/api/)
+ [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/)
+ [AWS SDK for JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/)
+ [AWS SDK for Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin)
+ [AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/)
+ [AWS SDK for Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)
+ [AWS SDK for PHP](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/)
+ [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/)
+ [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/)
+ [AWS SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust)
+ [AWS SDK for SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap)
+ [AWS SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift)
+ [AWS Amplify](https://docs.amplify.aws/swift/)