

# `cfn-lint`로 템플릿을 검증합니다.
<a name="cfn-lint"></a>

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

소스 코드, 릴리스 정보, 설정 및 전체 규칙 목록은 [GitHub의 cfn-lint 리포지토리](https://github.com/aws-cloudformation/cfn-lint)에서 확인할 수 있습니다.

**Topics**
+ [설치`cfn-lint`](#cfn-lint-install)
+ [`cfn-lint` 실행](#cfn-lint-run)
+ [검사 구성](#cfn-lint-configure)
+ [워크플로에 `cfn-lint` 추가](#cfn-lint-integrate)

## 설치`cfn-lint`
<a name="cfn-lint-install"></a>

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

```
python3 -m pip install cfn-lint
```

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

```
brew install cfn-lint
```

지원되는 Python 버전과 기타 설치 방법은 GitHub의 [설치 지침](https://github.com/aws-cloudformation/cfn-lint#install)을 참조하세요.

## `cfn-lint` 실행
<a name="cfn-lint-run"></a>

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

```
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이 아닌 종료 코드를 반환합니다. 템플릿이 선택한 검사를 통과하지 못할 경우 이 동작을 사용하여 자동 빌드를 중지할 수 있습니다.

## 검사 구성
<a name="cfn-lint-configure"></a>

템플릿으로 프로젝트 설정을 유지하려면 `.cfnlintrc`, `.cfnlintrc.yaml` 또는 `.cfnlintrc.yml` 파일을 사용합니다. 이들 파일을 사용하여 템플릿을 선택하고, 검사를 포함하거나 무시하고, AWS 리전을 선택하고, 규칙 동작을 구성할 수 있습니다. 모든 설정은 GitHub 프로젝트 설명서의 [Config 파일](https://github.com/aws-cloudformation/cfn-lint#config-file)을 참조하세요.

## 워크플로에 `cfn-lint` 추가
<a name="cfn-lint-integrate"></a>

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

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