

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

# Amplify アプリケーションでの環境変数の使用
<a name="environment-variables"></a>

環境変数は、アプリケーションの設定に追加して Amplify ホスティングで使用できるようにするキーと値のペアです。ベストプラクティスとして、環境変数を使用してアプリケーションの設定データを公開することができます。追加した環境変数はすべて、不正アクセスを防ぐために暗号化されています。

Amplify は、作成する環境変数に次の制約を適用します。
+ Amplify では、`AWS` プレフィックスを使用して環境変数名を作成することはできません。このプレフィックスは Amplify の内部でのみ使用されるよう予約されています。
+ 環境変数の値は 5500 文字を超えることはできません。

**重要**  
シークレットの保存に環境変数を使用しないでください。Gen 2 アプリの場合は、Amplify コンソールの **[シークレット管理]** 機能を使用します。詳細については、「*Amplify ドキュメント*」の「[シークレットと環境変数](https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/secrets-and-vars/)」を参照してください。Gen 1 アプリの場合、Parameter Store AWS Systems Manager を使用して作成された環境シークレットにシークレットを保存します。詳細については、「[環境シークレットの管理](environment-secrets.md)」を参照してください。

## Amplify の環境変数のリファレンス
<a name="amplify-console-environment-variables"></a>

以下の環境変数は、Amplifyコンソールからデフォルトでアクセス可能です。


****  

| 変数名 | 説明 | 値の例 | 
| --- | --- | --- | 
| \_BUILD\_TIMEOUT | ビルドのタイムアウト時間 (分単位)。<br />最小値は 5 です。<br />最大値は 120 です。 | `30` | 
| \_LIVE\_UPDATES | ツールは最新バージョンにアップグレードされます。 | `[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]` | 
| USER\_DISABLE\_TESTS | ビルド中はテストステップはスキップされます。アプリ内のすべてのブランチまたは特定のブランチのテストを無効にできます。<br />この環境変数は、ビルドフェーズ中にテストを実行するアプリに使用されます。この変数の設定の詳細については、「[Amplify アプリケーションまたはブランチのテストをオフにする](running-tests.md#disabling-tests)」を参照してください。 | `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<br />再ビルドの「HEAD」 | `abcd1234` | 
| AWS\_JOB\_ID | 現在のビルドのジョブ ID。<br />これには、「0」のパディングが含まれるため、長さは常に同じになります。 | `0000000001` | 
| AWS\_PULL\_REQUEST\_ID | プルリクエスト Web プレビュービルドのプルリクエスト ID。<br />この環境変数は、 をリポジトリプロバイダー 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 | 差分ベースのフロントエンドデプロイを有効または無効にします。詳細については、「[差分ベースのフロントエンドビルドとデプロイの設定](edit-build-settings.md#enable-diff-deploy)」を参照してください。 | `true` | 
| AMPLIFY\_DIFF\_DEPLOY\_ROOT | 差分ベースのフロントエンドデプロイ比較に使用するパスで、リポジトリのルートを基準にしています。 | `dist` | 
| AMPLIFY\_DIFF\_BACKEND | 差分ベースのバックエンドビルドを有効または無効にします。これは Gen 1 アプリにのみ適用されます。詳細については、[Gen 1 アプリケーションの diff ベースのバックエンドビルドの設定](edit-build-settings.md#enable-diff-backend)を参照してください。 | `true` | 
| AMPLIFY\_BACKEND\_PULL\_ONLY | Amplify は、この環境変数を管理します。これは Gen 1 アプリにのみ適用されます。詳細については、[既存のフロントエンドを編集して、別のバックエンドを指すようにします](reuse-backends.md#reuse-backends-edit-existing)を参照してください。 | `true` | 
| AMPLIFY\_BACKEND\_APP\_ID | Amplify は、この環境変数を管理します。これは Gen 1 アプリにのみ適用されます。詳細については、[既存のフロントエンドを編集して、別のバックエンドを指すようにします](reuse-backends.md#reuse-backends-edit-existing)を参照してください。 | `abcd1234` | 
| AMPLIFY\_SKIP\_BACKEND\_BUILD | ビルド仕様にバックエンドセクションがなく、バックエンドビルドを無効にする場合は、この環境変数を`true`に設定してください。これは Gen 1 アプリにのみ適用されます。 | `true` | 
| AMPLIFY\_ENABLE\_DEBUG\_OUTPUT | この変数を `true` に設定して、スタックトレースをログに出力します。これは、バックエンドビルドエラーのデバッグに役立ちます。 | `true` | 
| AMPLIFY\_MONOREPO\_APP\_ROOT | monorepo アプリのアプリルートを指定するために使用するパスで、リポジトリのルートを基準にしています。 | `apps/react-app` | 
| AMPLIFY\_USERPOOL\_ID | 認証用にインポートされた Amazon Cognito ユーザープールの ID | `us-west-2_example` | 
| AMPLIFY\_WEBCLIENT\_ID | ウェブアプリケーションが使用するアプリケーションクライアントの ID。<br />アプリケーションクライアントは、AMPLIFY\_USERPOOL\_ID の環境変数で指定された Amazon Cognito ユーザープールにアクセスできるように設定する必要があります。 | `123456` | 
| AMPLIFY\_NATIVECLIENT\_ID | ネイティブアプリケーションが使用するアプリケーションクライアントの ID。<br />アプリケーションクライアントは、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 | この環境変数を true に設定すると、データ損失を引き起こす可能性のあるスキーマ操作で GraphQL API を更新できます。 | `true` | 

**注記**  
`AMPLIFY_AMAZON_CLIENT_ID` および `AMPLIFY_AMAZON_CLIENT_SECRET`環境変数は OAuth トークンであり、 AWS アクセスキーとシークレットキーではありません。

## フロントエンドフレームワーク環境変数
<a name="frontend-framework-environment-variables"></a>

独自の環境変数をサポートするフロントエンドフレームワークを使用してアプリを開発している場合、これらは Amplify コンソールで設定する環境変数と同じではないことを理解することが重要です。例えば、React (プレフィックス REACT\_APP) や Gatsby (プレフィックス GATSBY) では、ランタイム環境変数を作成して、それらのフレームワークがフロントエンドのプロダクションビルドに自動的にバンドルすることができます。これらの環境変数を使用して値を保存した場合の効果を理解するには、使用しているフロントエンドフレームワークのドキュメントを参照してください。

API キーなどの機密性の高い値を、フロントエンドフレームワークのプレフィックスが付いた環境変数内に保存することはベストプラクティスではないため、あまりお勧めしません。