

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

# AWS SDK for PHP 버전 3에 AWS 리전 대한 설정
<a name="aws-php-sdk-region-resolution"></a>

SDK 클라이언트는 클라이언트를 생성할 때 AWS 리전 지정한 특정 AWS 서비스 의에 연결됩니다. 이 구성을 사용하면 애플리케이션이 해당 지리적 영역의 AWS 리소스와 상호 작용할 수 있습니다. 리전을 명시적으로 설정하지 않고 서비스 클라이언트를 생성하면 외부 구성의 기본 리전이 사용됩니다.

## 리전 화인 체인
<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 구성 파일 - 리전 환경 변수가 설정되지 않은 경우 SDK는 AWS 구성 파일을 확인합니다.

   1. `~/.aws/config`(또는 `AWS_CONFIG_FILE` 환경 변수로 지정된 위치)를 찾습니다.

   1. `AWS_PROFILE` 환경 변수로 지정된 프로필 내의 리전 설정을 확인합니다.

   1. `AWS_PROFILE`이 지정되지 않은 경우 "기본" 프로필을 사용합니다.

   예를 들어 다음과 같은 구성 파일 설정이 있다고 가정해 보겠습니다.

   ```
   # 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` 다른 프로필을 사용하고 필요에 따라 이들 간에 전환하는 것이 좋습니다.