

 AWS SDK for .NET V3 がメンテナンスモードになりました。

[AWS SDK for .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) に移行することをお勧めします。移行方法の詳細と情報については、[メンテナンスモードのお知らせ](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/)を参照してください。

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

# AWS リージョンを設定する
<a name="net-dg-region-selection"></a>

AWS リージョンにより、特定の地理的リージョンに物理的に存在する AWS サービスにアクセスすることができます。これは、冗長性と、ユーザーがアクセスする場所の近くでのデータとアプリケーションの実行を維持するために有効です。

各 AWS サービスでサポートされているすべてのリージョンとエンドポイントの現在のリストを表示するには、*AWS 全般のリファレンス*の「[DD のサービス エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)」を参照してください。既存のリージョンエンドポイントのリストを表示するには、[AWSサービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)を参照してください。リージョンの詳細については、「[アカウントで使用できる AWS リージョンを指定する](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)」を参照してください。

[特定のリージョン](#per-client)にアクセスする AWS サービスクライアントを作成できます。また、[すべての AWS サービスクライアント](#globally)に使用されるリージョンを使用してアプリケーションを設定することもできます。次に、この 2 つのケースについて説明します。

## 特定のリージョンを使用してサービスクライアントを作成する
<a name="per-client"></a>

アプリケーションのいずれかの AWS サービスクライアント用にリージョンを指定できます。この方法でのリージョンの設定は、特定のサービスクライアントのグローバル設定よりも優先されます。

### 既存のリージョン
<a name="w2aab9c21c11b5"></a>

この例では、既存のリージョンで [Amazon EC2 クライアント](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/EC2/TEC2Client.html)をインスタンス化する方法を示します。ここでは、定義済み [RegionEndpoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TRegionEndpoint.html) フィールドを使用します。

```
using (AmazonEC2Client ec2Client = new AmazonEC2Client(RegionEndpoint.USWest2))
{
  // Make a request to EC2 in the us-west-2 Region using ec2Client
}
```

### RegionEndpoint クラスを使用した新しいリージョン
<a name="w2aab9c21c11b7"></a>

この例では、[RegionEndpoint.GetBySystemName](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/MRegionEndpointGetBySystemNameString.html) を使用して新しいリージョンエンドポイントを作成する方法を示しています。

```
var newRegion = RegionEndpoint.GetBySystemName("us-west-new");
using (var ec2Client = new AmazonEC2Client(newRegion))
{
  // Make a request to EC2 in the new Region using ec2Client
}
```

### サービスクライアント設定クラスを使用した新しいリージョン
<a name="w2aab9c21c11b9"></a>

この例では、サービスクライアント設定クラスの `ServiceURL` プロパティを使用してリージョンを指定する方法を示しています (この例では、[Amazonec2Config](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/EC2/TEC2Config.html) クラスを使用)。

この手法は、エンドポイントリージョンが通常のエンドポイントパターンに従っていない場合でも有効です。

```
var ec2ClientConfig = new AmazonEC2Config
{
    // Specify the endpoint explicitly
    ServiceURL = "https://ec2.us-west-new.amazonaws.com"
};

using (var ec2Client = new AmazonEC2Client(ec2ClientConfig))
{
  // Make a request to EC2 in the new Region using ec2Client
}
```

## すべてのサービスクライアント用にリージョンを指定する
<a name="globally"></a>

アプリケーションによって作成されるすべての AWS サービスクライアント用にリージョンを指定する方法は複数あります。このリージョンは、特定のリージョンを使用して作成されていないサービスクライアントに使用されます。

AWS SDK for .NET は、以下の順序でリージョン値を検索します。

### プロファイル
<a name="w2aab9c21c15b7"></a>

アプリケーションまたは SDK によってロードされたプロファイルを設定します。詳細については、「[認証情報とプロファイルの解決](creds-assign.md)」を参照してください。

### 環境変数
<a name="w2aab9c21c15b9"></a>

以下のように `AWS_REGION` 環境変数を設定します。

Linux または macOS の場合:

```
export AWS_REGION='us-west-2'
```

Windows の場合:

```
set AWS_REGION=us-west-2
```

**注記**  
この環境変数をシステム全体に設定すると (`export` または `setx` を使用)、AWS SDK for .NET だけではなく、すべての SDK とツールキットが影響を受けます。

### AWSConfigs クラス
<a name="w2aab9c21c15c11"></a>

以下のように [AWSConfigs.AWSRegion](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) プロパティとして設定します。

```
AWSConfigs.AWSRegion = "us-west-2";
using (var ec2Client = new AmazonEC2Client())
{
  // Make request to Amazon EC2 in us-west-2 Region using ec2Client
}
```

## リージョン解像度
<a name="net-dg-region-resolution"></a>

AWS リージョン の指定に上記のいずれの方法も使用されない場合、AWS SDK for .NET は AWS サービス クライアントが動作するリージョンを見つけようとします。

**リージョン解像度オーダー**

1. `app.config`や`web.config`などのアプリケーション設定ファイル。

1. 環境変数（`AWS_REGION`および`AWS_DEFAULT_REGION`） 

1. `AWSConfigs.AWSProfileName` の値で指定された名前のプロファイル。

1. `AWS_PROFILE` 環境変数で指定された名前を持つプロファイル。

1. `[default]` のプロファイル。

1. Amazon EC2 インスタンスのメタデータ (EC2 インスタンスで実行されている場合)。

リージョンが見つからない場合、SDKは、 AWS サービスクライアントにリージョンが設定されていないことを示す例外を投げます。

## 中国 (北京) リージョンに関する特別な情報
<a name="net-dg-region-cn-north-1"></a>

中国 (北京) リージョンでサービスを使用するには、中国 (北京) リージョン固有のアカウントと認証情報が必要です。他の AWS リージョンのアカウントと認証情報は、中国 (北京) リージョンでは使用できません。同様に、中国 (北京) リージョンのアカウントと認証情報は他の AWS リージョンでは使用できません。中国 (北京) リージョンで利用可能なエンドポイントとプロトコルの詳細については、「[北京リージョンのエンドポイント](https://docs.amazonaws.cn/en_us/aws/latest/userguide/endpoints-Beijing.html)」を参照してください。

## 新しい AWS サービスに関する新しい特別な情報
<a name="net-dg-region-new-services"></a>

新しい AWS のサービスは、最初にいくつかのリージョンで開始された後で、他のリージョンでサポートされます。このような場合、そのサービス用の新しいリージョンにアクセスするために最新の SDK をインストールする必要はありません。新しく追加されたリージョンは、前述したように、クライアントごと、またはグローバルに指定できます。