환경 변수 - AWS Amplify호스팅

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

환경 변수

환경 변수는 빌드 시 사용 가능한 키 - 값 쌍입니다. 이러한 구성은 다음과 같을 수 있습니다.

  • 데이터베이스 연결 세부 정보

  • 타사 API 키

  • 다양한 사용자 지정 파라미터

  • 보안 암호

모범 사례로 환경 변수를 사용하여 이러한 구성을 노출할 수 있습니다. 추가하는 모든 환경 변수는 불법 액세스를 방지하기 위해 암호화되므로 비밀 정보를 저장하는 데 사용할 수 있습니다.

참고

환경 변수Amplify 콘솔에 표시됩니다.앱 설정앱이 연속 배포를 위해 설정되고 git 저장소에 연결된 경우에만 메뉴. 이 유형의 배포에 대한 지침은 단원을 참조하십시오.기존 코드 시작하기.

환경 변수 설정

환경 변수를 설정하려면

  1. 에 로그인합니다.AWS Management Console를 열려면Amplify Console.

  2. Amplify 콘솔에서 를 선택합니다.앱 설정를 선택한 다음 를 선택합니다.환경 변수.

  3. 에서환경 변수섹션, 선택변수 관리.

  4. 에서변수 관리섹션, 아래변수키를 입력합니다. 용를 선택합니다. 기본적으로 Amplify 는 환경 변수를 모든 브랜치에 적용하므로 새로운 브랜치에 연결할 때 변수를 다시 입력할 필요가 없습니다.

    
                  변수 관리 섹션의 스크린샷.
  5. (선택 사항) 특히 브랜치에 대한 환경 변수를 사용자 지정하려면 다음과 같이 브랜치 재정의를 추가합니다.

    1. 선택작업[] 를 선택한 다음변수 재정의 추가.

    2. 이제 브랜치별 환경 변수 집합을 갖게 되었습니다.

    
                  분기 오버라이드를 추가하는 방법을 보여주는 애니메이션 gif.
  6. 저장(Save)을 선택합니다.

환경 변수에 액세스

빌드 중 환경 변수에 액세스하려면 빌드 명령에 환경 변수를 포함하도록 빌드 설정을 편집하십시오.

환경 변수를 포함하도록 빌드 설정을 편집하려면

  1. 에 로그인합니다.AWS Management Console를 열려면Amplify Console.

  2. Amplify 콘솔에서 를 선택합니다.앱 설정를 선택한 다음빌드 설정.

  3. 에서앱 빌드 사양섹션, 선택Edit.

  4. 환경 변수를 빌드 명령에 추가하십시오. 이제 다음 빌드 동안 환경 변수에 액세스할 수 있어야 합니다. 이 예제는 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에서 환경 변수를 사용하는 방법에 대한 자세한 내용은 단원을 참조하십시오.셸 익스팬션GNU 배쉬 매뉴얼에 나와 있습니다.

소셜 로그인을 위한 인증 파라미터를 사용하여 새 백엔드 환경 만들기

브랜치를 앱에 연결하려면

  1. 에 로그인합니다.AWS Management Console를 열려면Amplify Console.

  2. 브랜치를 앱에 연결하는 절차는 브랜치를 새 앱에 연결하는지 기존 앱에 연결하는지에 따라 다릅니다.

    • 브랜치를 새 앱에 연결하기

      1. 브랜치를 새 앱에 연결할 때빌드 설정 구성마법사의 단계에서새 환경 생성를 누르고 백엔드 환경의 이름을 입력합니다. 다음 스크린샷은백엔드 배포Amplify 콘솔의 섹션backend백엔드 환경 이름에 입력입니다.

        
                              Amplify 콘솔의 백엔드 배포 섹션의 스크린샷입니다.
      2. 를 확장합니다.고급 설정빌드 설정 구성 마법사의 섹션을 클릭하고 소셜 로그인 키에 대한 환경 변수를 추가합니다. 예,AMPLIFY_FACEBOOK_CLIENT_SECRET는 유효한 환경 변수입니다. 기본적으로 사용할 수 있는 Amplify 시스템 환경 변수 목록은 의 표를 참조하십시오.환경 변수 Amplify.

    • 브랜치를 기존 앱에 연결하기

      1. 새 브랜치를 기존 앱에 연결하는 경우 브랜치를 연결하기 전에 소셜 로그인 환경 변수를 설정하십시오. 탐색 창에서 [] 를 선택합니다.앱 설정,환경 변수.

      2. 에서환경 변수섹션, 선택변수 관리.

      3. 에서변수 관리섹션,변수(키), 클라이언트 ID를 입력합니다. 용를 선택합니다. 기본적으로 사용할 수 있는 Amplify 시스템 환경 변수 목록은 의 표를 참조하십시오.환경 변수 Amplify.

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

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

API 키와 같은 민감한 값을 이러한 프런트엔드 프레임워크 접두사가 붙은 환경 변수 안에 저장하는 것은 모범 사례가 아니며 매우 바람직하지 않습니다. 이러한 목적으로 Amplify의 빌드 시간 환경 변수를 사용하는 예제는 단원을 참조하십시오.환경 변수에 액세스.

환경 변수 Amplify

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

변수 이름 설명 값 예

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' 패딩 ('0') 이 포함되므로 길이가 항상 동일합니다.

0000000001

_LIVE_UPDATES

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

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

AMPLIFY_FACEBOOK_CLIENT_ID

페이스북 클라이언트 ID

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

페이스북 클라이언트 비밀

example123456

AMPLIFY_GOOGLE_CLIENT_ID

Google 클라이언트 ID

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

구글 클라이언트 시크릿

example123456

AMPLIFY_AMAZON_CLIENT_ID

아마존 클라이언트 ID

123456

AMPLIFY_AMAZON_CLIENT_SECRET

아마존 클라이언트 시크릿

example123456

AMPLIFY_DIFF_DEPLOY

diff 기반 프론트엔드 배포를 활성화하거나 비활성화합니다. 자세한 정보는 diff 기반 프런트엔드 빌드 및 배포 활성화 또는 비활성화을 참조하십시오.

true

AMPLIFY_DIFF_DEPLOY_ROOT

저장소의 루트에 상대적인 diff 기반 프런트엔드 배포 비교에 사용할 경로입니다.

dist

AMPLIFY_DIFF_BACKEND

diff 기반 백엔드 빌드를 활성화하거나 비활성화합니다. 자세한 내용은 단원을 참조하십시오.diff 기반 백엔드 빌드 활성화 또는 비활성화

true

AMPLIFY_BACKEND_PULL_ONLY

Amplify 는 이 환경 변수를 관리합니다. 자세한 내용은 단원을 참조하십시오.기존 프런트엔드를 편집하여 다른 백엔드를 가리키도록

true

AMPLIFY_BACKEND_APP_ID

Amplify 는 이 환경 변수를 관리합니다. 자세한 내용은 단원을 참조하십시오.기존 프런트엔드를 편집하여 다른 백엔드를 가리키도록

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

빌드 사양에 백엔드 섹션이 없고 백엔드 빌드를 비활성화하려면 이 환경 변수를 로 설정합니다.true.

true

AMPLIFY_MONOREPO_APP_ROOT

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

apps/react-app

_BUILD_TIMEOUT

빌드 시간 초과 기간 (분)

30

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입니다. 자세한 내용은 단원을 참조하십시오.Amplify에서 생성한 역할에 대한 IAM 권한 경계.

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

AMPLIFY_DESTRUCTIVE_UPDATES

이 환경 변수를 true로 설정하면 GraphQL API가 잠재적으로 데이터 손실을 초래할 수 있는 스키마 작업으로 업데이트할 수 있습니다. 자세한 내용은 단원을 참조하십시오.스키마 업데이트.

true

참고

AMPLIFY_AMAZON_CLIENT_IDAMPLIFY_AMAZON_CLIENT_SECRET환경 변수는 OAuth 토큰이며AWS액세스 키와 보안 키를 선택합니다.

환경 보안 암호

환경 비밀은 환경 변수와 비슷하지만AWS Systems Manager(SSM) 매개 변수 암호화할 수 있는 키 값 쌍을 저장합니다. Amplify용 Apple 개인 키로 로그인 등 일부 값은 암호화해야 합니다.

환경 보안 암호 설정

다음 지침에 따라 Amplify 앱의 환경 암호를 설정합니다.AWS Systems Manager콘솔.

환경 암호를 설정하려면

  1. AWS Management Console에 로그인한 다음 AWS Systems Manager 콘솔을 엽니다.

  2. 탐색 창에서 [] 를 선택합니다.애플리케이션 관리를 선택한 다음파라미터 스토어.

  3. AWS Systems Manager 파라미터 스토어페이지, 선택파라미터 생성.

  4. 파라미터 생성[] 페이지에서파라미터 세부 정보섹션에서 다음을 수행합니다.

    1. 이름에서 매개 변수를 형식으로 입력합니다./amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}.

    2. 유형, 선택SecureString.

    3. KMS 키 소스, 선택내 당좌 계정를 눌러 계정의 기본 키를 사용합니다.

    4. 를 사용하여 암호화할 비밀 값을 입력합니다.

  5. 를 선택합니다.파라미터 생성.

참고

Amplify 아래의 키에만 액세스 할 수 있습니다./amplify/{your_app_id}/{your_backend_environment_name}특정 환경 빌드를 위한 것입니다. 기본값을 지정해야 합니다.AWS KMS keyAmplify가 값을 해독할 수 있도록 합니다.

환경 보안 암호 액세스

빌드 중에 환경 암호에 액세스하는 것은 다음과 유사합니다.환경 변수에 액세스환경 비밀이 저장된다는 점을 제외하면process.env.secretsJSON 문자열로 사용합니다.

환경 보안 Amplify

Systems Manager 매개 변수를 형식으로 지정합니다./amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID.

Amplify 콘솔 내에서 기본적으로 액세스할 수 있는 다음과 같은 환경 암호를 사용할 수 있습니다.

변수 이름 설명 값 예

AMPLIFY_SIWA_CLIENT_ID

Apple로 클라이언트 ID로 로그인

com.yourapp.auth

AMPLIFY_SIWA_TEAM_ID

Apple로 로그인 팀 ID로

ABCD123

AMPLIFY_SIWA_KEY_ID

Apple 키 ID로 로그인

ABCD123

AMPLIFY_SIWA_PRIVATE_KEY

Apple로 개인 키로 로그인

—개인 키 시작—

****......

—최종 개인 키—