View a markdown version of this page

cfn-lint로 템플릿을 검증합니다. - AWS CloudFormation

cfn-lint로 템플릿을 검증합니다.

CloudFormation Linter(cfn-lint)는 CloudFormation 리소스 공급자 스키마와 추가 규칙에 따라 JSON 및 YAML 템플릿을 검사합니다. 이를 통해 CloudFormation으로 템플릿을 보내기 전 잘못된 리소스 속성, 지원되지 않는 값 및 일반적인 문제를 찾을 수 있습니다.

소스 코드, 릴리스 정보, 설정 및 전체 규칙 목록은 GitHub의 cfn-lint 리포지토리에서 확인할 수 있습니다.

설치cfn-lint

파이썬 패키지 인덱스(PyPI)에서 cfn-lint 설치:

python3 -m pip install cfn-lint

macOS에서는 대신 Homebrew를 사용하여 설치할 수 있습니다.

brew install cfn-lint

지원되는 Python 버전과 기타 설치 방법은 GitHub의 설치 지침을 참조하세요.

cfn-lint 실행

명령에 하나 이상의 템플릿 경로를 전달합니다.

cfn-lint template.yaml cfn-lint template-one.yaml template-two.json

여러 AWS 리전에 대한 템플릿을 검사하려면 --regions 옵션을 사용합니다.

cfn-lint --regions us-east-1 us-west-2 -- template.yaml

이 명령은 문제를 발견하면 0이 아닌 종료 코드를 반환합니다. 템플릿이 선택한 검사를 통과하지 못할 경우 이 동작을 사용하여 자동 빌드를 중지할 수 있습니다.

검사 구성

템플릿으로 프로젝트 설정을 유지하려면 .cfnlintrc, .cfnlintrc.yaml 또는 .cfnlintrc.yml 파일을 사용합니다. 이들 파일을 사용하여 템플릿을 선택하고, 검사를 포함하거나 무시하고, AWS 리전을 선택하고, 규칙 동작을 구성할 수 있습니다. 모든 설정은 GitHub 프로젝트 설명서의 Config 파일을 참조하세요.

워크플로에 cfn-lint 추가

cfn-lint를 지원되는 편집기에서 실행하거나, Git 커밋 전 자동으로 실행하거나, 자동 빌드의 일부로 실행할 수 있습니다. 또한 CloudFormation 언어 서버는 cfn-lint를 사용하여 입력하는 동안 문제를 표시합니다. 언어 서버 설정은 CloudFormation 언어 서버 섹션을 참조하세요.

편집기 플러그인, GitHub Actions, 사전 커밋 구성, 사용자 지정 규칙, 추가 예제는 GitHub의 cfn-lint 프로젝트 설명서를 참조하세요.