

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

# Amplify 애플리케이션에서 환경 변수 사용
<a name="environment-variables"></a>

환경 변수란 Amplify Hosting에서 사용할 수 있도록 애플리케이션 설정에 추가할 수 있는 키-값 페어입니다. 모범 사례로 환경 변수를 사용하여 이러한 애플리케이션 구성 데이터를 노출할 수 있습니다. 추가하는 모든 환경 변수는 불법 액세스를 방지하기 위해 암호화됩니다.

Amplify는 사용자가 생성하는 환경 변수에 대해 다음 제약 조건을 적용합니다.
+ Amplify에서는 `AWS` 접두사가 포함된 환경 변수 이름을 생성할 수 없습니다. 이 접두사는 Amplify 내부 전용으로 예약되어 있습니다.
+ 환경 변수의 값은 5,500자를 초과할 수 없습니다.

**중요**  
환경 변수를 사용하여 암호를 저장하지 않도록 합니다. 2세대 앱의 경우 Amplify 콘솔에서 **보안 암호 관리** 기능을 사용합니다. 자세한 내용은 *Amplify 설명서*의 [보안 암호 및 환경 변수](https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/secrets-and-vars/)를 참조하세요. Gen 1 앱의 경우 파라미터 AWS Systems Manager 스토어를 사용하여 생성된 환경 보안 암호에 보안 암호를 저장합니다. 자세한 내용은 [환경 보안 암호 관리](environment-secrets.md) 단원을 참조하십시오.

## Amplify 환경 변수 참조
<a name="amplify-console-environment-variables"></a>

다음 환경 변수는 Amplify 콘솔 내에서 기본적으로 액세스할 수 있습니다.


****  

| 변수 이름 | 설명 | 예시 값 | 
| --- | --- | --- | 
|  \$1BUILD\$1TIMEOUT  |  빌드 제한 시간(분). 최소값은 5입니다. 최대값은 120입니다.  |  `30`  | 
|  \$1LIVE\$1UPDATES  |  도구가 최신 버전으로 업그레이드됩니다.  |  `[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]`  | 
|  USER\$1DISABLE\$1TESTS  |  빌드 중에 테스트 단계를 생략합니다. 앱의 모든 브랜치 또는 특정 브랜치에 대한 테스트를 비활성화할 수 있습니다. 이 환경 변수는 빌드 단계에서 테스트를 수행하는 앱에 사용됩니다. 이 변수 설정에 대한 자세한 내용을 알아보려면 [Amplify 애플리케이션 또는 브랜치에 대한 테스트 끄기](running-tests.md#disabling-tests) 섹션을 참조하세요.  |  `true`  | 
|  AWS\$1APP\$1ID  |  현재 빌드의 앱 ID  |  `abcd1234`  | 
|  AWS\$1BRANCH  |  현재 빌드의 브랜치 이름  |  `main`, `develop`, `beta`, `v2.0`  | 
|  AWS\$1BRANCH\$1ARN  |  현재 빌드의 브랜치 Amazon 리소스 이름(ARN)  | `aws:arn:amplify:us-west-2:123456789012:appname/branch/... ` | 
|  AWS\$1CLONE\$1URL  |  git 리포지토리 콘텐츠를 가져오기 위해 사용된 복제 URL  |   `git@github.com:<user-name>/<repo-name>.git`   | 
|  AWS\$1COMMIT\$1ID  |  현재 빌드의 커밋 ID 다시 빌드하기 위한 "HEAD"  |  `abcd1234`  | 
|  AWS\$1JOB\$1ID  |  현재 빌드의 작업 ID입니다. 여기에는 제로 패딩(‘0’)이 포함되므로 길이가 항상 동일합니다.  |  `0000000001`  | 
|  AWS\$1PULL\$1REQUEST\$1ID  |  pull 요청 웹 미리 보기 빌드의 pull 요청 ID입니다. 를 리포지토리 공급자 AWS CodeCommit 로 사용할 때는이 환경 변수를 사용할 수 없습니다.  |  `1`  | 
|  AWS\$1PULL\$1REQUEST\$1SOURCE\$1BRANCH  |  Amplify 콘솔에서 애플리케이션 브랜치에 제출되는 pull 요청 미리 보기를 위한 기능 브랜치의 이름입니다.  |  `featureA`  | 
|  AWS\$1PULL\$1REQUEST\$1DESTINATION\$1BRANCH  |  Amplify 콘솔에서 기능 브랜치 pull 요청이 제출되는 애플리케이션 브랜치의 이름입니다.  |  `main`  | 
|  AMPLIFY\$1AMAZON\$1CLIENT\$1ID  |  Amazon 클라이언트 ID  |  `123456`  | 
|  AMPLIFY\$1AMAZON\$1CLIENT\$1SECRET  |  Amazon 클라이언트 암호  |  `example123456`  | 
|  AMPLIFY\$1FACEBOOK\$1CLIENT\$1ID  |  Facebook 클라이언트 ID  |  `123456`  | 
|  AMPLIFY\$1FACEBOOK\$1CLIENT\$1SECRET  |  Facebook 클라이언트 암호  |  `example123456`  | 
|  AMPLIFY\$1GOOGLE\$1CLIENT\$1ID  |  Google 클라이언트 ID  |  `123456`  | 
|  AMPLIFY\$1GOOGLE\$1CLIENT\$1SECRET  |  Google 클라이언트 암호  |  `example123456`  | 
|  AMPLIFY\$1DIFF\$1DEPLOY  |  diff 기반 프론트엔드 배포를 활성화 또는 비활성화합니다. 자세한 내용은 [diff 기반 프론트엔드 빌드 및 배포 구성](edit-build-settings.md#enable-diff-deploy) 단원을 참조하십시오.  |  `true`  | 
|  AMPLIFY\$1DIFF\$1DEPLOY\$1ROOT  |  리포지토리의 루트를 기준으로 diff 기반 프론트엔드 배포를 비교하는 데 사용할 경로입니다.  | `dist` | 
|  AMPLIFY\$1DIFF\$1BACKEND  |  diff 기반 백엔드 빌드를 활성화 또는 비활성화합니다. 1세대 앱에만 적용됩니다. 자세한 내용은 [1세대 앱을 위한 diff 기반 백엔드 빌드 구성](edit-build-settings.md#enable-diff-backend) 섹션을 참조하세요.  | `true` | 
|  AMPLIFY\$1BACKEND\$1PULL\$1ONLY  |  Amplify는 이 환경 변수를 관리합니다. Gen 1 앱에만 적용됩니다. 자세한 내용은 [다른 백엔드를 가리키도록 기존 프론트엔드를 편집합니다.](reuse-backends.md#reuse-backends-edit-existing) 섹션을 참조하세요.  | `true` | 
|  AMPLIFY\$1BACKEND\$1APP\$1ID  |  Amplify는 이 환경 변수를 관리합니다. Gen 1 앱에만 적용됩니다. 자세한 내용은 [다른 백엔드를 가리키도록 기존 프론트엔드를 편집합니다.](reuse-backends.md#reuse-backends-edit-existing) 섹션을 참조하세요.  | `abcd1234` | 
|  AMPLIFY\$1SKIP\$1BACKEND\$1BUILD  |  빌드 사양에 백엔드 섹션이 없고 백엔드 빌드를 비활성화하려면 이 환경 변수를 `true`으(로) 설정합니다. Gen 1 앱에만 적용됩니다.  | `true` | 
|  AMPLIFY\$1ENABLE\$1DEBUG\$1OUTPUT  |  로그에 스택 추적을 인쇄하려면 이 변수를 `true`로 설정합니다. 이는 백엔드 빌드 오류를 디버깅하는 데 유용합니다.  | `true` | 
|  AMPLIFY\$1MONOREPO\$1APP\$1ROOT  |  리포지토리의 루트를 기준으로 모노레포 앱의 앱 루트를 지정하는 데 사용할 경로입니다.  | `apps/react-app` | 
|  AMPLIFY\$1USERPOOL\$1ID  |  인증을 위해 가져온 Amazon Cognito 사용자 풀의 ID  |  `us-west-2_example`  | 
|  AMPLIFY\$1WEBCLIENT\$1ID  |  웹 애플리케이션에서 사용할 앱 클라이언트의 ID AMPLIFY\$1USERPOOL\$1ID 환경 변수로 지정된 Amazon Cognito 사용자 풀에 액세스할 수 있도록 앱 클라이언트를 구성해야 합니다.  | `123456` | 
|  AMPLIFY\$1NATIVECLIENT\$1ID  |  네이티브 애플리케이션에서 사용할 앱 클라이언트의 ID AMPLIFY\$1USERPOOL\$1ID 환경 변수로 지정된 Amazon Cognito 사용자 풀에 액세스할 수 있도록 앱 클라이언트를 구성해야 합니다.  | `123456` | 
|  AMPLIFY\$1IDENTITYPOOL\$1ID  |  Amazon Cognito 자격 증명 풀의 ID  |  `example-identitypool-id`  | 
|  AMPLIFY\$1PERMISSIONS\$1BOUNDARY\$1ARN  |  Amplify에서 생성한 모든 IAM 역할에 적용되는 권한 경계로 사용할 IAM 정책의 ARN입니다.  |  `arn:aws:iam::123456789012:policy/example-policy`  | 
|  AMPLIFY\$1DESTRUCTIVE\$1UPDATES  |  잠재적으로 데이터 손실을 일으킬 수 있는 스키마 작업으로 GraphQL API를 업데이트할 수 있도록 하려면 이 환경 변수를 true로 설정합니다.  |  `true`  | 

**참고**  
`AMPLIFY_AMAZON_CLIENT_ID` 및 `AMPLIFY_AMAZON_CLIENT_SECRET` 환경 변수는 AWS 액세스 키와 보안 키가 아닌 OAuth 토큰입니다.

## 프론트엔드 프레임워크 환경 변수
<a name="frontend-framework-environment-variables"></a>

자체 환경 변수를 지원하는 프론트엔드 프레임워크로 앱을 개발하는 경우 이러한 변수는 Amplify 콘솔에 구성하는 환경 변수와 동일하지 않다는 점을 이해하는 것이 중요합니다. 예를 들어 React(접두사: REACT\$1APP)와 Gatsby(접두사: GATSBY)는 해당 프레임워크가 프론트엔드 프로덕션 빌드에 자동으로 번들링하는 런타임 환경 변수를 만들 수 있습니다. 이러한 환경 변수를 사용하여 값을 저장하는 데 따르는 영향을 이해하려면 사용 중인 프론트엔드 프레임워크 설명서를 참조하세요.

API 키와 같이 중요한 값을 이러한 프론트엔드 프레임워크 접두사가 붙은 환경 변수 내에 저장하는 것은 모범 사례가 아니므로 권장하지 않습니다.