環境変数 - AWS Amplifyホスティング

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

環境変数

環境変数は、ビルド時に利用可能なキーと値のペアです。これらの設定は、次のいずれの場合でも使用できます。

  • データベース接続の詳細

  • サードパーティーの API キー

  • 別のカスタマイズパラメータ

  • Secrets

ベストプラクティスとして、環境変数を使用して、これらの設定を公開することができます。追加する環境変数はすべて、不正アクセスを防ぐために暗号化されているため、シークレット情報を保存するために使用できます。

注記

環境変数は、Amplify コンソールで表示できます。アプリ設定メニューは、アプリが継続的デプロイ用に設定され、git リポジトリに接続されている場合のみです。このタイプの展開の手順については、を参照してください。既存のコードの使用開始

環境変数の設定

環境変数を設定するには

  1. にサインインします。AWS Management Console[] を開き、コンソールAmplify

  2. Amplify コンソールで、[] を選択します。アプリ設定[] を選択してから、環境変数

  3. 環境変数[] セクションで、[変数を管理する

  4. 変数を管理する[] セクション、[]可変[] にキーを入力します。を使用する場合Value[] で、[] の値を入力します。デフォルトでは、環境変数は、Amplify によってすべてのブランチに適用されるため、新しいブランチへの接続時に変数を再入力する必要はありません。

    
                  変数の管理セクションのスクリーンショット。
  5. (オプション) ブランチ専用に環境変数をカスタマイズするには、次のようにブランチの上書きを追加します。

    1. 選択アクション[] を選択してから、変数オーバーライドの追加

    2. これで、ブランチに固有の一連の環境変数ができました。

    
                  ブランチオーバーライドを追加する方法を示すアニメーション gif。
  6. [Save] (保存) を選択します。

環境変数にアクセスする

ビルド中に環境変数にアクセスするには、ビルドコマンドに環境変数が含まれるようにビルド設定を編集します。

ビルド設定を編集して環境変数を含めるには

  1. にサインインします。AWS Management Console[] を開き、コンソールAmplify

  2. Amplify コンソールで、[] を選択します。アプリ設定[] を選択してから、ビルド設定

  3. アプリビルド仕様[] セクションで、[編集

  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 Bashマニュアルに書かれている。

ソーシャルサインイン用の認証パラメータを使用して新しいバックエンド環境を作成する

ブランチをアプリに接続するには

  1. にサインインします。AWS Management Console[] を開き、コンソールAmplify

  2. ブランチをアプリに接続する手順は、ブランチを新しいアプリに接続するか、既存のアプリに接続するかによって異なります。

    • ブランチを新しいアプリに接続する

      1. ブランチを新しいアプリに接続するときは、ビルド設定を構成するウィザードの手順で、[] を選択します。新しい環境を作成するをクリックし、バックエンド環境の名前を入力します。次のスクリーンショットは、バックエンドのデプロイメントAmplify コンソールのセクションbackendバックエンド環境名を入力しました。

        
                              Amplify コンソールの「バックエンドデプロイ」セクションのスクリーンショット。
      2. を展開します。詳細設定ビルド設定構成ウィザードで、ソーシャルサインインキーの環境変数を追加します。例:AMPLIFY_FACEBOOK_CLIENT_SECRETは有効な環境変数です。デフォルトで使用できる Amplify システム環境変数のリストについては、の表を参照してください。環境変数のAmplify を行う

    • ブランチを既存のアプリに接続する

      1. 新しいブランチを既存のアプリに接続する場合は、ブランチを接続する前にソーシャルサインイン環境変数を設定します。ナビゲーションペインで、[] を選択します。アプリ設定,環境変数

      2. 環境変数[] セクションで、[変数を管理する

      3. 変数を管理する[] セクション、[]可変(キー)、クライアント ID を入力します。を使用する場合Value[] で、クライアントシークレットを入力します。デフォルトで使用できる 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」のパディングが含まれるため、長さは常に同じになります。

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

Google クライアントの秘密

example123456

AMPLIFY_AMAZON_CLIENT_ID

Amazon クライアント ID

123456

AMPLIFY_AMAZON_CLIENT_SECRET

Amazon クライアントシークレット

example123456

AMPLIFY_DIFF_DEPLOY

差分ベースのフロントエンドデプロイを有効または無効にします。詳細については、「差分ベースのフロントエンドのビルドとデプロイを有効または無効にする」を参照してください。

true

AMPLIFY_DIFF_DEPLOY_ROOT

リポジトリのルートを基準とした、差分ベースのフロントエンドデプロイメントの比較に使用するパス。

dist

AMPLIFY_DIFF_BACKEND

差分ベースのバックエンドビルドを有効または無効にします。詳細については、次を参照してください。差分ベースのバックエンドビルドを有効または無効にする

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

Web アプリケーションで使用されるアプリクライアントの ID

アプリクライアントは、AMPLIFY_USERPOOL_ID 環境変数で指定された Amazon Cognito ユーザープールへのアクセス権を持つように設定する必要があります。

123456

AMPLIFY_NATIVECLIENT_ID

ネイティブアプリケーションで使用されるアプリクライアントの ID

アプリクライアントは、AMPLIFY_USERPOOL_ID 環境変数で指定された Amazon Cognito ユーザープールへのアクセス権を持つように設定する必要があります。

123456

AMPLIFY_IDENTITYPOOL_ID

Amazon Cognito ID プールの 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_IDそしてAMPLIFY_AMAZON_CLIENT_SECRET環境変数は OAuth トークンであり、AWSアクセスキーとシークレットキー。

環境シークレット

環境シークレットは環境変数に似ていますが、AWS Systems Manager(SSM) パラメータは暗号化可能なキー値のペアを格納します。Amplify の Apple プライベートキーでサインインするなど、一部の値は暗号化する必要があります。

環境シークレットの設定

次の手順に従って、を使用して、Amplify アプリの環境シークレットを設定します。AWS Systems Managerconsole.

環境シークレットを設定するには

  1. AWS Management Console にサインインして、AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[] を選択します。アプリケーション管理[] を選択してから、Parameter Store

  3. リポジトリの []AWS Systems Manager パラメータストア[] ページで次の操作を行います。パラメータの作成

  4. リポジトリの []パラメータの作成[] ページのパラメーターの詳細[] セクションで、次の操作を行います。

    1. を使用する場合名前で、次の形式でパラメータを入力します。/amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}

    2. を使用する場合タイプで、SecureString

    3. を使用する場合KMS キーソースで、現在のアカウントをクリックして、アカウントのデフォルトキーを使用します。

    4. を使用する場合Valueで、暗号化するシークレットの値を入力します。

  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

Sign in with Apple クライアント ID

com.yourapp.auth

AMPLIFY_SIWA_TEAM_ID

Sign in with Apple チーム ID

ABCD123

AMPLIFY_SIWA_KEY_ID

Apple キー ID でのサインイン

ABCD123

AMPLIFY_SIWA_PRIVATE_KEY

Sign in with Apple プライベートキーでのサインイン

—プライベートキーの開始—

****......

—プライベートキーの終了—