

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

# AWS SDK for PHP バージョン 3 AWS リージョン の の設定
<a name="aws-php-sdk-region-resolution"></a>

SDK クライアントは、クライアントの作成時に AWS リージョン 指定した特定の AWS のサービス の に接続します。この設定により、アプリケーションはその地理的エリアの AWS リソースとやり取りできます。リージョンを明示的に設定せずにサービスクライアントを作成すると、SDK は外部設定からデフォルトのリージョンを使用します。

## リージョン解像度チェーン
<a name="region-resolution-chain"></a>

 AWS SDK for PHP バージョン 3 では、次の順序を使用して、サービスクライアントが使用するリージョンを決定します。

1. コードで提供されるリージョン — クライアントコンストラクタオプションでリージョンを明示的に設定すると、それが他のすべてのソースよりも優先されます。

   ```
   $s3Client = new Aws\S3\S3Client([
       'region' => 'us-west-2'
   ]);
   ```

1. 環境変数 — コードにリージョンが指定されていない場合、SDK はこれらの環境変数を順番にチェックします。
   + `AWS_REGION`
   + `AWS_DEFAULT_REGION`

   ```
   # Example of setting Region through environment variables.
   export AWS_REGION=us-east-1
   ```

1. AWS config files — リージョン環境変数が設定されていない場合、SDK は AWS 設定ファイルをチェックします。

   1. SDK は `~/.aws/config` (または `AWS_CONFIG_FILE` 環境変数で指定された場所) を検索します。

   1. SDK は、`AWS_PROFILE` 環境変数で指定されたプロファイル内のリージョン設定を調べます。

   1. `AWS_PROFILE` が指定されていない場合、SDK は「default」プロファイルを使用します。

   例として、次の設定ファイル設定があるとします。

   ```
   # Example ~/.aws/config file.
   [default]
   region = eu-west-1
   
   [profile production]
   region = eu-central-1
   ```

   `AWS_PROFILE` 環境変数が「production」の値で設定されている場合、クライアントは `eu-central-1 Region` を使用します。`AWS_PROFILE` 環境変数が存在しない場合、クライアントは `eu-west-1` リージョンを使用します。

1. 上記のソースのいずれかで SDK がリージョン値を見つけられない場合、リージョン値はサービスクライアントに必須の設定であるため、例外がスローされます。

## ベストプラクティス
<a name="region-resolution-best-practices"></a>

 AWS SDK for PHP バージョン 3 でリージョンを使用する場合は、次のベストプラクティスを考慮してください。

**本番コードでリージョンを明示的に設定する**  
本稼働アプリケーションでは、環境変数や `config` に依存するのではなく、コードでリージョンを明示的に設定することをお勧めします。これにより、コードの予測性が向上し、外部設定への依存が少なくなります。

**開発とテストに環境変数を使用する**  
開発環境とテスト環境では、環境変数を使用すると、コードを変更せずに柔軟性を向上できます。

**複数の環境にプロファイルを使用する**  
アプリケーションで複数の AWS 環境を使用する必要がある場合は、 ファイルで異なるプロファイルを使用し、必要に応じてプロファイルを切り替えることを検討してください AWS `config`。