Amplify 애플리케이션에서 환경 변수 사용 - AWS Amplify 호스팅

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

Amplify 애플리케이션에서 환경 변수 사용

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

Amplify는 사용자가 생성하는 환경 변수에 대해 다음 제약 조건을 적용합니다.

  • Amplify에서는 AWS 접두사가 포함된 환경 변수 이름을 생성할 수 없습니다. 이 접두사는 Amplify 내부 전용으로 예약되어 있습니다.

  • 환경 변수의 값은 5,500자를 초과할 수 없습니다.

중요

환경 변수를 사용하여 암호를 저장하지 않도록 합니다. Gen 2 앱의 경우 Amplify 콘솔에서 비밀 관리 기능을 사용합니다. 자세한 내용은 Amplify 설명서비밀 및 환경 변수를 참조하세요. Gen 1 앱의 경우 AWS Systems Manager Parameter Store를 사용하여 생성한 환경 비밀에 비밀을 저장합니다. 자세한 내용은 환경 비밀 관리 단원을 참조하십시오.

Amplify 환경 변수 참조

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

변수 이름 설명 예시 값

_BUILD_TIMEOUT

빌드 타임아웃 기간(분)

30

_LIVE_UPDATES

도구가 최신 버전으로 업그레이드됩니다.

[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]

USER_DISABLE_TESTS

빌드 중에 테스트 단계를 생략합니다. 앱의 모든 브랜치 또는 특정 브랜치에 대한 테스트를 비활성화할 수 있습니다.

이 환경 변수는 빌드 단계에서 테스트를 수행하는 앱에 사용됩니다. 이 변수 설정에 대한 자세한 내용을 알아보려면 Amplify 애플리케이션 또는 브랜치에 대한 테스트 끄기을 참조하십시오.

true

AWS_APP_ID

현재 빌드의 앱 ID

abcd1234

AWS_BRANCH

현재 빌드의 브랜치 이름

main, develop, beta, v2.0

AWS_BRANCH_ARN

현재 빌드의 브랜치 Amazon 리소스 이름(ARN)

aws:arn:amplify:us-west-2:123456789012:appname/branch/...

AWS_CLONE_URL

git 리포지토리 콘텐츠를 가져오기 위해 사용된 복제 URL

git@github.com:<user-name>/<repo-name>.git

AWS_COMMIT_ID

현재 빌드의 커밋 ID

다시 빌드하기 위한 "HEAD"

abcd1234

AWS_JOB_ID

현재 빌드의 작업 ID입니다.

여기에는 제로 패딩(‘0’)이 포함되므로 길이가 항상 동일합니다.

0000000001

AWS_PULL_REQUEST_ID

풀 요청 웹 미리 보기 빌드의 풀 요청 ID입니다.

이 환경 변수는 AWS CodeCommit을 리포지토리 공급자로 사용하는 경우에는 사용할 수 없습니다.

1

AWS_PULL_REQUEST_SOURCE_BRANCH

Amplify 콘솔에서 애플리케이션 브랜치에 제출되는 풀 요청 미리 보기를 위한 기능 브랜치의 이름입니다.

featureA

AWS_PULL_REQUEST_DESTINATION_BRANCH

Amplify 콘솔에서 기능 브랜치 풀 요청이 제출되는 애플리케이션 브랜치의 이름입니다.

main

AMPLIFY_AMAZON_CLIENT_ID

Amazon 클라이언트 ID

123456

AMPLIFY_AMAZON_CLIENT_SECRET

Amazon 클라이언트 암호

example123456

AMPLIFY_FACEBOOK_CLIENT_ID

Facebook 클라이언트 ID

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

Facebook 클라이언트 암호

example123456

AMPLIFY_GOOGLE_CLIENT_ID

Google 클라이언트 ID

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

Google 클라이언트 암호

example123456

AMPLIFY_DIFF_DEPLOY

diff 기반 프런트엔드 배포를 활성화 또는 비활성화합니다. 자세한 내용은 diff 기반 프론트엔드 빌드 및 배포 구성 단원을 참조하십시오.

true

AMPLIFY_DIFF_DEPLOY_ROOT

리포지토리의 루트를 기준으로 diff 기반 프런트엔드 배포를 비교하는 데 사용할 경로입니다.

dist

AMPLIFY_DIFF_BACKEND

diff 기반 백엔드 빌드를 활성화 또는 비활성화합니다. Gen 1 앱에만 적용됩니다. 자세한 내용은 Gen 1 앱을 위한 diff 기반 백엔드 빌드 구성 단원을 참조하세요.

true

AMPLIFY_BACKEND_PULL_ONLY

Amplify는 이 환경 변수를 관리합니다. Gen 1 앱에만 적용됩니다. 자세한 내용은 다른 백엔드를 가리키도록 기존 프론트엔드를 편집합니다. 단원을 참조하세요.

true

AMPLIFY_BACKEND_APP_ID

Amplify는 이 환경 변수를 관리합니다. Gen 1 앱에만 적용됩니다. 자세한 내용은 다른 백엔드를 가리키도록 기존 프론트엔드를 편집합니다. 단원을 참조하세요.

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

빌드 사양에 백엔드 섹션이 없고 백엔드 빌드를 비활성화하려면 이 환경 변수를 true으(로) 설정합니다. Gen 1 앱에만 적용됩니다.

true

AMPLIFY_ENABLE_DEBUG_OUTPUT

로그에 스택 추적을 인쇄하려면 이 변수를 true로 설정합니다. 이는 백엔드 빌드 오류를 디버깅하는 데 유용합니다.

true

AMPLIFY_MONOREPO_APP_ROOT

리포지토리의 루트를 기준으로 모노레포 앱의 앱 루트를 지정하는 데 사용할 경로입니다.

apps/react-app

AMPLIFY_USERPOOL_ID

인증을 위해 가져온 Amazon Cognito 사용자 풀의 ID

us-west-2_example

AMPLIFY_WEBCLIENT_ID

웹 애플리케이션에서 사용할 앱 클라이언트의 ID

AMPLIFY_USERPOOL_ID 환경 변수로 지정된 Amazon Cognito 사용자 풀에 액세스할 수 있도록 앱 클라이언트를 구성해야 합니다.

123456

AMPLIFY_NATIVECLIENT_ID

네이티브 애플리케이션에서 사용할 앱 클라이언트의 ID

AMPLIFY_USERPOOL_ID 환경 변수로 지정된 Amazon Cognito 사용자 풀에 액세스할 수 있도록 앱 클라이언트를 구성해야 합니다.

123456

AMPLIFY_IDENTITYPOOL_ID

Amazon Cognito 자격 증명 풀의 ID

example-identitypool-id

AMPLIFY_PERMISSIONS_BOUNDARY_ARN

Amplify에서 생성한 모든 IAM 역할에 적용되는 권한 경계로 사용할 IAM 정책의 ARN입니다.

arn:aws:iam::123456789012:policy/example-policy

AMPLIFY_DESTRUCTIVE_UPDATES

잠재적으로 데이터 손실을 일으킬 수 있는 스키마 작업으로 GraphQL API를 업데이트할 수 있도록 하려면 이 환경 변수를 true로 설정합니다.

true

참고

AMPLIFY_AMAZON_CLIENT_IDAMPLIFY_AMAZON_CLIENT_SECRET 환경 변수는 OAuth 토큰일 뿐, AWS 액세스 키와 보안 키가 아닙니다.

프런트엔드 프레임워크 환경 변수

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

API 키와 같이 중요한 값을 이러한 프런트엔드 프레임워크 접두사가 붙은 환경 변수 내에 저장하는 것은 모범 사례가 아니므로 권장하지 않습니다. 이러한 목적으로 Amplify의 빌드 시간 환경 변수를 사용하는 예는 빌드 시 환경 변수에 액세스 섹션을 참조하십시오.