

AWS SDK for JavaScript v2 はサポート終了となりました。[AWS SDK for JavaScript v3](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/) に移行することをお勧めします。その他の詳細、移行方法については、こちらの[発表内容](https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)を参照してください。

# Amazon EC2 でのリージョンとアベイラビリティーゾーンの使用
<a name="ec2-example-regions-availability-zones"></a>

![JavaScript code example that applies to Node.js execution](https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**この Node.js コード例は以下を示しています。**
+ 地域とアベイラビリティーゾーンの説明を取得する方法。

## シナリオ
<a name="ec2-example-regions-availability-zones-scenario"></a>

Amazon EC2 は、世界中の複数のロケーションでホスティングされています。これらの場所は、 リージョンとアベイラビリティーゾーンから構成されています。 リージョンはそれぞれ、地理的に離れた領域です。リージョンごとに*アベイラビリティーゾーン*と呼ばれる複数の独立した場所があります。Amazon EC2 では、複数のロケーションにインスタンスとデータを配置することができます。

この例では、一連の Node.js モジュールを使用して、リージョンとアベイラビリティーゾーンに関する詳細を取得します。Node.js モジュールは、Amazon EC2 クライアントクラスの次のメソッドを使用してインスタンスを管理するために SDK for JavaScript を使用します。
+ [`describeAvailabilityZones`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#describeAvailabilityZones-property)
+ [`describeRegions`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#describeRegions-property)

リージョンやアベイラビリティーゾーンの詳細については、「Amazon EC2 ユーザーガイド」の「[リージョンとアベイラビリティーゾーン](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)」、または「Amazon EC2 ユーザーガイド」の「[リージョンとアベイラビリティーゾーン](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-regions-availability-zones.html)」を参照してください。****

## 前提条件タスク
<a name="ec2-example-regions-availability-prerequisites"></a>

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
+ Node.js をインストールします。Node.js をインストールする方法の詳細については、[Node.js ウェブサイト](https://nodejs.org)を参照してください。
+ ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、[共有認証情報ファイルから Node.js に認証情報をロードする](loading-node-credentials-shared.md) を参照してください。

## リージョンとアベイラビリティーゾーンの記述
<a name="ec2-example-regions-availability-describing"></a>

`ec2_describeregionsandzones.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon EC2 にアクセスするには、`AWS.EC2` サービスオブジェクトを作成します。空の JSON オブジェクトを作成し、パラメータとして渡すと、使用可能なすべての説明を返します。次に、`describeRegions` および `describeAvailabilityZones` メソッドを呼び出します。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create EC2 service object
var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" });

var params = {};

// Retrieves all regions/endpoints that work with EC2
ec2.describeRegions(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Regions: ", data.Regions);
  }
});

// Retrieves availability zones only for region of the ec2 service object
ec2.describeAvailabilityZones(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Availability Zones: ", data.AvailabilityZones);
  }
});
```

この例を実行するには、コマンドラインに次のように入力します。

```
node ec2_describeregionsandzones.js
```

 このサンプルコードは、[このGitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ec2/ec2_describeregionsandzones.js)にあります。