기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
환경 변수
환경 변수는 Amplify Hosting에서 사용할 수 있도록 애플리케이션 설정에 추가할 수 있는 키-값 쌍입니다. 가장 좋은 방법은 환경 변수를 사용하여 애플리케이션 구성 데이터를 노출하는 것입니다. 추가하는 모든 환경 변수는 악성 액세스를 방지하기 위해 암호화됩니다.
중요
환경 변수를 사용하여 암호를 저장하지 마십시오. 를 사용하여 만든 환경 시크릿에 시크릿 저장AWS Systems Manager파라미터 스토어. 자세한 정보는 환경 비밀을 참조하세요.
참고
환경 변수Amplify 콘솔에서 볼 수 있습니다.앱 설정앱이 지속적인 배포를 위해 설정되고 git 리포지토리에 연결된 경우에만 메뉴가 표시됩니다. 이러한 유형의 배포에 대한 지침은 을 참조하십시오.기존 코드로 시작하기.
환경 변수 증폭
Amplify 콘솔 내에서 기본적으로 다음 환경 변수에 액세스할 수 있습니다.
변수 이름 | 설명 | 값 예 |
---|---|---|
AWS_APP_ID |
현재 빌드의 앱 ID |
|
AWS_BRANCH |
현재 빌드의 브랜치 이름 |
|
AWS_BRANCH_ARN |
현재 빌드의 브랜치 아마존 리소스 이름 (ARN) |
|
AWS_CLONE_URL |
git 리포지토리 콘텐츠를 가져오기 위해 사용된 복제 URL |
|
AWS_COMMIT_ID |
현재 빌드의 커밋 ID 리빌드를 위한 “HEAD” |
|
AWS_JOB_ID |
현재 빌드의 작업 ID입니다. 여기에는 '0'의 일부 패딩이 포함되므로 항상 길이가 같습니다. |
|
AWS_PULL_REQUEST_ID |
웹 프리뷰 빌드의 풀 리퀘스트 ID입니다. 이 환경 변수는 를 사용하는 경우에만 사용할 수 있습니다.GitHub리포지토리 공급자로 |
|
_LIVE_UPDATES |
도구가 최신 버전으로 업그레이드됩니다. |
|
USER_DISABLE_TESTS |
빌드 중에는 테스트 단계가 생략됩니다. 앱의 모든 브랜치 또는 특정 브랜치에 대한 테스트를 비활성화할 수 있습니다. 이 환경 변수는 빌드 단계에서 테스트를 수행하는 앱에 사용됩니다. 이 변수 설정에 대한 자세한 내용은 을 참조하십시오.테스트 비활성화. |
|
AMPLIFY_FACEBOOK_CLIENT_ID |
페이스북 클라이언트 ID |
|
AMPLIFY_FACEBOOK_CLIENT_SECRET |
페이스북 클라이언트 시크릿 |
|
AMPLIFY_GOOGLE_CLIENT_ID |
구글 클라이언트 ID |
|
AMPLIFY_GOOGLE_CLIENT_SECRET |
구글 클라이언트 시크릿 |
|
AMPLIFY_AMAZON_CLIENT_ID |
아마존 클라이언트 ID |
|
AMPLIFY_AMAZON_CLIENT_SECRET |
아마존 클라이언트 시크릿 |
|
AMPLIFY_DIFF_DEPLOY |
diff 기반 프론트엔드 배포를 활성화 또는 비활성화합니다. 자세한 정보는 diff 기반 프런트엔드 빌드 및 배포 활성화 또는 비활성화을 참조하세요. |
|
AMPLIFY_DIFF_DEPLOY_ROOT |
리포지토리의 루트를 기준으로 diff 기반 프런트엔드 배포 비교에 사용할 경로입니다. |
|
AMPLIFY_DIFF_BACKEND |
diff 기반 백엔드 빌드를 활성화 또는 비활성화합니다. 자세한 내용은 diff 기반 백엔드 빌드 활성화 또는 비활성화 섹션을 참조하세요. |
|
AMPLIFY_BACKEND_PULL_ONLY |
Amplify는 이 환경 변수를 관리합니다. 자세한 내용은 다른 백엔드를 가리키도록 기존 프런트엔드 편집 섹션을 참조하세요. |
|
AMPLIFY_BACKEND_APP_ID |
Amplify는 이 환경 변수를 관리합니다. 자세한 내용은 다른 백엔드를 가리키도록 기존 프런트엔드 편집 섹션을 참조하세요. |
|
AMPLIFY_SKIP_BACKEND_BUILD |
빌드 사양에 백엔드 섹션이 없고 백엔드 빌드를 비활성화하려면 이 환경 변수를 다음과 같이 설정하십시오. |
|
AMPLIFY_MONOREPO_APP_ROOT |
리포지토리의 루트를 기준으로 monorepo 앱의 앱 루트를 지정하는 데 사용할 경로입니다. |
|
_BUILD_TIMEOUT |
빌드 타임아웃 기간 (분 단위) |
|
AMPLIFY_USERPOOL_ID |
인증을 위해 가져온 Amazon Cognito 사용자 풀의 ID |
|
AMPLIFY_WEBCLIENT_ID |
웹 애플리케이션에서 사용할 앱 클라이언트의 ID AMPLIFY_USERPOOL_ID 환경 변수로 지정된 Amazon Cognito 사용자 풀에 액세스할 수 있도록 앱 클라이언트를 구성해야 합니다. |
|
AMPLIFY_NATIVECLIENT_ID |
네이티브 애플리케이션에서 사용할 앱 클라이언트의 ID AMPLIFY_USERPOOL_ID 환경 변수로 지정된 Amazon Cognito 사용자 풀에 액세스할 수 있도록 앱 클라이언트를 구성해야 합니다. |
|
AMPLIFY_IDENTITYPOOL_ID |
아마존 코그니토 자격 증명 풀의 ID |
|
AMPLIFY_PERMISSIONS_BOUNDARY_ARN |
Amplify에서 생성한 모든 IAM 역할에 적용되는 권한 경계로 사용할 IAM 정책의 ARN입니다. 자세한 내용은 을 참조하십시오.Amplify에서 생성한 역할을 위한 IAM 권한 경계 |
|
AMPLIFY_DESTRUCTIVE_UPDATES |
이 환경 변수를 true로 설정하면 잠재적으로 데이터 손실을 초래할 수 있는 스키마 작업으로 GraphQL API를 업데이트할 수 있습니다. 자세한 내용은 을 참조하십시오.스키마 업데이트 |
|
참고
더AMPLIFY_AMAZON_CLIENT_ID
과AMPLIFY_AMAZON_CLIENT_SECRET
환경 변수는 OAuth 토큰이지AWS액세스 키와 비밀 키
환경 변수 설정
환경 변수를 설정하려면
-
에 로그인AWS Management Console그리고 여세요앰플리파이 콘솔
. -
Amplify 콘솔에서 다음을 선택합니다.앱 설정를 선택한 다음 선택환경 변수.
-
에서환경 변수섹션, 선택변수 관리.
-
에서변수 관리섹션, 아래변하기 쉬운, 키를 입력하세요. ... 에 대한가치, 값을 입력합니다. 기본적으로 Amplify는 모든 브랜치에 환경 변수를 적용하므로 새 브랜치를 연결할 때 변수를 다시 입력할 필요가 없습니다.
-
(선택 사항) 특정 브랜치에 맞게 환경 변수를 사용자 지정하려면 다음과 같이 브랜치 오버라이드를 추가하십시오.
-
선택해 주세요액션그런 다음 선택변수 오버라이드 추가.
-
이제 브랜치별 환경 변수 집합을 갖게 되었습니다.
-
-
저장을 선택합니다.
빌드 시 환경 변수에 액세스
빌드 중 환경 변수에 액세스하려면 빌드 명령에 환경 변수를 포함하도록 빌드 설정을 편집하십시오.
환경 변수를 포함하도록 빌드 설정을 편집하려면
-
에 로그인AWS Management Console그리고 여세요앰플리파이 콘솔
. -
Amplify 콘솔에서 다음을 선택합니다.앱 설정, 그런 다음 선택빌드 설정.
-
에서앱 빌드 사양섹션, 선택편집.
-
환경 변수를 빌드 명령에 추가하십시오. 이제 다음 빌드 동안 환경 변수에 액세스할 수 있어야 합니다. 이 예제는 npm의 동작을 변경합니다 (BUILD_ENV) 및 API 토큰 () 을 추가합니다.TWITCH_CLIENT_ID) 를 사용하여 나중에 사용할 수 있도록 환경 파일에 대한 외부 서비스를 제공합니다.
build: commands: - npm run build:$BUILD_ENV - echo "TWITCH_CLIENT_ID=$TWITCH_CLIENT_ID" >> backend/.env
빌드 구성의 각 명령은 Bash 셸 내에서 실행됩니다. Bash에서 환경 변수를 사용하는 방법에 대한 자세한 내용은 을 참조하십시오.셸 확장
서버 측 런타임에 액세스할 수 있는 환경 변수 만들기
Next.js 서버 구성요소는 기본적으로 앱의 환경 변수에 액세스할 수 없습니다. 이 동작은 애플리케이션이 빌드 단계에서 사용하는 환경 변수에 저장된 모든 비밀을 보호하기 위한 것입니다.
Next.js 에서 특정 환경 변수에 액세스할 수 있게 하려면 Next.js 가 인식하는 환경 파일에 환경 변수를 설정하도록 Amplify 빌드 사양 파일을 수정해야 합니다. 이를 통해 Amplify는 애플리케이션을 빌드하기 전에 환경 변수를 로드할 수 있습니다. 빌드 사양 수정에 대한 자세한 내용은 방법 예시를 참조하세요.빌드 명령 섹션에 환경 변수 추가.
소셜 로그인을 위한 인증 파라미터로 새 백엔드 환경 만들기
브랜치를 앱에 연결하려면
-
에 로그인AWS Management Console그리고 여세요앰플리파이 콘솔
. -
브랜치를 앱에 연결하는 절차는 브랜치를 새 앱에 연결하는지 아니면 기존 앱에 연결하는지에 따라 달라집니다.
-
브랜치를 새 앱에 연결
-
... 에빌드 설정페이지, 찾기이 브랜치에 사용할 백엔드 환경을 선택합니다.섹션. ... 에 대한환경, 선택새 환경 만들기를 누르고 백엔드 환경의 이름을 입력합니다. 다음 스크린샷은이 브랜치에 사용할 백엔드 환경을 선택합니다.의 섹션빌드 설정페이지 포함
backend
백엔드 환경 이름으로 입력되었습니다. -
확장하세요고급 설정에 대한 섹션빌드 설정페이징하고 소셜 로그인 키에 대한 환경 변수를 추가합니다. 예를 들어,
AMPLIFY_FACEBOOK_CLIENT_SECRET
유효한 환경 변수입니다. 기본적으로 사용 가능한 Amplify 시스템 환경 변수 목록은 의 표를 참조하십시오.환경 변수 증폭.
-
-
브랜치를 기존 앱에 연결
-
새 브랜치를 기존 앱에 연결하는 경우 브랜치를 연결하기 전에 소셜 로그인 환경 변수를 설정하십시오. 탐색 창에서 선택앱 설정,환경 변수.
-
에서환경 변수섹션, 선택변수 관리.
-
에서변수 관리섹션, 선택변수 추가.
-
... 에 대한변하기 쉬운(키), 클라이언트 ID를 입력합니다. ... 에 대한가치, 고객 비밀번호를 입력하세요.
-
선택,저장.
-
-
프런트엔드 프레임워크 환경 변수
자체 환경 변수를 지원하는 프런트엔드 프레임워크로 앱을 개발하는 경우 이러한 변수는 Amplify 콘솔에서 구성하는 환경 변수와 동일하지 않다는 점을 이해하는 것이 중요합니다. 예를 들어 React (접두사 REACT_APP) 및 Gatsby (접두사 GATSBY) 를 사용하면 해당 프레임워크가 프런트엔드 프로덕션 빌드에 자동으로 번들로 묶는 런타임 환경 변수를 만들 수 있습니다. 이러한 환경 변수를 사용하여 값을 저장할 때의 영향을 이해하려면 사용 중인 프런트엔드 프레임워크의 설명서를 참조하십시오.
API 키와 같은 민감한 값을 이러한 프런트엔드 프레임워크 접두사가 붙은 환경 변수에 저장하는 것은 모범 사례가 아니므로 사용하지 않는 것이 좋습니다. 이러한 목적으로 Amplify의 빌드 타임 환경 변수를 사용하는 예는 다음을 참조하십시오.빌드 시 환경 변수에 액세스.
환경 비밀
환경 비밀은 환경 변수와 비슷하지만AWS Systems Manager(SSM) 파라미터 저장소 키 값 쌍을 암호화할 수 있습니다. 일부 값은 암호화되어야 합니다 (예: Amplify용 Apple 개인 키로 로그인).
환경 비밀 설정
다음 지침을 사용하여 Amplify 앱의 환경 암호를 설정하십시오.AWS Systems Manager콘솔.
환경 시크릿 설정하기
-
AWS Management Console에 로그인한 다음 AWS Systems Manager 콘솔
을 엽니다. -
탐색 창에서 선택애플리케이션 관리, 그런 다음 선택파라미터 스토어.
-
... 에AWS 시스템 관리자 파라미터 스토어페이지, 선택파라미터 생성.
-
... 에파라미터 생성페이지에서매개변수 세부 정보섹션에서 다음을 수행하십시오.
-
... 에 대한이름, 다음 형식으로 매개 변수를 입력합니다.
/amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}
. -
유형(Type)에서 SecureString를 선택합니다.
-
... 에 대한KMS 키 소스, 선택내 당좌 계좌계정의 기본 키를 사용하려면
-
... 에 대한가치, 암호화할 비밀 값을 입력합니다.
-
-
선택,파라미터 생성.
참고
Amplify는 아래 키에만 액세스할 수 있습니다./amplify/{your_app_id}/{your_backend_environment_name}
특정 환경 빌드용. 기본값을 지정해야 합니다.AWS KMS keyAmplify가 값을 해독할 수 있도록 합니다.
환경 비밀에 액세스
빌드 중에 환경 비밀에 액세스하는 것은 다음과 유사합니다.환경 변수 액세스(단, 환경 비밀이 저장되어 있다는 점 제외)process.env.secrets
JSON 문자열로.
환경 비밀 확대
시스템 관리자 매개 변수를 다음 형식으로 지정합니다./amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID
.
Amplify 콘솔 내에서 기본적으로 액세스할 수 있는 다음과 같은 환경 비밀을 사용할 수 있습니다.
변수 이름 | 설명 | 값 예 |
---|---|---|
AMPLIFY_SIWA_CLIENT_ID |
Apple 클라이언트 ID로 로그인 |
|
AMPLIFY_SIWA_TEAM_ID |
Apple 팀 ID로 로그인하기 |
|
AMPLIFY_SIWA_KEY_ID |
애플 키 ID로 로그인하기 |
|
AMPLIFY_SIWA_PRIVATE_KEY |
Apple 개인 키로 로그인하기 |
-----개인 키 시작----- ****...... -----개인 키 종료----- |