기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
환경 변수
환경 변수는 빌드 시 사용 가능한 키 - 값 쌍입니다. 이러한 구성은 다음과 같을 수 있습니다.
-
데이터베이스 연결 세부 정보
-
타사 API 키
-
다양한 사용자 지정 파라미터
-
보안 암호
모범 사례로 환경 변수를 사용하여 이러한 구성을 노출할 수 있습니다. 추가하는 모든 환경 변수는 불법 액세스를 방지하기 위해 암호화되므로 비밀 정보를 저장하는 데 사용할 수 있습니다.
환경 변수Amplify 콘솔에 표시됩니다.앱 설정앱이 연속 배포를 위해 설정되고 git 저장소에 연결된 경우에만 메뉴. 이 유형의 배포에 대한 지침은 단원을 참조하십시오.기존 코드 시작하기.
환경 변수 설정
환경 변수를 설정하려면
-
에 로그인합니다.AWS Management Console를 열려면Amplify Console
. -
Amplify 콘솔에서 를 선택합니다.앱 설정를 선택한 다음 를 선택합니다.환경 변수.
-
에서환경 변수섹션, 선택변수 관리.
-
에서변수 관리섹션, 아래변수키를 입력합니다. 용값를 선택합니다. 기본적으로 Amplify 는 환경 변수를 모든 브랜치에 적용하므로 새로운 브랜치에 연결할 때 변수를 다시 입력할 필요가 없습니다.
-
(선택 사항) 특히 브랜치에 대한 환경 변수를 사용자 지정하려면 다음과 같이 브랜치 재정의를 추가합니다.
-
선택작업[] 를 선택한 다음변수 재정의 추가.
-
이제 브랜치별 환경 변수 집합을 갖게 되었습니다.
-
-
저장(Save)을 선택합니다.
환경 변수에 액세스
빌드 중 환경 변수에 액세스하려면 빌드 명령에 환경 변수를 포함하도록 빌드 설정을 편집하십시오.
환경 변수를 포함하도록 빌드 설정을 편집하려면
-
에 로그인합니다.AWS Management Console를 열려면Amplify Console
. -
Amplify 콘솔에서 를 선택합니다.앱 설정를 선택한 다음빌드 설정.
-
에서앱 빌드 사양섹션, 선택Edit.
-
환경 변수를 빌드 명령에 추가하십시오. 이제 다음 빌드 동안 환경 변수에 액세스할 수 있어야 합니다. 이 예제는 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에서 환경 변수를 사용하는 방법에 대한 자세한 내용은 단원을 참조하십시오.셸 익스팬션
소셜 로그인을 위한 인증 파라미터를 사용하여 새 백엔드 환경 만들기
브랜치를 앱에 연결하려면
-
에 로그인합니다.AWS Management Console를 열려면Amplify Console
. -
브랜치를 앱에 연결하는 절차는 브랜치를 새 앱에 연결하는지 기존 앱에 연결하는지에 따라 다릅니다.
-
브랜치를 새 앱에 연결하기
-
브랜치를 새 앱에 연결할 때빌드 설정 구성마법사의 단계에서새 환경 생성를 누르고 백엔드 환경의 이름을 입력합니다. 다음 스크린샷은백엔드 배포Amplify 콘솔의 섹션
backend
백엔드 환경 이름에 입력입니다. -
를 확장합니다.고급 설정빌드 설정 구성 마법사의 섹션을 클릭하고 소셜 로그인 키에 대한 환경 변수를 추가합니다. 예,
AMPLIFY_FACEBOOK_CLIENT_SECRET
는 유효한 환경 변수입니다. 기본적으로 사용할 수 있는 Amplify 시스템 환경 변수 목록은 의 표를 참조하십시오.환경 변수 Amplify.
-
-
브랜치를 기존 앱에 연결하기
-
새 브랜치를 기존 앱에 연결하는 경우 브랜치를 연결하기 전에 소셜 로그인 환경 변수를 설정하십시오. 탐색 창에서 [] 를 선택합니다.앱 설정,환경 변수.
-
에서환경 변수섹션, 선택변수 관리.
-
에서변수 관리섹션,변수(키), 클라이언트 ID를 입력합니다. 용값를 선택합니다. 기본적으로 사용할 수 있는 Amplify 시스템 환경 변수 목록은 의 표를 참조하십시오.환경 변수 Amplify.
-
-
프론트엔드 프레임워크 환경 변수
자체 환경 변수를 지원하는 프런트엔드 프레임워크를 사용하여 앱을 개발하는 경우 이러한 변수가 Amplify 콘솔에서 구성하는 환경 변수와 동일하지 않음을 이해하는 것이 중요합니다. 예를 들어 React (접두사 REACT_APP) 와 Gatsby (접두사 GATSBY) 를 사용하면 이러한 프레임워크가 자동으로 프런트엔드 프로덕션 빌드에 번들로 묶는 런타임 환경 변수를 만들 수 있습니다. 이러한 환경 변수를 사용하여 값을 저장하는 효과를 이해하려면 사용 중인 프런트엔드 프레임워크 문서를 참조하십시오.
API 키와 같은 민감한 값을 이러한 프런트엔드 프레임워크 접두사가 붙은 환경 변수 안에 저장하는 것은 모범 사례가 아니며 매우 바람직하지 않습니다. 이러한 목적으로 Amplify의 빌드 시간 환경 변수를 사용하는 예제는 단원을 참조하십시오.환경 변수에 액세스.
환경 변수 Amplify
Amplify 콘솔 내에서 기본적으로 액세스할 수 있는 다음과 같은 환경 변수를 사용할 수 있습니다.
변수 이름 | 설명 | 값 예 |
---|---|---|
AWS_APP_ID |
현재 빌드의 앱 ID |
|
AWS_BRANCH |
현재 빌드의 브랜치 이름 |
|
AWS_BRANCH_ARN |
현재 빌드의 브랜치 Amazon 리소스 이름 (ARN) |
|
AWS_CLONE_URL |
git 리포지토리 콘텐츠를 가져오기 위해 사용된 복제 URL |
|
AWS_COMMIT_ID |
현재 빌드의 커밋 ID 재구축을 위한 “HEAD” |
|
AWS_JOB_ID |
현재 빌드의 작업 ID입니다. 여기에는 '0' 패딩 ('0') 이 포함되므로 길이가 항상 동일합니다. |
|
_LIVE_UPDATES |
이 도구는 최신 버전으로 업그레이드됩니다. |
|
AMPLIFY_FACEBOOK_CLIENT_ID |
페이스북 클라이언트 ID |
|
AMPLIFY_FACEBOOK_CLIENT_SECRET |
페이스북 클라이언트 비밀 |
|
AMPLIFY_GOOGLE_CLIENT_ID |
Google 클라이언트 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 |
Amazon Cognito 자격 증명 풀의 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 Systems Manager(SSM) 매개 변수 암호화할 수 있는 키 값 쌍을 저장합니다. Amplify용 Apple 개인 키로 로그인 등 일부 값은 암호화해야 합니다.
환경 보안 암호 설정
다음 지침에 따라 Amplify 앱의 환경 암호를 설정합니다.AWS Systems Manager콘솔.
환경 암호를 설정하려면
-
AWS Management Console에 로그인한 다음 AWS Systems Manager 콘솔
을 엽니다. -
탐색 창에서 [] 를 선택합니다.애플리케이션 관리를 선택한 다음파라미터 스토어.
-
온AWS Systems Manager 파라미터 스토어페이지, 선택파라미터 생성.
-
온파라미터 생성[] 페이지에서파라미터 세부 정보섹션에서 다음을 수행합니다.
-
용이름에서 매개 변수를 형식으로 입력합니다.
/amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}
. -
용유형, 선택SecureString.
-
용KMS 키 소스, 선택내 당좌 계정를 눌러 계정의 기본 키를 사용합니다.
-
용값를 사용하여 암호화할 비밀 값을 입력합니다.
-
-
를 선택합니다.파라미터 생성.
Amplify 아래의 키에만 액세스 할 수 있습니다./amplify/{your_app_id}/{your_backend_environment_name}
특정 환경 빌드를 위한 것입니다. 기본값을 지정해야 합니다.AWS KMS keyAmplify가 값을 해독할 수 있도록 합니다.
환경 보안 암호 액세스
빌드 중에 환경 암호에 액세스하는 것은 다음과 유사합니다.환경 변수에 액세스환경 비밀이 저장된다는 점을 제외하면process.env.secrets
JSON 문자열로 사용합니다.
환경 보안 Amplify
Systems Manager 매개 변수를 형식으로 지정합니다./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 |
Apple 키 ID로 로그인 |
|
AMPLIFY_SIWA_PRIVATE_KEY |
Apple로 개인 키로 로그인 |
—개인 키 시작— ****...... —최종 개인 키— |