기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SAMCLI 문제 해결
AWS Serverless Application Model 명령줄 인터페이스 ()AWS SAMCLI 를 사용, 설치 및 관리할 때 발생하는 오류 메시지 문제를 해결합니다.
설치 오류
Linux
도커 오류: “도커 데몬에 연결할 수 없습니다. docker 데몬이 이 호스트에서 실행되고 있습니까?”
경우에 따라서는 ec2-user
가 Docker 대몬에 액세스할 수 있는 권한을 제공하기 위해 인스턴스를 재부팅해야 할 수도 있습니다. 이 오류가 발생하면 인스턴스를 재부팅합니다.
셸 오류: ‘명령을 찾을 수 없음’
이 오류가 발생하면 셸이 경로에서 AWS SAMCLI 실행 파일을 찾을 수 없는 것입니다. AWS SAMCLI 실행 파일을 설치한 디렉터리의 위치를 확인한 다음 디렉터리가 경로에 있는지 확인합니다.
AWS SAMCLI오류: “/lib64/libc.so.6: 버전 `GLIBC_2.14'를 찾을 수 없음 (/usr/local/ /dist/libz.so.1 필요)” aws-sam-cli
이 오류가 표시되면 지원되지 않는 Linux 버전을 사용하고 있고 기본 제공 glibc 버전이 오래된 것입니다. 다음 중 하나를 사용하세요.
-
Linux 호스트를 CentOS, Fedora, Ubuntu 또는 Amazon Linux 2 최신 배포판의 64비트 버전으로 업그레이드합니다.
-
AWS SAM CLI의 설치에 대해서는 이 지침을 따릅니다.
macOS
설치 실패
사용자용 AWS SAMCLI를 설치하고 쓰기 권한이 없는 설치 디렉터리를 선택한 경우 이 오류가 발생할 수 있습니다. 다음 중 하나를 사용하세요.
-
쓰기 권한이 있는 다른 설치 디렉터리를 선택합니다.
-
설치 프로그램을 삭제합니다. 그런 다음 다시 다운로드하고 실행합니다.
오류 메시지
curl 오류: “curl: (6) 해결할 수 없습니다:...”
API Gateway 엔드포인트를 호출하려고 하면 다음 오류가 표시됩니다.
curl: (6) Could not resolve: endpointdomain
(Domain name not found)
이는 유효하지 않은 도메인으로 요청을 보내려고 시도했음을 의미합니다. 이는 서버리스 애플리케이션이 성공적으로 배포되지 않았거나 curl 명령에 오타가 있는 경우 발생할 수 있습니다. 콘솔 또는 를 AWS CLI사용하여 애플리케이션이 성공적으로 배포되었는지 확인하고 명령이 올바른지 확인하십시오. AWS CloudFormation curl
오류: 지정된 스택 이름으로 정확한 리소스 정보를 찾을 수 없습니다.
단일 Lambda 함수 리소스가 포함된 애플리케이션에서 sam remote invoke
명령을 실행하면 다음 오류가 표시됩니다.
Error: Can't find exact resource information with given <stack-name>
. Please provide full resource ARN or --stack-name to resolve the ambiguity.
- 가능한 원인:
--stack-name
옵션을 제공하지 않았습니다. -
함수 ARN이 인수로 제공되지 않은 경우
sam remote invoke
명령을 실행하려면--stack-name
옵션을 제공해야 합니다. - 해결 방법:
--stack-name
옵션을 제공합니다. -
다음은 그 예제입니다.
$
sam remote invoke --stack-name
Invoking Lambda Function HelloWorldFunction START RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 Version: $LATEST END RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 REPORT RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 Duration: 11.31 ms Billed Duration: 12 ms Memory Size: 128 MB Max Memory Used: 67 MB Init Duration: 171.71 ms {"statusCode":200,"body":"{\"message\":\"hello world\"}"}%sam-app
오류: 스택 이름에서 리소스 정보를 찾을 수 없습니다.
sam remote invoke
명령을 실행하고 Lambda 함수 ARN을 인수로 전달하면 다음 오류가 표시됩니다.
Error: Can't find resource information from stack name (<stack-name>
) and resource id (<function-id>
)
- 가능한 원인:
samconfig.toml
파일에 스택 이름 값이 정의되어 있습니다. -
AWS SAMCLI는 먼저
samconfig.toml
파일에 스택 이름이 있는지 확인합니다. 지정된 경우 인수는 논리적 ID 값으로 전달됩니다. - 해결 방법: 함수의 논리적 ID를 대신 전달합니다.
-
함수의 ARN 대신 함수의 논리적 ID를 인수로 전달할 수 있습니다.
- 해결 방법: 구성 파일에서 스택 이름 값을 제거합니다.
-
구성 파일에서 스택 이름 값을 제거할 수 있습니다. 이렇게 하면 AWS SAMCLI가 함수 ARN을 논리적 ID 값으로 전달하는 것을 방지할 수 있습니다.
구성 파일을 수정한 후
sam build
를 실행합니다.
오류: 관리형 리소스를 생성하지 못했습니다. 자격 증명을 찾을 수 없습니다.
sam deploy 명령을 실행할 때 다음 오류가 표시됩니다.
Error: Failed to create managed resources: Unable to locate credentials
이는 에서 AWS 서비스를 호출할 수 있도록 하는 AWS 자격 증명을 설정하지 않았음을 의미합니다. AWS SAMCLI 이 문제를 해결하려면 AWS 자격 증명을 설정해야 합니다. 자세한 설명은 AWS 보안 인증 설정 섹션을 참조하세요.
오류: FileNotFoundError 윈도우에서
AWS SAMCLIWindows에서 명령을 실행할 때 다음과 같은 오류가 표시될 수 있습니다.
Error: FileNotFoundError
가능한 원인: Windows 최대 경로 제한을 초과하는 파일 경로와 상호 작용할 AWS SAMCLI 수 있습니다.
해결 방법: 이 문제를 해결하려면 새로운 긴 경로 동작을 활성화해야 합니다. 이 작업을 수행하려면 Microsoft Windows 앱 개발 설명서의 Windows 10, 버전 1607 이상에서 긴 경로 활성화를
오류: pip의 종속성해석기...
오류 텍스트 예:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. aws-sam-cli 1.58.0 requires aws-sam-translator==1.51.0, but you have aws-sam-translator 1.58.0 which is incompatible. aws-sam-cli 1.58.0 requires typing-extensions==3.10.0.0, but you have typing-extensions 4.4.0 which is incompatible.
- 가능한 원인: pip를 사용하여 패키지를 설치하는 경우 패키지 간 종속성이 충돌할 수 있습니다.
-
각
aws-sam-cli
패키지의 버전은aws-sam-translator
패키지 버전에 따라 달라집니다. 예를 들어aws-sam-cli
v1.58.0은aws-sam-translator
v1.51.0에 따라 달라질 수 있습니다.pip를 사용하여 AWS SAMCLI를 설치한 다음 새로운 버전의
aws-sam-translator
를 사용하는 다른 패키지를 설치하면 다음과 같은 상황이 발생합니다.-
새로운 버전의
aws-sam-translator
가 설치됩니다. -
aws-sam-cli
의 현재 버전과aws-sam-translator
의 새로운 버전은 호환되지 않을 수 있습니다. -
를 AWS SAMCLI 사용하면 종속성 확인자 오류가 발생합니다.
솔루션
-
AWS SAMCLI 네이티브 패키지 설치 프로그램을 사용합니다.
-
pip를 사용하여 AWS SAM CLI 제거 지침은 AWS SAM CLI 제거 섹션을 참조하십시오.
-
네이티브 패키지 설치 프로그램을 사용하여 AWS SAMCLI를 설치합니다. 지침은 AWS SAM CLI의 설치 섹션을 참조하세요.
-
필요한 경우 네이티브 패키지 설치 프로그램을 사용하여 AWS SAMCLI를 업그레이드합니다. 지침은 AWS SAMCLI업그레이드 섹션을 참조하십시오.
-
-
pip를 사용해야 하는 경우 가상 환경에 AWS SAM CLI를 설치하는 것이 좋습니다. 이렇게 하면 설치 환경이 깔끔해지고 오류 발생 시 격리된 환경이 보장됩니다. 지침은 AWS SAM을 이용하여 가상 환경에 CLIpip 설치 섹션을 참조하십시오.
-
오류: '원격' 명령이 없습니다.
sam remote invoke
명령을 실행할 때 다음 오류가 표시됩니다.
$
sam remote invoke
2023-06-20 08:15:07 Command remote not available Usage: sam [OPTIONS] COMMAND [ARGS]... Try 'sam -h' for help. Error: No such command 'remote'....
- 가능한 원인: AWS SAMCLI의 버전이 오래된 버전입니다.
-
이 AWS SAMCLI
sam remote invoke
명령은 버전 1.88.0과 함께 AWS SAMCLI 릴리스되었습니다. 버전은sam --version
명령을 통해 확인할 수 있습니다. - 해결 방법: AWS SAMCLI를 최신 버전으로 업그레이드합니다.
-
지침은 AWS SAMCLI업그레이드 섹션을 참조하십시오.
오류: AWS SAM 프로젝트를 로컬에서 실행해야 합니다. Docker 설치하셨습니까?
sam local start-api 명령을 실행할 때 다음 오류가 표시됩니다.
Error: Running AWS SAM projects locally requires Docker. Have you got it installed?
Docker가 제대로 설치되지 않았음을 의미합니다. 애플리케이션을 로컬에서 테스트하는 데 Docker가 필요합니다. 이 문제를 해결하려면 개발 호스트용 Docker 설치 지침을 따르세요. 자세한 설명은 Docker 설치 섹션을 참조하세요.
오류: 보안 제약 조건이 충족되지 않음
sam deploy --guided 실행 중에 질문
을 묻는 메시지가 표시됩니다. 이 프롬프트에 Function
may not have authorization defined, Is this
okay? [y/N]N
(기본 응답)으로 응답하면 다음 오류가 표시됩니다.
Error: Security Constraints Not Satisfied
이 프롬프트는 배포하려는 애플리케이션에 공개적으로 액세스할 수 있는 Amazon API Gateway API가 승인 없이 구성되어 있을 수 있다는 메시지를 표시합니다. 이 프롬프트에 N
으로 응답하는 것은 괜찮지 않다고 말하는 것입니다.
이 문제를 해결할 수 있도록 다음 옵션이 제공됩니다.
-
권한 부여를 통해 애플리케이션을 구성하세요. 권한 부여 구성에 대한 자세한 내용은을 잠조하세요API Gateway API에 대한 액세스 제어
-
승인 없이 공개적으로 액세스할 수 있는 API 엔드포인트를 만들려면 배포를 다시 시작하고 이 질문에
Y
로 응답하여 배포해도 괜찮다는 의사를 표시하세요.
인증 토큰 누락
API Gateway 엔드포인트를 호출하려고 하면 다음 오류가 표시됩니다.
{"message":"Missing Authentication Token"}
이는 올바른 도메인으로 요청을 보내려고 했지만 URI를 인식할 수 없음을 의미합니다. 이 문제를 해결하려면 전체 URL을 확인하고 올바른 URL로 curl 명령을 업데이트합니다.
경고 메시지
경고:... AWS 더 이상 Homebrew 설치 프로그램을 유지 관리하지 않습니다... AWS SAM
Homebrew를 사용하여 AWS SAMCLI를 설치할 때 다음과 같은 경고 메시지가 나타납니다.
Warning: ... AWS will no longer maintain the Homebrew installer for AWS SAM (aws/tap/aws-sam-cli). For AWS supported installations, use the first party installers ...
- 잠재적 원인: Homebrew 지원을 더 이상 유지할 수 AWS 없습니다.
-
2023년 9월부터 더 이상 Homebrew 설치 프로그램을 유지 관리하지 않습니다. AWS AWS SAMCLI
해결 방법: AWS 지원되는 설치 방법을 사용하십시오.
-
AWS 지원되는 설치 방법은 에서 찾을 수 AWS SAM CLI의 설치 있습니다.
해결 방법: 계속 Homebrew를 사용하려면 커뮤니티 관리 설치 프로그램을 사용합니다.
-
재량에 따라 커뮤니티 관리 Homebrew 설치 프로그램을 사용할 수 있습니다. 지침은 AWS SAM로 CLIHomebrew 관리 단원을 참조하세요.
-