

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

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

이 섹션의 주제를 검토하고 완료 AWS SAM 하여를 시작합니다. 에서는 AWS 계정 설정, IAM 사용자 생성, 키 액세스 생성, 설치 및 구성에 대한 자세한 지침을 [AWS SAM 사전 조건](prerequisites.md) 제공합니다 AWS SAM CLI. 필수 조건을 완료한 후, 개발 접근 방식을 선택할 수 있습니다.
+ [AWS SAM CLI 설치](install-sam-cli.md)을(를) Linux, Windows 및 macOS 운영 체제에서 수행할 수 있습니다.
+ 통합 디버깅 및 테스트 기능을 갖춘 시각적 개발 경험을 위해 [VS Code Toolkit을 사용하여 AWS SAM을 시작합니다](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/sam-get-started.html).

설치가 완료되면 선택적으로 AWS SAM Hello World 자습서를 살펴볼 수 있습니다. 이 자습서에서는 AWS SAM을 사용하여 기본 서버리스 애플리케이션을 생성하는 프로세스를 안내합니다. 자습서를 완료한 후에는 [사용 방법 AWS Serverless Application Model (AWS SAM)](chapter-using-sam.md)에 자세히 설명된 개념을 검토할 준비가 됩니다.

**Topics**
+ [AWS SAM 사전 조건](prerequisites.md)
+ [AWS SAM CLI 설치](install-sam-cli.md)
+ [자습서:를 사용하여 Hello World 애플리케이션 배포 AWS SAM](serverless-getting-started-hello-world.md)
+ [Lambda 함수를 AWS SAM 애플리케이션으로 변환](convert-lambda-to-sam.md)

# AWS SAM 사전 조건
<a name="prerequisites"></a>

 AWS Serverless Application Model 명령줄 인터페이스()를 설치하고 사용하기 전에 다음 사전 조건을 완료합니다AWS SAM CLI.

를 사용하려면 다음이 AWS SAM CLI필요합니다.
+  AWS 계정, AWS Identity and Access Management (IAM) 자격 증명 및 IAM 액세스 키 페어.
+ 자격 AWS 증명을 구성하는 AWS Command Line Interface (AWS CLI)입니다.

**Topics**
+ [1단계: AWS 계정 가입](#prerequisites-sign-up)
+ [2단계: IAM 사용자 계정 생성](#prerequisites-create-user)
+ [3단계: 액세스 키 ID 및 비밀 액세스 키 생성](#prerequisites-create-keys)
+ [4단계: 설치 AWS CLI](#prerequisites-install-cli)
+ [5단계: AWS CLI 를 사용하여 AWS 자격 증명 구성](#prerequisites-configure-credentials)
+ [6단계: (선택 사항) VS Code용 AWS 도구 키트 설치](#prerequisites-install-vscode)
+ [다음 단계](#prerequisites-next-steps)

## 1단계: AWS 계정 가입
<a name="prerequisites-sign-up"></a>

이 없는 경우 다음 단계를 AWS 계정완료하여 생성합니다.

**에 가입하려면 AWS 계정**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따르세요.

   등록 절차 중 전화 또는 텍스트 메시지를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

   에 가입하면 AWS 계정*AWS 계정 루트 사용자*이 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 수행하는 것입니다.

## 2단계: IAM 사용자 계정 생성
<a name="prerequisites-create-user"></a>

다음 옵션 중 하나를 선택하여 관리 사용자를 생성합니다.


****  

| 관리자를 관리하는 방법 한 가지 선택 | 목적 | By | 다른 방법 | 
| --- | --- | --- | --- | 
| IAM Identity Center에서 (권장) | 단기 보안 인증 정보를 사용하여 AWS에 액세스합니다.이는 보안 모범 사례와 일치합니다. 모범 사례에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM의 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)를 참조하세요. | AWS IAM Identity Center 사용 설명서의 [시작하기](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html) 지침을 따릅니다. | AWS Command Line Interface 사용 설명서에서 [사용하도록 AWS CLI 를 구성 AWS IAM Identity Center](https://docs.aws.amazon.com//cli/latest/userguide/cli-configure-sso.html)하여 프로그래밍 방식 액세스를 구성합니다. | 
| IAM에서 (권장되지 않음) | 장기 보안 인증 정보를 사용하여 AWS에 액세스합니다. | IAM 사용 설명서의 [비상 액세스를 위한 IAM 사용자 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-emergency-iam-user.html)에 나와 있는 지침을 따르세요. | IAM 사용 설명서에 나온 [IAM 사용자의 액세스 키 관리](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html)를 수행하여 프로그래밍 방식의 액세스를 구성합니다. | 

## 3단계: 액세스 키 ID 및 비밀 액세스 키 생성
<a name="prerequisites-create-keys"></a>

CLI 액세스를 위해서는 액세스 키 ID 및 비밀 액세스 키가 필요합니다. 가능하다면 장기 액세스 키 대신 임시 보안 인증 정보를 사용하세요. 임시 보안 인증도 액세스 키 ID와 비밀 액세스 키로 구성되지만 보안 인증이 만료되는 시간을 나타내는 보안 토큰이 포함되어 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 리소스에서 임시 자격 증명 사용을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) 참조하세요.

사용자는 AWS 외부에서와 상호 작용하려는 경우 프로그래밍 방식으로 액세스해야 합니다 AWS Management Console. 프로그래밍 방식 액세스를 부여하는 방법은에 액세스하는 사용자 유형에 따라 다릅니다 AWS.

사용자에게 프로그래밍 방식 액세스 권한을 부여하려면 다음 옵션 중 하나를 선택합니다.


****  

| 프로그래밍 방식 액세스가 필요한 사용자 | 목적 | 방법 | 
| --- | --- | --- | 
| IAM | (권장) 콘솔 자격 증명을 임시 자격 증명으로 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/prerequisites.html)  | 
|  작업 인력 ID (IAM Identity Center에서 관리되는 사용자)  | 임시 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/prerequisites.html)  | 
| IAM | 임시 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. | IAM 사용 설명서의 [AWS 리소스에서 임시 자격 증명 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)의 지침을 따릅니다. | 
| IAM | (권장되지 않음)장기 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/prerequisites.html)  | 

## 4단계: 설치 AWS CLI
<a name="prerequisites-install-cli"></a>

 AWS CLI 는 명령줄 셸에서 명령을 AWS 서비스 사용하여와 상호 작용할 수 있는 오픈 소스 도구입니다. 에는 AWS SAM CLI 자격 증명 구성과 같은 활동에 AWS CLI 가 필요합니다. 에 대한 자세한 내용은 *AWS Command Line Interface 사용 설명서*의 [란 무엇입니까 AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)를 AWS CLI참조하세요.

를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [의 최신 버전 설치 또는 업데이트를 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) AWS CLI참조하세요.

## 5단계: AWS CLI 를 사용하여 AWS 자격 증명 구성
<a name="prerequisites-configure-credentials"></a>

**IAM Identity Center로 자격 증명을 구성하려면**
+ IAM Identity Center로 자격 증명을 구성하려면 [Configure your profile with the AWS configure sso 마법사를 참조하세요](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html#cli-configure-sso-configure).

**를 사용하여 자격 증명을 구성하려면 AWS CLI**

1. 명령줄에서 `aws configure`명령을 실행합니다.

1. 다음을 구성합니다. 각 링크를 선택하여 자세히 알아보십시오.

   1. [ 액세스 키 ID](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds)

   1. [ 보안 액세스 키](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds)

   1. [AWS 리전](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-region)

   1. [ 출력 형식](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-format)

   다음 예제는 샘플 값을 보여줍니다.

   ```
   $ 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]: json
   ```

는이 정보를 `credentials` 및 `config` 파일의 라는 *프로필*(설정 모음)`default`에 AWS CLI 저장합니다. 이 파일은 `.aws` 디렉터리에 위치합니다. 기본적으로이 프로필의 정보는 사용할 프로필을 명시적으로 지정하지 않는 AWS CLI 명령을 실행할 때 사용됩니다. `credentials` 파일 사용에 대한 자세한 내용은 *AWS Command Line Interface 사용자 가이드*의 [구성 및 보안 인증 파일 설정](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)을 잠조하세요.

기존 구성 및 보안 인증 파일 사용과 같은 보안 인증 구성에 대한 자세한 내용은 *AWS Command Line Interface 사용자 가이드*의 [빠른 설정](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)을 잠조하세요.

## 6단계: (선택 사항) VS Code용 AWS 도구 키트 설치
<a name="prerequisites-install-vscode"></a>

통합 개발 환경을 선호하는 개발자를 위해 AWS Toolkit for VS Code는 시각적 디버깅, CodeLens 통합, 간소화된 배포 워크플로 등 서버리스 개발을 위한 강력한 기능을 제공합니다.

**VS Code 개발을 위한 사전 조건**
+ 시스템에 Visual Studio Code(버전 1.73.0 이상)가 설치되어 있어야 합니다
+ VS Code용 YAML 언어 지원 확장

**AWS Toolkit for VS Code를 설치하려면**

1. Visual Studio Code를 엽니다

1. 확장 보기(Ctrl\$1Shift\$1X 또는 Cmd\$1Shift\$1X)를 엽니다

1. "AWS Toolkit" 검색

1. Amazon Web Services에서 "AWS Toolkit" 확장 프로그램 설치

1. Red Hat의 "YAML" 확장(SAM 템플릿 CodeLens 기능에 필요)을 설치합니다

** AWS SAM에서 VS Code 사용의 이점**
+ 시각적 디버깅: 로컬에서 Lambda 함수에 중단점을 설정하고 단계별로 실행합니다
+ CodeLens 통합: SAM 템플릿에서 직접 함수를 빌드, 배포 및 간접 호출합니다
+ 통합 터미널: 편집기에서 나가지 않고 AWS SAM AWS CLI 명령에 액세스
+ 템플릿 유효성 검사: SAM 템플릿에 대한 실시간 유효성 검사 및 IntelliSense

VS Code에서 AWS 자격 증명을 구성하는 방법에 대한 자세한 내용은 AWS Toolkit for VS Code 사용 설명서의 자격 [ 증명 설정을](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html) 참조하세요.

## 다음 단계
<a name="prerequisites-next-steps"></a>
+ 이제를 설치하고 AWS SAM CLI 사용을 시작할 준비가 되었습니다 AWS SAM. 를 설치하려면 단원을 AWS SAM CLI참조하십시오[AWS SAM CLI 설치](install-sam-cli.md).
+ 서버리스 개발을 위해 Visual Studio 코드를 설정하려면 [VS Code용 AWS 도구 키트 설정을 참조하세요](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setting-up.html).

# AWS SAM CLI 설치
<a name="install-sam-cli"></a>

의 지침에 따라 지원되는 운영 체제에 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)의 최신 릴리스를 설치합니다[4단계: 설치 AWS CLI](prerequisites.md#prerequisites-install-cli).

야간 빌드를 업그레이드 AWS SAM CLI, 제거 또는 관리하는 방법을 포함하여 현재 설치된 버전의 관리에 대한 자세한 내용은 섹션을 참조하세요[AWS SAM CLI 버전 관리](manage-sam-cli-versions.md).

**AWS SAM CLI을 처음 설치하시나요?**  
진행하기 전에 이전 섹션의 모든 [사전 요구 사항](prerequisites.md)을 완료하십시오. 여기에는 다음이 포함됩니다.  
 AWS 계정에 가입합니다.
에 대한 보안 액세스 설정 AWS.
액세스 키 ID 및 보안 액세스 키 생성
설치 AWS CLI.
 AWS 자격 증명 구성.

**Topics**
+ [AWS SAMCLI의 설치](#install-sam-cli-instructions)
+ [설치 오류 문제 해결](#sam-cli-troubleshoot-install)
+ [다음 단계](#install-sam-cli-next-steps)
+ [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md)

## AWS SAMCLI의 설치
<a name="install-sam-cli-instructions"></a>

**참고**  
2023년 9월부터 AWS 는 더 이상 AWS SAM CLI ()에 대한 AWS 관리형 Homebrew 설치 프로그램을 유지 관리하지 않습니다`aws/tap/aws-sam-cli`. Homebrew를 사용하여를 설치하고 관리하는 경우 다음 옵션을 참조하세요 AWS SAM CLI.  
Homebrew을 계속 사용하려면 커뮤니티 관리 설치관리자 프로그램을 사용할 수 있습니다. 자세한 내용은 [AWS SAM로 CLI Homebrew 관리](manage-sam-cli-versions.md#manage-sam-cli-versions-homebrew)을 참조하십시오
이 페이지에 설명된 자사 설치 방법 중 하나를 사용하는 것이 좋습니다. 이러한 방법 중 하나를 사용하기 전에 [Homebrew에서 전환 ](manage-sam-cli-versions.md#manage-sam-cli-versions-switch)을 참조하세요.
자세한 내용은 [릴리스 버전: 1.121.0](https://github.com/aws/aws-sam-cli/releases)을 참조하세요.

 를 설치하려면 운영 체제의 지침을 AWS SAM CLI따릅니다.

### Linux
<a name="install-sam-cli-instructions-linux"></a>

------
#### [ x86\$164 - command line installer ]

1. 선택한 디렉터리에 [AWS SAM CLI .zip file](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip)을 복사합니다.

1. **(선택 사항)** 설치 전에 설치관리자 프로그램의 무결성을 확인할 수 있습니다. 지침은 [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md) 섹션을 참조하세요.

1. 선택한 디렉터리에 설치 파일의 압축을 풉니다. 다음은 `sam-installation` 하위 디렉토리의 사용을 보여주는 예입니다.
**참고**  
운영 체제에 기본 제공 **unzip** 명령이 없는 경우 이와 동등한 명령을 사용하세요.

   ```
   $ unzip aws-sam-cli-linux-x86_64.zip -d sam-installation
   ```

1.  AWS SAMCLI를 실행하여 실행 `install` 파일을 설치합니다. 이 실행 파일은 이전 단계에서 사용된 디렉터리에 위치합니다. 다음은 `sam-installation` 하위 디렉토리의 사용을 보여주는 예입니다.

   ```
   $ sudo ./sam-installation/install
   ```

1. 설치를 확인합니다.

   ```
   $ sam --version
   ```

   설치에 성공했는지 확인하려면 출력에서 다음 괄호 안의 텍스트가 사용 가능한 최신 버전으로 대체되었는지 확인합니다.

   ```
    SAM CLI, <latest version>
   ```

------
#### [ arm64 - command line installer ]

1. 선택한 디렉터리에 [AWS SAM CLI .zip file](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-arm64.zip)을 복사합니다.

1. **(선택 사항)** 설치 전에 설치관리자 프로그램의 무결성을 확인할 수 있습니다. 지침은 [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md) 섹션을 참조하세요.

1. 선택한 디렉터리에 설치 파일의 압축을 풉니다. 다음은 `sam-installation` 하위 디렉토리의 사용을 보여주는 예입니다.
**참고**  
운영 체제에 기본 제공 **unzip** 명령이 없는 경우 이와 동등한 명령을 사용하세요.

   ```
   $ unzip aws-sam-cli-linux-arm64.zip -d sam-installation
   ```

1.  AWS SAMCLI를 실행하여 실행 `install` 파일을 설치합니다. 이 실행 파일은 이전 단계에서 사용된 디렉터리에 위치합니다. 다음은 `sam-installation` 하위 디렉토리의 사용을 보여주는 예입니다.

   ```
   $ sudo ./sam-installation/install
   ```

1. 설치를 확인합니다.

   ```
   $ sam --version
   ```

   설치에 성공했는지 확인하려면 다음과 같은 출력에서 괄호 안의 텍스트가 최신 SAM CLI 버전으로 대체되었는지 확인합니다.

   ```
    SAM CLI, <latest version>
   ```

------

### macOS
<a name="install-sam-cli-instructions-macos"></a>

#### 설치 단계
<a name="install-sam-cli-instructions-macos-steps"></a>

패키지 설치 관리자를 사용하여를 설치합니다 AWS SAM CLI. 또한 패키지 설치관리자 프로그램에서는 **GUI**와 **명령줄**의 두 가지 설치 방법 중에서 선택할 수 있습니다. **모든 사용자**를 위해 설치하거나 **현재 사용자**만을 위해 설치할 수 있습니다. 모든 사용자를 대상으로 설치하려면 수퍼유저 인증이 필요합니다.

**참고**  
AWS SAM CLI는 MacOS 13.x 이전 MacOS 버전을 지원하지 않습니다. 지원되는 MacOS 버전으로 업그레이드하거나를 사용하여 AWS SAM CLI를 설치합니다Homebrew.

------
#### [ GUI - All users ]

**패키지 설치관리자 프로그램을 다운로드하여 AWS SAM CLI를 설치하려면**
**참고**  
 이전에 Homebrew 혹은 pip를 통해 AWS SAMCLI를 설치한 경우, 이를 먼저 제거해야 합니다. 지침은 [AWS SAM CLI 제거](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall) 섹션을 참조하세요.

1.  선택한 디렉터리에 macOS `pkg`를 다운로드합니다.
   +  **Intel 프로세서를 실행하는 Mac의 경우 x86\$164 선택** – [ aws-sam-cli-macos-x86\$164.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Apple Silicon을 실행하는 Mac의 경우 arm64 선택** – [ aws-sam-cli-macos-arm64.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**참고**  
설치 전에 설치관리자 프로그램의 무결성을 확인하는 옵션이 있습니다. 지침은 [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md) 섹션을 참조하세요.

1.  다운로드한 파일을 실행하고 화면에 나타난 지침에 따라 **소개**, **Read Me** 및 **라이선스** 단계를 계속 진행합니다.

1.  **대상 선택**에서 **이 컴퓨터의 모든 사용자를 위한 설치**를 선택합니다.

1.  **설치 유형**에서 AWS SAMCLI을 설치할 위치를 선택하고 **설치**를 누릅니다. 권장되는 기본 위치는 `/usr/local/aws-sam-cli`입니다.
**참고**  
 **sam** 명령으로 AWS SAMCLI를 간접 호출하기 위해 설치관리자 프로그램은 `/usr/local/bin/sam`와 `/usr/local/aws-sam-cli/sam` 또는 귀하가 선택한 설치 폴더 중 하나 간에 심링크를 자동으로 생성합니다.

1.  AWS SAMCLI가 설치하면 **설치 성공** 메시지가 표시됩니다. **닫기**를 누릅니다.

**성공적으로 설치되었는지 확인하려면**
+  다음을 실행하여 AWS SAMCLI가 제대로 설치되었고 심링크가 구성되어 있는지 확인합니다.

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ GUI - Current user ]

**AWS SAM CLI를 다운로드하여 설치하려면**
**참고**  
 이전에 Homebrew 혹은 pip를 통해 AWS SAMCLI를 설치한 경우, 이를 먼저 제거해야 합니다. 지침은 [AWS SAM CLI 제거](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall) 섹션을 참조하세요.

1.  선택한 디렉터리에 macOS `pkg`를 다운로드합니다.
   +  **Intel 프로세서를 실행하는 Mac의 경우 x86\$164 선택** – [ aws-sam-cli-macos-x86\$164.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Apple Silicon을 실행하는 Mac의 경우 arm64 선택** – [ aws-sam-cli-macos-arm64.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**참고**  
설치 전에 설치관리자 프로그램의 무결성을 확인하는 옵션이 있습니다. 지침은 [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md) 섹션을 참조하세요.

1.  다운로드한 파일을 실행하고 화면에 나타난 지침에 따라 **소개**, **Read Me** 및 **라이선스** 단계를 계속 진행합니다.

1.  **대상 선택**에서 **나만을 위한 설치**를 선택합니다. 이 옵션이 표시되지 않으면 다음 단계를 진행합니다.

1.  **설치 유형**에서 다음을 수행합니다.

   1.  AWS SAMCLI를 설치할 위치를 선택합니다. 기본 위치는 `/usr/local/aws-sam-cli`입니다. 쓰기 권한이 있는 위치를 선택합니다. 설치 위치를 변경하려면 **로컬**을 선택하고 위치를 선택합니다. 완료되면 **계속**을 누르십시오.

   1.  이전 단계에서 **나를 위한 설치**를 선택하는 옵션이 표시되지 않은 경우 설치 **위치 변경** > **내게만 설치를 선택하고** **계속**을 누르십시오.

   1.  **설치를** 누릅니다.

1.  AWS SAMCLI가 설치하면 **설치 성공** 메시지가 표시됩니다. **닫기**를 누릅니다.

**심링크 생성**
+  **sam** 명령으로 AWS SAMCLI를 간접 호출하려면 AWS SAMCLI프로그램과 귀하의 `$PATH` 사이에 심링크를 수동으로 만들어야 합니다. 다음 명령을 수정하고 실행하여 심링크를 생성합니다.

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo* – 사용자에게 `$PATH`에 대한 쓰기 권한이 있는 경우에는 **sudo**은 필요하지 않습니다. 그렇지 않으면 **sudo**이 필요합니다.
  +  *path-to* - AWS SAMCLI 프로그램을 설치한 위치의 경로. 예를 들어 `/Users/myUser/Desktop`입니다.
  +  *path-to-symlink-directory* – 귀하의 `$PATH` 환경 변수입니다. 기본 위치는 `/usr/local/bin`입니다.

**성공적으로 설치되었는지 확인하려면**
+  다음을 실행하여 AWS SAMCLI가 제대로 설치되었고 심링크가 구성되어 있는지 확인합니다.

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - All users ]

**AWS SAM CLI를 다운로드하여 설치하려면**
**참고**  
 이전에 Homebrew 혹은 pip를 통해 AWS SAMCLI를 설치한 경우, 이를 먼저 제거해야 합니다. 지침은 [AWS SAM CLI 제거](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall) 섹션을 참조하세요.

1.  선택한 디렉터리에 macOS `pkg`를 다운로드합니다.
   +  **Intel 프로세서를 실행하는 Mac의 경우 x86\$164 선택** – [ aws-sam-cli-macos-x86\$164.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Apple Silicon을 실행하는 Mac의 경우 arm64 선택** – [ aws-sam-cli-macos-arm64.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**참고**  
설치 전에 설치관리자 프로그램의 무결성을 확인하는 옵션이 있습니다. 지침은 [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md) 섹션을 참조하세요.

1.  설치 스크립트를 변경하고 실행합니다.

   ```
   $ sudo installer -pkg path-to-pkg-installer/name-of-pkg-installer -target /
   installer: Package name is AWS SAM CLI
   installer: Upgrading at base path /
   installer: The upgrade was successful.
   ```
**참고**  
 `/usr/local/bin/sam` `/usr/local/aws-sam-cli/sam` **sam**명령으로 AWS SAMCLI를 간접 호출하려면, 설치관리자 프로그램은 와 간에 심링크를 자동으로 생성합니다.

**성공적으로 설치되었는지 확인하려면**
+  다음을 실행하여 AWS SAMCLI가 제대로 설치되었고 심링크가 구성되어 있는지 확인합니다.

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - Current user ]

**AWS SAM CLI를 다운로드하여 설치하려면**
**참고**  
 이전에 Homebrew 혹은 pip를 통해 AWS SAMCLI를 설치한 경우, 이를 먼저 제거해야 합니다. 지침은 [AWS SAM CLI 제거](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall) 섹션을 참조하세요.

1.  선택한 디렉터리에 macOS `pkg`를 다운로드합니다.
   +  **Intel 프로세서를 실행하는 Mac의 경우 x86\$164 선택** – [ aws-sam-cli-macos-x86\$164.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Apple Silicon을 실행하는 Mac의 경우 arm64 선택** – [ aws-sam-cli-macos-arm64.pkg](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**참고**  
설치 전에 설치관리자 프로그램의 무결성을 확인하는 옵션이 있습니다. 지침은 [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md) 섹션을 참조하세요.

1.  귀하에게 쓰기 권한이 있는 설치 디렉터리를 결정하십시오. 그런 다음 템플릿을 사용하여 `xml` 파일을 만들고 설치 디렉토리를 반영하도록 수정하십시오. 디렉토리는 이미 존재해야 합니다.

    예를 들어, *path-to-my-directory*를 `/Users/myUser/Desktop`로 바꾸면, `aws-sam-cli` 프로그램 폴더가 거기에 설치됩니다.

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>path-to-my-directory</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1.  `xml`파일을 저장하고 다음을 실행하여 파일이 유효한지 확인합니다.

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -showChoicesAfterApplyingChangesXML path-to-your-xml-file
   ```

    출력 결과는 AWS SAMCLI 프로그램에 적용할 기본 설정이 표시되어야 합니다.

1.  다음을 실행하여를 설치합니다 AWS SAM CLI.

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -applyChoiceChangesXML path-to-your-xml-file
   
   # Example output
   installer: Package name is AWS SAM CLI
   installer: choices changes file 'path-to-your-xml-file' applied
   installer: Upgrading at base path base-path-of-xml-file
   installer: The upgrade was successful.
   ```

**심링크 생성**
+  **sam** 명령으로 AWS SAMCLI를 간접 호출하려면 AWS SAMCLI프로그램과 귀하의 `$PATH` 사이에 심링크를 수동으로 만들어야 합니다. 다음 명령을 수정하고 실행하여 심링크를 생성합니다.

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo* – 사용자에게 `$PATH`에 대한 쓰기 권한이 있는 경우에는 **sudo**은 필요하지 않습니다. 그렇지 않으면 **sudo**이 필요합니다.
  +  *path-to* - AWS SAMCLI 프로그램을 설치한 위치의 경로. 예를 들어 `/Users/myUser/Desktop`입니다.
  +  *path-to-symlink-directory* – 귀하의 `$PATH` 환경 변수입니다. 기본 위치는 `/usr/local/bin`입니다.

**성공적으로 설치되었는지 확인하려면**
+  다음을 실행하여 AWS SAMCLI가 제대로 설치되었고 심링크가 구성되어 있는지 확인합니다.

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------

### Windows
<a name="install-sam-cli-instructions-windows"></a>

Windows 설치관리자 프로그램 (MSI) 파일은 Windows 운영 체제의 패키지 설치 프로그램 파일입니다.

MSI 파일을 사용하여 AWS SAMCLI를 설치하려면 다음 단계를 따르십시오.

1.  AWS SAMCLI [64비트](https://github.com/aws/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi)를 다운로드하십시오.

1. **(선택 사항)** 설치 전에 설치관리자 프로그램의 무결성을 확인할 수 있습니다. 지침은 [선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인](reference-sam-cli-install-verify.md) 섹션을 참조하세요.

1. 설치를 확인합니다.

   설치를 완료한 후 새 명령 프롬프트 또는 PowerShell 프롬프트를 열어 확인합니다. `sam`을 명령줄에서 간접 호출할 수 있어야 합니다.

   ```
   sam --version
   ```

   를 성공적으로 설치하면 다음과 같은 출력이 표시됩니다 AWS SAM CLI.

   ```
   SAM CLI, <latest version>
   ```

1. 긴 경로를 활성화합니다(Windows 10 이상만 해당).
**중요**  
는 AWS SAM CLI Windows 최대 경로 제한을 초과하는 파일 경로와 상호 작용할 수 있습니다. 이로 인해 `sam init`를 실행할 때 Windows 10 **MAX\$1PATH** 제한을 초과하여 오류가 발생할 수 있습니다. 이 문제를 해결하기 위해서는 새로운 긴 경로 동작을 구성해야 합니다.

   긴 경로를 활성화하려면 *Microsoft Windows 앱 개발 설명서*의 [Windows 10, 버전 1607 이상에서 긴 경로 사용 활성화](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later)를 참조하세요.

1. Git을 설치합니다.

   `sam init` 명령을 사용하여 샘플 애플리케이션을 다운로드하려면 Git도 설치해야 합니다. 자세한 내용은 [Git 설치](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)를 참조하세요

## 설치 오류 문제 해결
<a name="sam-cli-troubleshoot-install"></a>

### Linux
<a name="sam-cli-troubleshoot-install-linux"></a>

#### 도커 오류: “도커 데몬에 연결할 수 없습니다. docker 데몬이 이 호스트에서 실행되고 있습니까?”
<a name="serverless-sam-cli-install-linux-troubleshooting-docker-deamon"></a>

경우에 따라서는 `ec2-user`가 Docker 대몬에 액세스할 수 있는 권한을 제공하기 위해 인스턴스를 재부팅해야 할 수도 있습니다. 이 오류가 발생하면 인스턴스를 재부팅합니다.

#### 셸 오류: ‘명령을 찾을 수 없음’
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-not-found"></a>

이 오류가 발생하면 셸이 경로에서 AWS SAMCLI 실행 파일을 찾을 수 없는 것입니다. AWS SAMCLI 실행 파일을 설치한 디렉터리의 위치를 확인한 다음 디렉터리가 경로에 있는지 확인합니다.

#### AWS SAM CLI error: “/lib64/libc.so.6: version ‘GLIBC\$12.14’ not found (required by /usr/local/aws-sam-cli/dist/libz.so.1)”
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-missing-lib"></a>

이 오류가 표시되면 지원되지 않는 Linux 버전을 사용하고 있고 기본 제공 glibc 버전이 오래된 것입니다. 다음 중 하나를 사용하세요.
+ Linux 호스트를 CentOS, Fedora, Ubuntu 또는 Amazon Linux 2 최신 배포판의 64비트 버전으로 업그레이드합니다.
+ [AWS SAM CLI 설치](#install-sam-cli)에 대해서는 이 지침을 따릅니다.

### macOS
<a name="sam-cli-troubleshoot-install-macos"></a>

#### 설치 실패
<a name="sam-cli-troubleshoot-install-macos-install-failed"></a>

![\[설치 실패 메시지를 보여주는 AWS SAMCLI 설치 프로그램 이미지\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/images/sam-cli-troubleshoot-install-macos-install-failed.jpg)


 사용자용 AWS SAMCLI를 설치하고 쓰기 권한이 없는 설치 디렉터리를 선택한 경우 이 오류가 발생할 수 있습니다. 다음 중 하나를 사용하세요.

1.  쓰기 권한이 있는 다른 설치 디렉터리를 선택합니다.

1.  설치 프로그램을 삭제합니다. 그런 다음 다시 다운로드하고 실행합니다.

## 다음 단계
<a name="install-sam-cli-next-steps"></a>

 AWS SAMCLI에 대한 자세한 내용과 자체 서버리스 애플리케이션 구축을 시작하려면 다음을 참조하세요.
+ [자습서:를 사용하여 Hello World 애플리케이션 배포 AWS SAM](serverless-getting-started-hello-world.md)— 기본 서버리스 애플리케이션을 다운로드, 빌드 및 배포하기 위한 단계별 지침
+ [전체 AWS SAM 워크숍 ](https://catalog.workshops.aws/complete-aws-sam/en-US)-가 AWS SAM 제공하는 많은 주요 기능을 가르치도록 설계된 워크숍입니다.
+ [AWS SAM 예제 애플리케이션 및 패턴](https://serverlessland.com/patterns?framework=AWS+SAM) - 추가로 실험할 수 있는 커뮤니티 작성자의 샘플 애플리케이션 및 패턴입니다.

# 선택 사항: AWS SAM CLI 설치관리자 프로그램의 무결성 확인
<a name="reference-sam-cli-install-verify"></a>

패키지 설치 관리자를 사용하여 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)를 설치할 때 설치 전에 무결성을 확인할 수 있습니다. (이 단계는 선택 사항이며, 권장 사항은 아닙니다.)

사용할 수 있는 두 가지 확인 옵션은 다음과 같습니다.
+ 패키지 설치관리자 프로그램 서명을 확인합니다.
+ 패키지 설치관리자 프로그램 해시 값을 확인합니다.

플랫폼에서 사용할 수 있는 경우 서명 파일 옵션을 확인하는 것이 좋습니다. 이 옵션은 키 값이 여기에 게시되고 GitHub 리포지토리와 별도로 관리되므로 추가 보안 레이어를 제공합니다.

**Topics**
+ [설치관리자 서명 파일을 확인합니다.](#reference-sam-cli-install-verify-signature)
+ [해시 값을 확인합니다.](#reference-sam-cli-install-verify-hash)

## 설치관리자 서명 파일을 확인합니다.
<a name="reference-sam-cli-install-verify-signature"></a>

### Linux
<a name="reference-sam-cli-install-verify-signature-linux"></a>

#### arm64 - 명령줄 설치관리자
<a name="reference-sam-cli-install-verify-signature-linux-arm64"></a>

AWS SAM 는 [GnuPG](https://www.gnupg.org/)를 사용하여 .zip 설치 프로그램에 서명합니다 AWS SAM CLI. 확인은 다음 단계들을 수행합니다.

1. 기본 공개 키를 사용하여 서명자 공개 키를 확인합니다.

1. 서명자 공개 키를 사용하여 AWS SAMCLI 패키지 설치관리자 프로그램을 확인합니다.

**서명자 공개 키의 무결성 확인**

1. 기본 공개 키를 복사하여 귀하의 로컬 기기에 `.txt` 파일로 저장합니다. 예를 들어 *`primary-public-key.txt`*입니다.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   mQINBGRuSzMBEADsqiwOy78w7F4+sshaMFRIwRGNRm94p5Qey2KMZBxekFtoryVD
   D9jEOnvupx4tvhfBHz5EcUHCEOdl4MTqdBy6vVAshozgxVb9RE8JpECn5lw7XC69
   4Y7Gy1TKKQMEWtDXElkGxIFdUWvWjSnPlzfnoXwQYGeE93CUS3h5dImP22Yk1Ct6
   eGGhlcbg1X4L8EpFMj7GvcsU8f7ziVI/PyC1Xwy39Q8/I67ip5eU5ddxO/xHqrbL
   YC7+8pJPbRMej2twT2LrcpWWYAbprMtRoa6WfE0/thoo3xhHpIMHdPfAA86ZNGIN
   kRLjGUg7jnPTRW4Oin3pCc8nT4Tfc1QERkHm641gTC/jUvpmQsM6h/FUVP2i5iE/
   JHpJcMuL2Mg6zDo3x+3gTCf+Wqz3rZzxB+wQT3yryZs6efcQy7nROiRxYBxCSXX0
   2cNYzsYLb/bYaW8yqWIHD5IqKhw269gp2E5Khs60zgS3CorMb5/xHgXjUCVgcu8a
   a8ncdf9fjl3WS5p0ohetPbO2ZjWv+MaqrZOmUIgKbA4RpWZ/fU97P5BW9ylwmIDB
   sWy0cMxg8MlvSdLytPieogaM0qMg3u5qXRGBr6Wmevkty0qgnmpGGc5zPiUbtOE8
   CnFFqyxBpj5IOnG0KZGVihvn+iRxrv6GO7WWO92+Dc6m94U0EEiBR7QiOwARAQAB
   tDRBV1MgU0FNIENMSSBQcmltYXJ5IDxhd3Mtc2FtLWNsaS1wcmltYXJ5QGFtYXpv
   bi5jb20+iQI/BBMBCQApBQJkbkszAhsvBQkHhM4ABwsJCAcDAgEGFQgCCQoLBBYC
   AwECHgECF4AACgkQQv1fenOtiFqTuhAAzi5+ju5UVOWqHKevOJSO08T4QB8HcqAE
   SVO3mY6/j29knkcL8ubZP/DbpV7QpHPI2PB5qSXsiDTP3IYPbeY78zHSDjljaIK3
   njJLMScFeGPyfPpwMsuY4nzrRIgAtXShPA8N/k4ZJcafnpNqKj7QnPxiC1KaIQWm
   pOtvb8msUF3/s0UTa5Ys/lNRhVC0eGg32ogXGdojZA2kHZWdm9udLo4CDrDcrQT7
   NtDcJASapXSQL63XfAS3snEc4e1941YxcjfYZ33rel8K9juyDZfi1slWR/L3AviI
   QFIaqSHzyOtP1oinUkoVwL8ThevKD3Ag9CZflZLzNCV7yqlF8RlhEZ4zcE/3s9El
   WzCFsozb5HfE1AZonmrDh3SyOEIBMcS6vG5dWnvJrAuSYv2rX38++K5Pr/MIAfOX
   DOI1rtA+XDsHNv9lSwSy0lt+iClawZANO9IXCiN1rOYcVQlwzDFwCNWDgkwdOqS0
   gOA2f8NF9lE5nBbeEuYquoOl1Vy8+ICbgOFs9LoWZlnVh7/RyY6ssowiU9vGUnHI
   L8f9jqRspIz/Fm3JD86ntZxLVGkeZUz62FqErdohYfkFIVcv7GONTEyrz5HLlnpv
   FJ0MR0HjrMrZrnOVZnwBKhpbLocTsH+3t5It4ReYEX0f1DIOL/KRwPvjMvBVkXY5
   hblRVDQoOWc=
   =d9oG
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. 주요 퍼블릭 키를 귀하의 키링으로 가져옵니다.

   ```
   $ gpg --import primary-public-key.txt
   							
   gpg: directory `/home/.../.gnupg' created
   gpg: new configuration file `/home/.../.gnupg/gpg.conf' created
   gpg: WARNING: options in `/home/.../.gnupg/gpg.conf' are not yet active during this run
   gpg: keyring `/home/.../.gnupg/secring.gpg' created
   gpg: keyring `/home/.../.gnupg/pubring.gpg' created
   gpg: /home/.../.gnupg/trustdb.gpg: trustdb created
   gpg: key 73AD885A: public key "AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```

1. 서명자 공개 키를 복사하여 로컬 시스템에 `.txt` 파일로 저장합니다. 예를 들어 *`signer-public-key.txt`*입니다.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   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
   LtZnq+n4SfeNbZjD2FQWZR4CrA==
   =lHfs
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. 서명자 퍼블릭 키를 귀하의 키링으로 가져옵니다.

   ```
   $ gpg --import signer-public-key.txt
   							
   gpg: key 4094ABB1BEDFDAB4: public key "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   gpg: no ultimately trusted keys found
   ```

   출력 결과의 키 값을 기록해 두십시오. 예를 들어 *`4094ABB1BEDFDAB4`*입니다.

1. 키 값을 사용하여 서명자 공개 키 핑거프린트를 획득하고 확인합니다.

   ```
   $ gpg --fingerprint 4094ABB1BEDFDAB4
   							
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   ```

   지문은 다음과 일치해야 합니다.

   ```
   EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```

   지문 스트링이 일치하지 않으면 AWS SAM CLI 설치관리자를 사용하지 마십시오. *aws-sam-cli GitHub 리포지토리*에서 [문제를 생성](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE)하여 AWS SAM 팀에 에스컬레이션합니다.

1. 서명자 공개 키의 서명을 확인하십시오.

   ```
   $ gpg --check-sigs 4094ABB1BEDFDAB4
   						  
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF463E86CA31933BB688CC1A4094ABB1BEDFDAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   sig!3        4094ABB1BEDFDAB4 2025-05-19  [self-signature]
   sig!         42FD5F7A73AD885A 2025-05-19 AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>
   ```

   `1 signature not checked due to a missing key`이 확인되면 이전 단계를 반복하여 기본 및 서명자 공개 키를 키링으로 가져오세요.

   기본 공개 키와 서명자 공개 키 모두의 키 값이 표시되어 있어야 합니다.

서명자 공개 키의 무결성을 확인했으므로 이제 서명자 공개 키를 사용하여 AWS SAMCLI패키지 설치관리자 프로그램을 확인할 수 있습니다.

**AWS SAMCLI 패키지 설치관리자 프로그램의 무결성을 확인하려면**

1. ** AWS SAMCLI패키지 서명 파일 가져오기** - 다음 명령을 사용하여 AWS SAMCLI 패키지 설치관리자 프로그램의 서명 파일을 다운로드합니다.

   ```
   $ wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-arm64.zip.sig
   ```

1. **서명 파일을 확인** - 다운로드된 `.sig` 및 `.zip` 파일 모두를 `gpg` 명령의 파라미터로 전달합니다. 다음은 예제입니다.

   ```
   $ gpg --verify aws-sam-cli-linux-arm64.zip.sig aws-sam-cli-linux-arm64.zip
   ```

   출력은 다음과 비슷하게 보여야 합니다.

   ```
   gpg: Signature made Mon 19 May 2025 01:21:57 AM UTC using RSA key ID 4094ABB1BEDFDAB4
   gpg: Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```
   + `WARNING: This key is not certified with a trusted signature!` 메시지는 무시해도 됩니다. 이것은 귀하의 개인 PGP 키(보유하신 경우)와 AWS SAM CLI PGP 키 사이에 신뢰 체인이 없기 때문에 발생한 것입니다. 자세한 내용은 [Web of trust](https://en.wikipedia.org/wiki/Web_of_trust)를 참조하세요.
   + 출력 결과에 `BAD signature` 문구가 포함된 경우 귀하가 절차를 올바르게 수행했는지 확인합니다. 이 응답을 계속 받는 경우 *aws-sam-cli GitHub 리포지토리*에서 [문제를 생성](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE)하여 AWS SAM 팀에 에스컬레이션하고 다운로드한 파일을 사용하지 마세요.

   `Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"` 메시지는 서명이 확인되었으며 귀하는 설치를 진행할 수 있다는 의미입니다.

#### x86\$164 - 명령줄 설치관리자
<a name="reference-sam-cli-install-verify-signature-linux-x8664"></a>

AWS SAM 는 [GnuPG](https://www.gnupg.org/)를 사용하여 .zip 설치 프로그램에 서명합니다 AWS SAM CLI. 확인은 다음 단계들을 수행합니다.

1. 기본 공개 키를 사용하여 서명자 공개 키를 확인합니다.

1. 서명자 공개 키를 사용하여 AWS SAMCLI 패키지 설치관리자 프로그램을 확인합니다.

**서명자 공개 키의 무결성 확인**

1. 기본 공개 키를 복사하여 귀하의 로컬 기기에 `.txt` 파일로 저장합니다. 예를 들어 *`primary-public-key.txt`*입니다.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   mQINBGRuSzMBEADsqiwOy78w7F4+sshaMFRIwRGNRm94p5Qey2KMZBxekFtoryVD
   D9jEOnvupx4tvhfBHz5EcUHCEOdl4MTqdBy6vVAshozgxVb9RE8JpECn5lw7XC69
   4Y7Gy1TKKQMEWtDXElkGxIFdUWvWjSnPlzfnoXwQYGeE93CUS3h5dImP22Yk1Ct6
   eGGhlcbg1X4L8EpFMj7GvcsU8f7ziVI/PyC1Xwy39Q8/I67ip5eU5ddxO/xHqrbL
   YC7+8pJPbRMej2twT2LrcpWWYAbprMtRoa6WfE0/thoo3xhHpIMHdPfAA86ZNGIN
   kRLjGUg7jnPTRW4Oin3pCc8nT4Tfc1QERkHm641gTC/jUvpmQsM6h/FUVP2i5iE/
   JHpJcMuL2Mg6zDo3x+3gTCf+Wqz3rZzxB+wQT3yryZs6efcQy7nROiRxYBxCSXX0
   2cNYzsYLb/bYaW8yqWIHD5IqKhw269gp2E5Khs60zgS3CorMb5/xHgXjUCVgcu8a
   a8ncdf9fjl3WS5p0ohetPbO2ZjWv+MaqrZOmUIgKbA4RpWZ/fU97P5BW9ylwmIDB
   sWy0cMxg8MlvSdLytPieogaM0qMg3u5qXRGBr6Wmevkty0qgnmpGGc5zPiUbtOE8
   CnFFqyxBpj5IOnG0KZGVihvn+iRxrv6GO7WWO92+Dc6m94U0EEiBR7QiOwARAQAB
   tDRBV1MgU0FNIENMSSBQcmltYXJ5IDxhd3Mtc2FtLWNsaS1wcmltYXJ5QGFtYXpv
   bi5jb20+iQI/BBMBCQApBQJkbkszAhsvBQkHhM4ABwsJCAcDAgEGFQgCCQoLBBYC
   AwECHgECF4AACgkQQv1fenOtiFqTuhAAzi5+ju5UVOWqHKevOJSO08T4QB8HcqAE
   SVO3mY6/j29knkcL8ubZP/DbpV7QpHPI2PB5qSXsiDTP3IYPbeY78zHSDjljaIK3
   njJLMScFeGPyfPpwMsuY4nzrRIgAtXShPA8N/k4ZJcafnpNqKj7QnPxiC1KaIQWm
   pOtvb8msUF3/s0UTa5Ys/lNRhVC0eGg32ogXGdojZA2kHZWdm9udLo4CDrDcrQT7
   NtDcJASapXSQL63XfAS3snEc4e1941YxcjfYZ33rel8K9juyDZfi1slWR/L3AviI
   QFIaqSHzyOtP1oinUkoVwL8ThevKD3Ag9CZflZLzNCV7yqlF8RlhEZ4zcE/3s9El
   WzCFsozb5HfE1AZonmrDh3SyOEIBMcS6vG5dWnvJrAuSYv2rX38++K5Pr/MIAfOX
   DOI1rtA+XDsHNv9lSwSy0lt+iClawZANO9IXCiN1rOYcVQlwzDFwCNWDgkwdOqS0
   gOA2f8NF9lE5nBbeEuYquoOl1Vy8+ICbgOFs9LoWZlnVh7/RyY6ssowiU9vGUnHI
   L8f9jqRspIz/Fm3JD86ntZxLVGkeZUz62FqErdohYfkFIVcv7GONTEyrz5HLlnpv
   FJ0MR0HjrMrZrnOVZnwBKhpbLocTsH+3t5It4ReYEX0f1DIOL/KRwPvjMvBVkXY5
   hblRVDQoOWc=
   =d9oG
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. 주요 퍼블릭 키를 귀하의 키링으로 가져옵니다.

   ```
   $ gpg --import primary-public-key.txt
   							
   gpg: directory `/home/.../.gnupg' created
   gpg: new configuration file `/home/.../.gnupg/gpg.conf' created
   gpg: WARNING: options in `/home/.../.gnupg/gpg.conf' are not yet active during this run
   gpg: keyring `/home/.../.gnupg/secring.gpg' created
   gpg: keyring `/home/.../.gnupg/pubring.gpg' created
   gpg: /home/.../.gnupg/trustdb.gpg: trustdb created
   gpg: key 73AD885A: public key "AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```

1. 서명자 공개 키를 복사하여 로컬 시스템에 `.txt` 파일로 저장합니다. 예를 들어 *`signer-public-key.txt`*입니다.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   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
   LtZnq+n4SfeNbZjD2FQWZR4CrA==
   =lHfs
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. 서명자 퍼블릭 키를 귀하의 키링으로 가져옵니다.

   ```
   $ gpg --import signer-public-key.txt
   							
   gpg: key 4094ABB1BEDFDAB4: public key "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   gpg: no ultimately trusted keys found
   ```

   출력 결과의 키 값을 기록해 두십시오. 예를 들어 *`4094ABB1BEDFDAB4`*입니다.

1. 키 값을 사용하여 서명자 공개 키 핑거프린트를 획득하고 확인합니다.

   ```
   $ gpg --fingerprint 4094ABB1BEDFDAB4
   						  
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   ```

   지문은 다음과 일치해야 합니다.

   ```
   EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```

   지문 스트링이 일치하지 않으면 AWS SAM CLI 설치관리자를 사용하지 마십시오. *aws-sam-cli GitHub 리포지토리*에서 [문제를 생성](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE)하여 AWS SAM 팀에 에스컬레이션합니다.

1. 서명자 공개 키의 서명을 확인하십시오.

   ```
   $ gpg --check-sigs 4094ABB1BEDFDAB4
   							
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF463E86CA31933BB688CC1A4094ABB1BEDFDAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   sig!3        4094ABB1BEDFDAB4 2025-05-19  [self-signature]
   sig!         42FD5F7A73AD885A 2025-05-19 AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>
   ```

   `1 signature not checked due to a missing key`이 확인되면 이전 단계를 반복하여 기본 및 서명자 공개 키를 키링으로 가져오세요.

   기본 공개 키와 서명자 공개 키 모두의 키 값이 표시되어 있어야 합니다.

서명자 공개 키의 무결성을 확인했으므로 이제 서명자 공개 키를 사용하여 AWS SAMCLI패키지 설치관리자 프로그램을 확인할 수 있습니다.

**AWS SAMCLI 패키지 설치관리자 프로그램의 무결성을 확인하려면**

1. ** AWS SAMCLI패키지 서명 파일 가져오기** - 다음 명령을 사용하여 AWS SAMCLI 패키지 설치관리자 프로그램의 서명 파일을 다운로드합니다.

   ```
   $ wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip.sig
   ```

1. **서명 파일을 확인** - 다운로드된 `.sig` 및 `.zip` 파일 모두를 `gpg` 명령의 파라미터로 전달합니다. 다음은 예제입니다.

   ```
   $ gpg --verify aws-sam-cli-linux-x86_64.zip.sig aws-sam-cli-linux-x86_64.zip
   ```

   출력은 다음과 비슷하게 보여야 합니다.

   ```
   gpg: Signature made Mon 19 May 2025 01:21:57 AM UTC using RSA key ID 4094ABB1BEDFDAB4
   gpg: Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```
   + `WARNING: This key is not certified with a trusted signature!` 메시지는 무시해도 됩니다. 이것은 귀하의 개인 PGP 키(보유하신 경우)와 AWS SAM CLI PGP 키 사이에 신뢰 체인이 없기 때문에 발생한 것입니다. 자세한 내용은 [Web of trust](https://en.wikipedia.org/wiki/Web_of_trust)를 참조하세요.
   + 출력 결과에 `BAD signature` 문구가 포함된 경우 귀하가 절차를 올바르게 수행했는지 확인합니다. 이 응답을 계속 받는 경우 *aws-sam-cli GitHub 리포지토리*에서 [문제를 생성](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE)하여 AWS SAM 팀에 에스컬레이션하고 다운로드한 파일을 사용하지 마세요.

   `Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"` 메시지는 서명이 확인되었으며 귀하는 설치를 진행할 수 있다는 의미입니다.

### macOS
<a name="reference-sam-cli-install-verify-signature-macos"></a>

#### GUI 및 명령줄 설치관리자 프로그램
<a name="reference-sam-cli-install-verify-signature-macos-installer"></a>

`pkgutil` 도구를 사용하거나 수동으로 AWS SAMCLI 패키지 설치관리자 서명 파일의 무결성을 확인할 수 있습니다.

**pkgutil을 사용하여 확인하려면**

1. 귀하의 로컬 기기에서 다운로드한 설치관리자 경로를 제공하여 다음 명령을 실행하십시오. 

   ```
   $ pkgutil --check-signature /path/to/aws-sam-cli-installer.pkg
   ```

   다음은 예제입니다.

   ```
   $ pkgutil --check-signature /Users/user/Downloads/aws-sam-cli-macos-arm64.pkg
   ```

1. 출력 결과에서 **Developer ID Installer: AMZN Mobile LLC**를 위해 **SHA256 fingerprint**을 찾습니다. 다음은 예제입니다.

   ```
   Package "aws-sam-cli-macos-arm64.pkg":
      Status: signed by a developer certificate issued by Apple for distribution
      Notarization: trusted by the Apple notary service
      Signed with a trusted timestamp on: 2026-01-28 07:39:16 +0000
      Certificate Chain:
       1. Developer ID Installer: AMZN Mobile LLC (94KV3E626L)
          Expires: 2030-09-26 00:18:06 +0000
          SHA256 Fingerprint:
              5C 45 BE 63 FD 52 10 07 2D 66 56 77 5C A9 FF 25 91 6D 3F 01 F7 0E
              9A 8A 05 F6 2D 62 B2 88 8D A9
          ------------------------------------------------------------------------
       2. Developer ID Certification Authority
          Expires: 2031-09-17 00:00:00 +0000
          SHA256 Fingerprint:
              F1 6C D3 C5 4C 7F 83 CE A4 BF 1A 3E 6A 08 19 C8 AA A8 E4 A1 52 8F
              D1 44 71 5F 35 06 43 D2 DF 3A
          ------------------------------------------------------------------------
       3. Apple Root CA
          Expires: 2035-02-09 21:40:36 +0000
          SHA256 Fingerprint:
              B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C
              68 C5 BE 91 B5 A1 10 01 F0 24
   ```

1. **Developer ID Installer: AMZN Mobile LLC SHA256 fingerprint**은 다음 값과 일치해야 합니다.

   ```
   5C 45 BE 63 FD 52 10 07 2D 66 56 77 5C A9 FF 25 91 6D 3F 01 F7 0E 9A 8A 05 F6 2D 62 B2 88 8D A9
   ```

   지문 스트링이 일치하지 않으면 AWS SAM CLI 설치관리자를 사용하지 마십시오. *aws-sam-cli GitHub 리포지토리*에서 [문제를 생성](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE)하여 AWS SAM 팀에 에스컬레이션합니다. 지문 스트링이 일치하면 패키지 설치관리자 프로그램을 사용하여 계속 진행할 수 있습니다.

**패키지 설치관리자 프로그램을 수동으로 확인하려면**
+ *Apple 지원 웹사이트*에서 [수동으로 다운로드한 Apple 소프트웨어 업데이트의 정품 여부를 확인하는 방법](https://support.apple.com/en-us/HT202369)을 참조하세요.

### Windows
<a name="reference-sam-cli-install-verify-signature-windows"></a>

설치 프로그램은 AWS SAM CLI Windows 운영 체제용 MSI 파일로 패키징됩니다.

**설치관리자 프로그램 무결성 확인**

1. 설치관리자 프로그램의을 마우스 오른쪽 버튼으로 클릭하고 **속성** 창을 엽니다.

1. **디지털 서명(Digital Signatures)** 탭을 선택합니다.

1. **서명 목록**에서 **Amazon Services Web Services, Inc.**를 선택한 후 **세부 정보**를 선택합니다.

1. **일반** 탭이 선택되어 있지 않으면 이 탭을 선택한 후 **인증서 보기(View Certificate)**를 선택합니다.

1. **세부 정보** 탭을 선택한 다음, 선택되어 있지 않은 경우 **표시** 드롭다운 목록에서 **모두(All)**를 선택합니다.

1. **지문(Thumbprint)** 필드가 보일 때까지 아래로 스크롤한 후 **지문(Thumbprint)**을 선택합니다. 그러면 아래 창에 전체 지문 값이 표시됩니다.

1. 지문 값을 다음 값과 일치시킵니다. 값이 일치하면 설치를 진행합니다. 그렇지 않은 경우 *aws-sam-cli GitHub 리포지토리*에서 [문제를 생성](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE)하여 AWS SAM 팀에 에스컬레이션합니다.

   ```
   cd62479397f09d72a04c7399a254b0a91da53d6c
   ```

## 해시 값을 확인합니다.
<a name="reference-sam-cli-install-verify-hash"></a>

### Linux
<a name="reference-sam-cli-install-verify-hash-linux"></a>

#### x86\$164 - 명령줄 설치관리자
<a name="reference-sam-cli-install-verify-hash-linux-x8664"></a>

다음 명령을 사용하여 해시 값을 생성하여 다운로드한 설치관리자 파일의 무결성 및 신뢰성을 확인합니다.

```
$ sha256sum aws-sam-cli-linux-x86_64.zip
```

출력 결과는 다음과 같아야 합니다.

```
<64-character SHA256 hash value> aws-sam-cli-linux-x86_64.zip
```

64자의 SHA-256 해시 값을 GitHub에 관한 [AWS SAMCLI 릴리스 노트](https://github.com/aws/aws-sam-cli/releases/latest)에 있는 원하는 AWS SAMCLI 버전의 값과 비교합니다.

### macOS
<a name="reference-sam-cli-install-verify-hash-macos"></a>

#### GUI 및 명령줄 설치관리자 프로그램
<a name="reference-sam-cli-install-verify-hash-macos-installer"></a>

 다음 명령을 사용하여 해시 값을 생성하여 다운로드한 설치관리자의 무결성 및 신뢰성을 확인합니다.

```
$ shasum -a 256 path-to-pkg-installer/name-of-pkg-installer

# Examples
$ shasum -a 256 ~/Downloads/aws-sam-cli-macos-arm64.pkg
$ shasum -a 256 ~/Downloads/aws-sam-cli-macos-x86_64.pkg
```

 귀하의 64자의 SHA-256 해시 값을 [AWS SAMCLI릴리스 노트](https://github.com/aws/aws-sam-cli/releases/latest) GitHub리포지토리의 해당 값과 비교합니다.

# 자습서:를 사용하여 Hello World 애플리케이션 배포 AWS SAM
<a name="serverless-getting-started-hello-world"></a>

이 자습서에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)를 사용하여 다음을 완료합니다.
+ 샘플 **Hello World** 애플리케이션을 초기화, 빌드 및 배포합니다.
+ 로컬을 변경하고와 동기화합니다 AWS CloudFormation.
+ 개발 호스트에서 로컬 테스트 수행
+  AWS 클라우드에서 샘플 애플리케이션을 삭제합니다.

샘플 **Hello World** 애플리케이션은 기본적인 API 백엔드를 구현합니다. 다음 리소스로 구성됩니다.
+ **Amazon API Gateway** – 함수를 간접 호출하는 데 사용할 API 엔드포인트입니다.
+ **AWS Lambda** – HTTP API GET 요청을 처리하고 `hello world` 메시지를 반환하는 함수입니다.
+ **AWS Identity and Access Management (IAM) 역할** - 서비스가 안전하게 상호 작용할 수 있는 권한을 프로비저닝합니다.

다음 다이어그램은 이 애플리케이션의 구성 요소를 보여줍니다.

![\[귀하가 API 게이트웨이 엔드포인트에 GET 요청을 보낼 때 간접 호출되는 Lambda 함수의 다이어그램.\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/images/gs-01.png)


**Topics**
+ [사전 조건](#serverless-getting-started-hello-world-prerequisites)
+ [1단계: Hello World 샘플 애플리케이션 초기화](#serverless-getting-started-hello-world-init)
+ [2단계: 귀하의 애플리케이션 빌드](#serverless-getting-started-hello-world-build)
+ [3단계:에 애플리케이션 배포 AWS 클라우드](#serverless-getting-started-hello-world-deploy)
+ [4단계: 애플리케이션의 실행](#serverless-getting-started-hello-world-run)
+ [5단계:에서 함수와 상호 작용 AWS 클라우드](#serverless-getting-started-hello-world-remote-invoke)
+ [6단계: 애플리케이션을 수정하고에 동기화 AWS 클라우드](#serverless-getting-started-hello-world-sync)
+ [7단계: (선택 사항) 로컬에서 애플리케이션 테스트](#serverless-getting-started-hello-world-test)
+ [8단계:에서 애플리케이션 삭제 AWS 클라우드](#serverless-getting-started-hello-world-delete)
+ [문제 해결](#serverless-getting-started-hello-world-troubleshoot)
+ [자세히 알아보기](#serverless-getting-started-hello-world-learn)

## 사전 조건
<a name="serverless-getting-started-hello-world-prerequisites"></a>

다음 단계들을 귀하가 완료했는지 확인하십시오.
+ [AWS SAM 사전 조건](prerequisites.md)
+ [AWS SAM CLI 설치](install-sam-cli.md)

**참고**  
서버리스 개발을 위해 Visual Studio Code를 사용하는 것을 선호하는 경우 VS Code 인터페이스를 사용하는 step-by-step 지침은 AWS Toolkit for VS Code 사용 설명서의 [서버리스 애플리케이션 생성을](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/sam-get-started.html#serverless-apps-create) 참조하세요.

## 1단계: Hello World 샘플 애플리케이션 초기화
<a name="serverless-getting-started-hello-world-init"></a>

이 단계에서는 AWS SAMCLI를 사용하여 귀하의 로컬 기기에 샘플 **Hello World** 애플리케이션 프로젝트를 생성합니다. 

**샘플 Hello World 애플리케이션을 초기화하려면**

1. 명령줄 프롬프트에 선택한 시작 디렉터리에서 다음 명령을 실행합니다.

   ```
   $ sam init
   ```
**참고**  
이 명령은 서버리스 애플리케이션을 초기화하고 프로젝트 디렉터리를 생성합니다. 디렉터리에는 AWS SAM 템플릿인 파일을 포함하여 여러 `template.yaml` 파일과 폴더가 포함되어 있습니다.  
설치된 Python 버전은 `template.yaml`에 지정된 `Runtime` 속성과 일치해야 합니다. 프로덕션 워크로드의 경우 AWS 환경에서 완전히 지원되는 Python 3.12 이하 버전을 사용하는 것이 좋습니다. Python 버전이 일치하지 않으면 빌드 오류가 발생합니다.  
버전 호환성 문제를 해결하려면:  
 초기화하는 동안 호환되는 [런타임](sam-cli-command-reference-sam-init.md#sam-cli-command-reference-sam-init-options-runtime)을 지정하세요: `sam init --runtime python3.9`
초기화 후 `template.yaml`의 `Runtime` 속성을 수정하세요

1.  AWS SAMCLI가 새 애플리케이션을 초기화하는 과정을 안내합니다. 다음을 구성합니다.

   1. **AWS 퀵 스타트 템플릿**을 선택하여 시작 템플릿을 선택합니다.

   1. **Hello World 예제** 템플릿을 선택하고 다운로드하십시오.

   1. Python런타임 및 `zip` 패키지 유형을 사용합니다.

   1. 이 자습서에서는 AWS X-Ray 추적을 옵트아웃합니다. 자세한 내용은 *AWS X-Ray 개발자 안내서*의 [What is AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)를 참조하세요.

   1. 이 사용 지침서에서는 Amazon CloudWatch Application Insights를 사용한 모니터링을 옵트아웃합니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html)를 참조하세요.

   1. 이 자습서에서는 Lambda 함수에서 JSON 형식의 구조화된 로깅 설정을 옵트아웃합니다.

   1. 애플리케이션 이름을 **sam-app**으로 지정합니다.

    AWS SAMCLI대화형 흐름을 사용하려면:
   + 대괄호(`[ ]`)는 기본값을 나타냅니다. 기본값을 선택하려면 답을 비워둡니다.
   + **예**에 **`y`**를 입력하고 **아니요**에 **`n`**를 입력합니다.

   다음은 `sam init` 대화형 흐름에 대한 예제입니다.

   ```
   $ sam init
   ...
   Which template source would you like to use?
       1 - AWS Quick Start Templates
       2 - Custom Template Location
   Choice: 1
   
   Choose an AWS Quick Start application template
       1 - Hello World Example
       2 - Data processing
       3 - Hello World Example with Powertools for AWS Lambda
       4 - Multi-step workflow
       5 - Scheduled task
       6 - Standalone function
       7 - Serverless API
       8 - Infrastructure event management 
       9 - Lambda Response Streaming
      10 - GraphQLApi Hello World Example
      11 - Full Stack
      12 - Lambda EFS example
      13 - Serverless Connector Hello World Example
      14 - Multi-step workflow with Connectors
      15 - DynamoDB Example
      16 - Machine Learning
   Template: 1
   
   Use the most popular runtime and package type? (Python and zip) [y/N]: y
   
   Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER
   
   Would you like to enable monitoring using CloudWatch Application Insights?
   For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER
   					
   Would you like to set Structured Logging in JSON format on your Lambda functions?  [y/N]: ENTER
   
   Project name [sam-app]: ENTER
   ```

1. 는 AWS SAM CLI 시작 템플릿을 다운로드하고 로컬 시스템에 애플리케이션 프로젝트 디렉터리 구조를 생성합니다. 다음은 AWS SAM CLI 출력의 예시입니다.

   ```
   Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)
   
       -----------------------
       Generating application:
       -----------------------
       Name: sam-app
       Runtime: python3.9
       Architectures: x86_64
       Dependency Manager: pip
       Application Template: hello-world
       Output Directory: .
       Configuration file: sam-app/samconfig.toml
   
       Next steps can be found in the README file at sam-app/README.md
   
   
   Commands you can use next
   =========================
   [*] Create pipeline: cd sam-app && sam pipeline init --bootstrap
   [*] Validate SAM template: cd sam-app && sam validate
   [*] Test Function in the Cloud: cd sam-app && sam sync --stack-name {stack-name} --watch
   ```

1. 명령줄에서 새로 만든 `sam-app` 디렉터리로 이동합니다. 다음은 AWS SAMCLI에서 만든 내용의 예입니다.
**참고**  
`tree` 명령이 자동으로 설치되지 않은 경우 다음 명령을 실행하세요: `brew install tree`

   ```
   $ cd sam-app
   
   $ tree
   
   ├── README.md
   ├── __init__.py
   ├── events
   │   └── event.json
   ├── hello_world
   │   ├── __init__.py
   │   ├── app.py
   │   └── requirements.txt
   ├── samconfig.toml
   ├── template.yaml
   └── tests
       ├── __init__.py
       ├── integration
       │   ├── __init__.py
       │   └── test_api_gateway.py
       ├── requirements.txt
       └── unit
           ├── __init__.py
           └── test_handler.py
           
   6 directories, 14 files
   ```

   강조해야 할 몇 가지 중요한 파일:
   + `hello_world/app.py` – 귀하의 Lambda 함수 코드가 포함되어 있습니다.
   + `hello_world/requirements.txt` – Lambda 함수에 필요한 모든 Python 종속물을 포함합니다.
   + `samconfig.toml` -에서 사용하는 기본 파라미터를 저장하는 애플리케이션의 구성 파일입니다 AWS SAM CLI.
   + `template.yaml` - 애플리케이션 인프라 코드가 포함된 AWS SAM 템플릿입니다.

이제 로컬 컴퓨터에 완전히 작성된 서버리스 애플리케이션이 생겼습니다\$1

## 2단계: 귀하의 애플리케이션 빌드
<a name="serverless-getting-started-hello-world-build"></a>

이 단계에서는 AWS SAMCLI를 사용하여 애플리케이션을 빌드하고 배포를 준비합니다. 빌드하면, AWS SAMCLI가 `.aws-sam` 디렉토리를 만들고 여기에 함수 종속성, 프로젝트 코드 및 프로젝트 파일을 구성합니다.

**귀하의 애플리케이션을 빌드하려면**
+ 명령줄에서 `sam-app` 프로젝트 디렉터리로부터 다음을 실행합니다.

  ```
  $ sam build
  ```
**참고**  
 로컬 기기에 Python이 설치되어 있지 않은 경우, **sam build --use-container ** 명령어를 대신 사용합니다. AWS SAMCLI는 함수의 런타임과 종속물을 포함하는 Docker 컨테이너를 생성합니다. 이 명령은 로컬 기기에 Docker을 필요로 합니다. Docker의 설치는 [Docker 설치](install-docker.md)을 참조하십시오

  다음은 AWS SAM CLI 출력의 예시입니다.

  ```
  $ sam build
  Starting Build use cache
  Manifest file is changed (new hash: 3298f1304...d4d421) or dependency folder (.aws-sam/deps/4d3dfad6-a267-47a6-a6cd-e07d6fae318c) is missing for (HelloWorldFunction), downloading dependencies and copying/building source
  Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
  Running PythonPipBuilder:CleanUp
  Running PythonPipBuilder:ResolveDependencies
  Running PythonPipBuilder:CopySource
  Running PythonPipBuilder:CopySource
  
  Build Succeeded
  
  Built Artifacts  : .aws-sam/build
  Built Template   : .aws-sam/build/template.yaml
  
  Commands you can use next
  =========================
  [*] Validate SAM template: sam validate
  [*] Invoke Function: sam local invoke
  [*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
  [*] Deploy: sam deploy --guided
  ```

  다음은 AWS SAM CLI가 생성한 `.aws-sam` 디렉토리의 축약된 예입니다.

  ```
  .aws-sam
  ├── build
  │   ├── HelloWorldFunction
  │   │   ├── __init__.py
  │   │   ├── app.py
  │   │   └── requirements.txt
  │   └── template.yaml
  └── build.toml
  ```

강조해야 할 몇 가지 중요한 파일:
+ `build/HelloWorldFunction` – Lambda 함수 코드 및 종속 항목이 포함되어 있습니다. AWS SAMCLI는 애플리케이션의 각 함수에 대한 디렉토리를 생성합니다.
+ `build/template.yaml` - 배포 CloudFormation 시에서 참조하는 AWS SAM 템플릿의 사본을 포함합니다.
+ `build.toml` – 애플리케이션을 빌드하고 배포할 때 AWS SAMCLI이 참조하는 기본 파라미터 값을 저장하는 구성 파일입니다.

이제 AWS 클라우드에 귀하의 애플리케이션을 배포할 준비가 되었습니다.

## 3단계:에 애플리케이션 배포 AWS 클라우드
<a name="serverless-getting-started-hello-world-deploy"></a>

**참고**  
이 단계에서는 AWS 자격 증명 구성이 필요합니다. 자세한 설명은 [AWS SAM 사전 조건](prerequisites.md)에서 [5단계: AWS CLI 를 사용하여 AWS 자격 증명 구성](prerequisites.md#prerequisites-configure-credentials) 섹션을 참조하세요.

이 단계에서는 AWS SAMCLI를 사용하여 애플리케이션을 AWS 클라우드에 배포합니다. 는 AWS SAM CLI 다음을 수행합니다.
+ 배포를 위한 애플리케이션 설정을 구성하는 과정을 안내합니다.
+ Amazon Simple Storage Service(S3)에 귀하의 애플리케이션 파일을 업로드합니다.
+  AWS SAM 템플릿을 CloudFormation 템플릿으로 변환합니다. 그런 다음 템플릿을 CloudFormation 서비스에 업로드하여 AWS 리소스를 프로비저닝합니다.

**애플리케이션을 배포하려면**

1. 명령줄에서 `sam-app` 프로젝트 디렉터리로부터 다음을 실행합니다.

   ```
   $ sam deploy --guided
   ```

1.  AWS SAMCLI 대화형 흐름에 따라 애플리케이션 설정을 구성하십시오. 다음을 구성합니다.

   1. **CloudFormation 스택 이름** - 스택은 단일 단위로 관리할 수 있는 AWS 리소스 모음입니다. 자세히 알아보려면 *AWS CloudFormation 사용자 가이드의* [스택 작업](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)을 잠조하세요.

   1.  CloudFormation 스택**AWS 리전**을 배포할 입니다. 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [CloudFormation 엔드포인트](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-endpoints.html)를 잠조하세요.

   1. 이 사용 지침서에서는 **배포 전 변경 사항 확인**을 옵트아웃합니다.

   1. **IAM 역할 생성** 허용 - 이를 통해 API Gateway 리소스와 Lambda 함수 리소스가 상호 작용하는 데 필요한 IAM 역할을 AWS SAM 생성할 수 있습니다.

   1. 이 사용 지침서에서는 **롤백 비활성화**를 옵트아웃합니다.

   1. 정의된 권한 부여 없이 **HelloWorldFunction** 허용 – API Gateway 엔드포인트가 승인 없이 공개적으로 액세스할 수 있도록 구성되어 있기 때문에 이 메시지가 표시됩니다. 이것이 Hello World 애플리케이션을 위한 의도된 구성이므로 AWS SAMCLI가 계속 진행되도록 합니다. 권한 부여 전송에 대한 자세한 내용은을 잠조하세요[AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md)

   1. **구성 파일에 인수 저장** - 그러면 배포 우선 설정에 따라 애플리케이션의 `samconfig.toml` 파일이 업데이트됩니다.

   1. 기본 **구성 파일 이름**을 선택합니다.

   1. 기본 **구성 환경**을 선택합니다.

   다음은 `sam deploy --guided` 대화형 플로우의 출력의 예제입니다.

   ```
   $ sam deploy --guided
   
   Configuring SAM deploy
   ======================
   
       Looking for config file [samconfig.toml] :  Found
       Reading default arguments  :  Success
   
       Setting default arguments for 'sam deploy'
       =========================================
       Stack Name [sam-app]: ENTER
       AWS Region [us-west-2]: ENTER
       #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
       Confirm changes before deploy [Y/n]: n
       #SAM needs permission to be able to create roles to connect to the resources in your template
       Allow SAM CLI IAM role creation [Y/n]: ENTER
       #Preserves the state of previously provisioned resources when an operation fails
       Disable rollback [y/N]: ENTER
       HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
       Save arguments to configuration file [Y/n]: ENTER
       SAM configuration file [samconfig.toml]: ENTER
       SAM configuration environment [default]: ENTER
   ```

1. 는 AWS SAM CLI 다음을 수행하여 애플리케이션을 배포합니다.
   +  AWS SAM CLI는 Amazon S3 버킷을 생성하고 귀하의 `.aws-sam` 디렉터리를 업로드합니다.
   + 는 AWS SAM CLI AWS SAM 템플릿을 로 변환 CloudFormation 하고 CloudFormation 서비스에 업로드합니다.
   + CloudFormation 는 리소스를 프로비저닝합니다.

   배포 중에는 AWS SAMCLI는 귀하의 진행 상황을 표시합니다. 다음은 출력의 예제입니다.

   ```
   Looking for resources needed for deployment:
   
       Managed S3 bucket: aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       A different default S3 bucket can be set in samconfig.toml
   
       Parameter "stack_name=sam-app" in [default.deploy.parameters] is defined as a global parameter [default.global.parameters].
       This parameter will be only saved under [default.global.parameters] in /Users/.../Demo/sam-tutorial1/sam-app/samconfig.toml.
   
       Saved arguments to config file
       Running 'sam deploy' for future deployments will use the parameters saved above.
       The above parameters can be changed by modifying samconfig.toml
       Learn more about samconfig.toml syntax at
       https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html
   
   File with same data already exists at sam-app/da3c598813f1c2151579b73ad788cac8, skipping upload
   
       Deploying with following values
       ===============================
       Stack name                   : sam-app
       Region                       : us-west-2
       Confirm changeset            : False
       Disable rollback             : False
       Deployment s3 bucket         : aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       Capabilities                 : ["CAPABILITY_IAM"]
       Parameter overrides          : {}
       Signing Profiles             : {}
   
   Initiating deployment
   =====================
   
   File with same data already exists at sam-app/2bebf67c79f6a743cc5312f6dfc1efee.template, skipping upload
   
   
   Waiting for changeset to be created..
   
   CloudFormation stack changeset
   ---------------------------------------------------------------------------------------------------------------------------------------------
   Operation                           LogicalResourceId                   ResourceType                        Replacement
   ---------------------------------------------------------------------------------------------------------------------------------------------
   * Modify                            HelloWorldFunction                  AWS::Lambda::Function               False
   * Modify                            ServerlessRestApi                   AWS::ApiGateway::RestApi            False
   - Delete                            AwsSamAutoDependencyLayerNestedSt   AWS::CloudFormation::Stack          N/A
                                       ack
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1678917603/22e05525-08f9-4c52-a2c4-f7f1fd055072
   
   
   2023-03-15 12:00:16 - Waiting for stack create/update to complete
   
   CloudFormation events from stack operations (refresh every 0.5 seconds)
   ---------------------------------------------------------------------------------------------------------------------------------------------
   ResourceStatus                      ResourceType                        LogicalResourceId                   ResourceStatusReason
   ---------------------------------------------------------------------------------------------------------------------------------------------
   UPDATE_IN_PROGRESS                  AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE                     AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE_CLEANUP_IN_PROGRE   AWS::CloudFormation::Stack          sam-app                             -
   SS
   DELETE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   DELETE_COMPLETE                     AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   UPDATE_COMPLETE                     AWS::CloudFormation::Stack          sam-app                             -
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   CloudFormation outputs from deployed stack
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Key                 HelloWorldFunctionIamRole
   Description         Implicit IAM Role created for Hello World function
   Value               arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-15GLOUR9LMT1W
   
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://<restapiid>.execute-api.us-west-2.amazonaws.com/Prod/hello/
   
   Key                 HelloWorldFunction
   Description         Hello World Lambda Function ARN
   Value               arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction-yQDNe17r9maD
   ----------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Successfully created/updated stack - sam-app in us-west-2
   ```

이제 애플리케이션이에 배포되고 실행됩니다 AWS 클라우드.

## 4단계: 애플리케이션의 실행
<a name="serverless-getting-started-hello-world-run"></a>

이 단계에서는 API 엔드포인트에 GET 요청을 보내고 Lambda 함수 출력을 확인합니다.

**API 엔드포인트 값을 가져오려면**

1. 이전 단계에서 AWS SAMCLI에 의해 표시된 정보에서 `Outputs` 섹션을 찾습니다. 이 섹션에서 `HelloWorldApi` 리소스를 찾아 HTTP 엔드포인트 값을 찾으십시오. 다음은 출력의 예제입니다.

   ```
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   ...
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   ...
   ----------------------------------------------------------------------------------------------------------------------------------------------
   ```

1. 다른 방식으로는 **sam list endpoints --output json** 명령을 사용하여 이 정보를 가져올 수 있습니다. 다음은 출력의 예제입니다.

   ```
   $ sam list endpoints --output json
   2023-03-15 12:39:19 Loading policies from IAM...
   2023-03-15 12:39:25 Finished loading policies from IAM.
   [
     {
       "LogicalResourceId": "HelloWorldFunction",
       "PhysicalResourceId": "sam-app-HelloWorldFunction-yQDNe17r9maD",
       "CloudEndpoint": "-",
       "Methods": "-"
     },
     {
       "LogicalResourceId": "ServerlessRestApi",
       "PhysicalResourceId": "ets1gv8lxi",
       "CloudEndpoint": [
         "https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod",
         "https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Stage"
       ],
       "Methods": [
         "/hello['get']"
       ]
     }
   ]
   ```

**함수를 간접 호출하려면**
+ 브라우저 또는 명령줄을 사용하여 API 엔드포인트에 GET 요청을 보냅니다. 다음은 curl 명령을 사용한 예입니다.

  ```
  $ curl https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
  {"message": "hello world"}
  ```

## 5단계:에서 함수와 상호 작용 AWS 클라우드
<a name="serverless-getting-started-hello-world-remote-invoke"></a>

이 단계에서는 AWS SAMCLI를 사용하여 AWS 클라우드에서 귀하의 Lambda 함수를 간접 호출합니다.

**Lambda 함수를 클라우드에서 간접 호출하려면**

1. 이전 단계의 함수의 `LogicalResourceId`을 기록해 두십시오. 그것은 `HelloWorldFunction`이어야 합니다.

1. 명령줄에서 `sam-app` 프로젝트 디렉터리로부터 다음을 실행합니다.

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app
   ```

1. 는 AWS SAM CLI 클라우드에서 함수를 호출하고 응답을 반환합니다. 다음은 출력의 예제입니다.

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app
   
   Invoking Lambda Function HelloWorldFunction                                       
   START RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9 Version: $LATEST
   END RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9
   REPORT RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9  Duration: 6.62 ms       Billed Duration: 7 ms     Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 164.06 ms
   {"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
   ```

## 6단계: 애플리케이션을 수정하고에 동기화 AWS 클라우드
<a name="serverless-getting-started-hello-world-sync"></a>

이 단계에서는 **sam sync --watch** 명령을 사용하여 AWS SAM CLI 로컬 변경 사항을에 동기화합니다 AWS 클라우드.

**sam sync를 사용하려면**

1. 명령줄에서 `sam-app` 프로젝트 디렉터리로부터 다음을 실행합니다.

   ```
   $ sam sync --watch
   ```

1.  AWS SAMCLI는 프롬프트를 통해 귀하가 개발 스택을 동기화하고 있는지 확인을 구합니다. **sam sync --watch** 명령은 AWS 클라우드 에 로컬 변경 사항을 실시간으로 자동으로 배포하므로 개발 환경에만 배포하는 것이 좋습니다.

    AWS SAMCLI는 로컬 변경 모니터링을 시작하기 전에 초기 배포를 수행합니다. 다음은 출력의 예제입니다.

   ```
   $ sam sync --watch
   The SAM CLI will use the AWS Lambda, Amazon API Gateway, and AWS StepFunctions APIs to upload your code without
   performing a CloudFormation deployment. This will cause drift in your CloudFormation stack.
   **The sync command should only be used against a development stack**.
   
   Confirm that you are synchronizing a development stack.
   
   Enter Y to proceed with the command, or enter N to cancel:
    [Y/n]: y
   Queued infra sync. Waiting for in progress code syncs to complete...
   Starting infra sync.
   Manifest is not changed for (HelloWorldFunction), running incremental build
   Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CopySource
   
   Build Succeeded
   
   Successfully packaged artifacts and wrote output template to file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpq3x9vh63.
   Execute the following command to deploy the packaged template
   sam deploy --template-file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpq3x9vh63 --stack-name <YOUR STACK NAME>
   
   
       Deploying with following values
       ===============================
       Stack name                   : sam-app
       Region                       : us-west-2
       Disable rollback             : False
       Deployment s3 bucket         : aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       Capabilities                 : ["CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"]
       Parameter overrides          : {}
       Signing Profiles             : null
   
   Initiating deployment
   =====================
   
   
   2023-03-15 13:10:05 - Waiting for stack create/update to complete
   
   CloudFormation events from stack operations (refresh every 0.5 seconds)
   ---------------------------------------------------------------------------------------------------------------------------------------------
   ResourceStatus                      ResourceType                        LogicalResourceId                   ResourceStatusReason
   ---------------------------------------------------------------------------------------------------------------------------------------------
   UPDATE_IN_PROGRESS                  AWS::CloudFormation::Stack          sam-app                             Transformation succeeded
   CREATE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   CREATE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   Resource creation Initiated
                                                                           ack
   CREATE_COMPLETE                     AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   UPDATE_IN_PROGRESS                  AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE                     AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE_CLEANUP_IN_PROGRE   AWS::CloudFormation::Stack          sam-app                             -
   SS
   UPDATE_COMPLETE                     AWS::CloudFormation::Stack          sam-app                             -
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   CloudFormation outputs from deployed stack
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Key                 HelloWorldFunctionIamRole
   Description         Implicit IAM Role created for Hello World function
   Value               arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-15GLOUR9LMT1W
   
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   
   Key                 HelloWorldFunction
   Description         Hello World Lambda Function ARN
   Value               arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction-yQDNe17r9maD
   ----------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Stack update succeeded. Sync infra completed.
   
   Infra sync completed.
   CodeTrigger not created as CodeUri or DefinitionUri is missing for ServerlessRestApi.
   ```

다음으로 귀하는 Lambda 함수 코드를 수정합니다. AWS SAM CLI는이 변경 사항을 자동으로 감지하고 애플리케이션을에 동기화합니다 AWS 클라우드.

**애플리케이션을 수정하고 동기화하려면**

1. 귀하가 선택한 IDE에서 `sam-app/hello_world/app.py` 파일을 엽니다.

1. `message`을 변경하고 파일을 저장합니다. 다음은 예제입니다.

   ```
   import json
   ...
   def lambda_handler(event, context):
       ...
       return {
           "statusCode": 200,
           "body": json.dumps({
               "message": "hello everyone!",
               ...
           }),
       }
   ```

1. 는 AWS SAM CLI 변경 사항을 감지하고 애플리케이션을에 동기화합니다 AWS 클라우드. 다음은 출력의 예제입니다.

   ```
   Syncing Lambda Function HelloWorldFunction...
   Manifest is not changed for (HelloWorldFunction), running incremental build
   Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CopySource
   Finished syncing Lambda Function HelloWorldFunction.
   ```

1. 변경 사항을 확인하려면 API 엔드포인트에 GET 요청을 다시 보내십시오.

   ```
   $ curl https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   {"message": "hello everyone!"}
   ```

## 7단계: (선택 사항) 로컬에서 애플리케이션 테스트
<a name="serverless-getting-started-hello-world-test"></a>

**참고**  
이 단계는 선택 사항입니다.

**중요**  
이 단계는 로컬 기기에 Docker을 필요로 합니다. 로컬 테스트를 위해 AWS SAM CLI을(를) 사용하려면 Docker이(가) 설치 및 구성되어 있어야 합니다. 자세한 내용은 [Docker 설치](install-docker.md) 단원을 참조하십시오.

이 단계에서는 **sam local** 명령을 사용하여 애플리케이션을 로컬에서 AWS SAM CLI 테스트합니다. 이를 위해 AWS SAMCLI는 Docker를 사용하여 로컬 환경을 만듭니다. 이 로컬 환경은 Lambda 함수의 클라우드 기반 실행 환경을 에뮬레이션합니다.

귀하는 다음을 수행합니다.

1. Lambda 함수를 위한 로컬 환경을 생성하고 이를 간접 호출합니다.

1. 로컬에서 HTTP API 엔드포인트를 호스팅하고 Lambda 함수를 간접 호출하는 데 사용합니다.

**Lambda 함수를 로컬에서 간접 호출하려면**

1. 명령줄에서 `sam-app` 프로젝트 디렉터리로부터 다음을 실행합니다.

   ```
   $ sam local invoke
   ```

1.  AWS SAMCLI는 로컬 Docker 컨테이너를 생성하고 귀하의 함수를 간접 호출합니다. 다음은 출력의 예제입니다.

   ```
   $ sam local invoke
   Invoking app.lambda_handler (python3.9)
   Local image was not found.
   Removing rapid images for repo public.ecr.aws/sam/emulation-python3.9
   Building image.....................
   Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64.
   
   Mounting /Users/.../Demo/sam-tutorial1/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
   START RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6 Version: $LATEST
   END RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6
   REPORT RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6    Init Duration: 1.01 ms    Duration: 633.45 ms    Billed Duration: 634 ms    Memory Size: 128 MB    Max Memory Used: 128 MB
   {"statusCode": 200, "body": "{\"message\": \"hello world\"}"}
   ```

**API를 로컬에서 호스팅하려면**

1. 명령줄에서 `sam-app` 프로젝트 디렉터리로부터 다음을 실행합니다.

   ```
   $ sam local start-api
   ```

1.  AWS SAMCLI는 Lambda 함수를 위한 로컬 Docker 컨테이너를 생성하고 API 엔드포인트를 시뮬레이션하기 위한 로컬 HTTP 서버를 생성합니다. 다음은 출력의 예제입니다.

   ```
   $ sam local start-api
   Initializing the lambda functions containers.
   Local image is up-to-date
   Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64.
   
   Mounting /Users/.../Demo/sam-tutorial1/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
   Containers Initialization is done.
   Mounting HelloWorldFunction at http://127.0.0.1:3000/hello [GET]
   You can now browse to the above endpoints to invoke your functions. You do not need to restart/reload SAM CLI while working on your functions, changes will be reflected instantly/automatically. If you used sam build before running local commands, you will need to re-run sam build for the changes to be picked up. You only need to restart AWS SAM CLI if you update your AWS SAM template
   2023-03-15 14:25:21 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
    * Running on http://127.0.0.1:3000
   2023-03-15 14:25:21 Press CTRL+C to quit
   ```

1. 귀하의 브라우저 또는 명령줄을 사용하여 로컬 API 엔드포인트에 GET 요청을 보냅니다. 다음은 curl 명령을 사용한 예입니다.

   ```
   $ curl http://127.0.0.1:3000/hello
   {"message": "hello world"}
   ```

## 8단계:에서 애플리케이션 삭제 AWS 클라우드
<a name="serverless-getting-started-hello-world-delete"></a>

이 단계에서는 **sam delete** 명령을 사용하여 AWS SAM CLI에서 애플리케이션을 삭제합니다 AWS 클라우드.

**에서 애플리케이션을 삭제하려면 AWS 클라우드**

1. 명령줄에서 `sam-app` 프로젝트 디렉터리로부터 다음을 실행합니다.

   ```
   $ sam delete
   ```

1.  AWS SAMCLI는 확인을 요청할 것입니다. 그러면 애플리케이션의 Amazon S3 버킷과 CloudFormation 스택이 삭제됩니다. 다음은 출력의 예제입니다.

   ```
   $ sam delete
       Are you sure you want to delete the stack sam-app in the region us-west-2 ? [y/N]: y
       Are you sure you want to delete the folder sam-app in S3 which contains the artifacts? [y/N]: y
       - Deleting S3 object with key c6ce8fa8b5a97dd022ecd006536eb5a4
       - Deleting S3 object with key 5d513a459d062d644f3b7dd0c8b56a2a.template
       - Deleting S3 object with key sam-app/2bebf67c79f6a743cc5312f6dfc1efee.template
       - Deleting S3 object with key sam-app/6b208d0e42ad15d1cee77d967834784b.template
       - Deleting S3 object with key sam-app/da3c598813f1c2151579b73ad788cac8
       - Deleting S3 object with key sam-app/f798cdd93cee188a71d120f14a035b11
       - Deleting Cloudformation stack sam-app
   
   Deleted successfully
   ```

## 문제 해결
<a name="serverless-getting-started-hello-world-troubleshoot"></a>

문제를 해결하려면 섹션을 AWS SAM CLI참조하세요[AWS SAMCLI 문제 해결](sam-cli-troubleshooting.md).

## 자세히 알아보기
<a name="serverless-getting-started-hello-world-learn"></a>

계속 알아보려면 다음 리소스를 AWS SAM참조하세요.
+ **[전체 AWS SAM 워크숍](https://s12d.com/sam-ws-en-intro)** – AWS SAM 가 제공하는 여러 주요 기능을 설명하기 위해 마련된 워크숍입니다.
+ **[ SAM을 사용한 세션](https://www.youtube.com/playlist?list=PLJo-rJlep0ED198FJnTzhIB5Aut_1vDAd)** - AWS 를 사용하는 서버리스 개발자 지지 팀이 만든 비디오 시리즈입니다 AWS SAM.
+ **[서버리스 랜드](https://serverlessland.com/)** – AWS 서버리스에 대한 최신 정보, 블로그, 동영상, 코드 및 학습 리소스를 한데 모아 놓은 사이트입니다.

# Lambda 함수를 AWS SAM 애플리케이션으로 변환
<a name="convert-lambda-to-sam"></a>

Lambda 콘솔에 VS Code as Infrastructure as Code(IaC)에서 관리하려는 함수가 있는 경우 이를 VS Code로 전송한 다음 AWS SAM 템플릿으로 변환할 수 있습니다. 함수를 AWS SAM 템플릿으로 변환하면 인프라의 버전 관리를 제어하고, 배포를 자동화하고, 함수를 원격으로 디버깅하고, 개발 수명 주기 전반에 걸쳐 일관된 환경을 유지할 수 있습니다. 로컬 및 원격 디버깅 기능을 사용하면 코드를 단계별로 살펴보고, 변수를 검사하고, 로컬 및 AWS 클라우드 모두에서 중단점을 설정하여 문제를 보다 효과적으로 해결할 수도 있습니다.

콘솔에서 함수를 이동하고 로컬 개발을 설정하는 방법에 대한 지침은 *AWS Lambda 개발자 안내서*의 [VS Code를 사용하여 로컬에서 Lambda 함수 개발](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac-local-development.html)을 참조하세요. 다음 지침에 따라 Lambda 함수를 콘솔에서 VS Code로 이동한 다음 AWS SAM 템플릿으로 변환합니다. 이 작업을 수행한 후 다음을 수행할 수 있습니다.
+ ** AWS 클라우드에서 함수를 원격으로 디버깅합니다.** 자세한 내용은 *AWS Lambda 개발자 안내서*의 [VS Code를 사용하여 Lambda 함수를 원격으로 디버깅](https://docs.aws.amazon.com/lambda/latest/dg/debugging.html)을 참조하세요.
+ **연결된 리소스 및 권한을 코드형 인프라로 관리합니다.** 자세한 내용은 *AWS Lambda 개발자 안내서*의 [코드형 인프라(IaC)와 함께 Lambda 사용](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac.html)을 참조하세요.
+ **를 사용하여 애플리케이션을 배포하고 업데이트합니다 AWS SAM CLI.** 자세한 내용은 [AWS SAM CLI](using-sam-cli.md)을 참조하세요.
+ **Infrastructure Composer를 사용하여 서버리스 아키텍처를 시각적으로 설계합니다.** 자세한 내용은 [Infrastructure Composer 개발자 안내서](https://docs.aws.amazon.com/application-composer/latest/dg/what-is-composer.html)를 참조하세요.

## 자세히 알아보기
<a name="convert-lambda-to-sam-learn"></a>

계속 알아보려면 다음 리소스를 AWS SAM참조하세요.
+ **[전체 AWS SAM 워크숍](https://s12d.com/sam-ws-en-intro)** – AWS SAM 가 제공하는 여러 주요 기능을 설명하기 위해 마련된 워크숍입니다.
+ **[ SAM을 사용한 세션](https://www.youtube.com/playlist?list=PLJo-rJlep0ED198FJnTzhIB5Aut_1vDAd)** - AWS 를 사용하는 서버리스 개발자 지지 팀이 만든 비디오 시리즈입니다 AWS SAM.
+ **[서버리스 랜드](https://serverlessland.com/)** – AWS 서버리스에 대한 최신 정보, 블로그, 동영상, 코드 및 학습 리소스를 한데 모아 놓은 사이트입니다.