

# 例: テスト環境の VPC
<a name="vpc-example-dev-test"></a>

この例は、開発環境またはテスト環境として使用できる VPC を作成する方法について説明しています。この VPC は、本番環境での使用を目的とするものではないため、サーバーを複数のアベイラビリティーゾーンにデプロイする必要はありません。コストを抑えて複雑さを解消するには、サーバーを単一のアベイラビリティーゾーンにデプロイするのがよいでしょう。

**Topics**
+ [概要:](#overview-vpc-one-public-subnet)
+ [1. VPC を作成する](#create-vpc-one-public-subnet)
+ [2. アプリケーションをデプロイします](#deploy-dev-test)
+ [3. 設定をテストする](#test-dev-test)
+ [4. クリーンアップ](#clean-up-dev-test)

## 概要:
<a name="overview-vpc-one-public-subnet"></a>

次の図は、この例に含まれるリソースの概要を示しています。VPC には、1 つのアベイラビリティーゾーンとインターネットゲートウェイにパブリックサブネットがあります。サーバーはパブリックサブネットで動作する EC2 インスタンスです。インスタンスのセキュリティグループでは、自分のコンピュータからの SSH トラフィックに加えて、特に開発またはテストアクティビティに必要なその他のトラフィックも許可されます。

![\[1 つのアベイラビリティーゾーンにパブリックサブネットを持つ VPC です。\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/vpc-example-dev-test.png)


### ルーティング
<a name="routing-vpc-one-public-subnet"></a>

Amazon VPC コンソールを使用してこの VPC を作成すると、ローカルルートとインターネットゲートウェイへのルートを含む、パブリックサブネットのルートテーブルが作成されます。IPv4 と IPv6 の両方のルートを含むルートテーブルの例を次に示します。デュアルスタックサブネットの代わりに IPv4 専用サブネットを作成した場合、ルートテーブルには IPv4 ルートのみが含まれます。


| ルーティング先 | ターゲット | 
| --- | --- | 
| 10.0.0.0/16 | ローカル | 
| 2001:db8:1234:1a00::/56 | ローカル | 
| 0.0.0.0/0 | igw-id | 
| ::/0 | igw-id | 

### セキュリティ
<a name="security-vpc-one-public-subnet"></a>

この設定例では、アプリケーションに必要なトラフィックを許可するセキュリティグループをインスタンスに作成する必要があります。例えば、コンピュータからの SSH トラフィックやネットワークからの HTTP トラフィックを許可するルールを、追加する必要があるとします。

以下は、IPv4 と IPv6 の両方のルールを含む、セキュリティグループのインバウンドルールの例です。デュアルスタックサブネットの代わりに IPv4 専用サブネットを作成する場合、必要となるのは IPv4 のルールのみです。


| ソース | プロトコル | ポート範囲 | 説明 | 
| --- | --- | --- | --- | 
| 0.0.0.0/0 | TCP | 80 | すべての IPv4 アドレスからのインバウンド HTTP アクセスを許可する。 | 
| ::/0 | TCP | 80 | すべての IPv6 アドレスからのインバウンド HTTP アクセスを許可する | 
| 0.0.0.0/0 | TCP | 443 | すべての IPv4 アドレスからのインバウンド HTTPS アクセスを許可する | 
| ::/0 | TCP | 443 | すべての IPv6 アドレスからのインバウンド HTTPS アクセスを許可する | 
| ネットワークのパブリック IPv4 アドレス範囲 | TCP | 22 | (オプション) ネットワーク内の IPv4 IP アドレスからのインバウンド SSH アクセスを許可する | 
| ネットワークの IPv6 アドレス範囲 | TCP | 22 | (オプション) ネットワーク内の IPv6 IP アドレスからのインバウンド SSH アクセスを許可する | 
| ネットワークのパブリック IPv4 アドレス範囲 | TCP | 3389 | (オプション) ネットワーク内の IPv4 IP アドレスからのインバウンド RDP アクセスを許可する | 
| ネットワークの IPv6 アドレス範囲 | TCP | 3389 | (オプション) ネットワーク内の IPv6 IP アドレスからのインバウンド RDP アクセスを許可する | 

## 1. VPC を作成する
<a name="create-vpc-one-public-subnet"></a>

以下の手順を使用して、1 つのアベイラビリティーゾーンにパブリックサブネットを持つ VPC を作成します。この設定は、開発環境またはテスト環境に適しています。

**VPC を作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ダッシュボードで、**[VPC を作成]** を選択します。

1. **[Resources to create]** (作成するリソース) で、**[VPC and more]** (VPC など) を選択します。

1. **VPC を設定する**

   1. [**名前タグの自動生成**] に、VPC の名前を入力します。

   1. **[IPv4 CIDR ブロック]** で、デフォルトの候補を維持するか、アプリケーションまたはネットワークが必要とする CIDR ブロックを入力します。詳細については、「[VPC CIDR ブロック](vpc-cidr-blocks.md)」を参照してください。

   1. (オプション) アプリケーションが IPv6 アドレスを使用して通信する場合は、**[IPv6 CIDR ブロック]**、**[Amazon が提供する IPv6 CIDR ブロック]** を選択します。

1. **サブネットを設定する**

   1. **[アベイラビリティーゾーンの数]** で、**[1]** を選択します。デフォルトのアベイラビリティーゾーンをそのまま使用することも、**[AZ のカスタマイズ]** を展開してアベイラビリティーゾーンを選択することもできます。

   1. **[Number of public subnets]** (パブリックサブネットの数) には、**[1]** を選択します。

   1. **[Number of private subnets]** (プライベートサブネットの数) には、**[0]** を選択します。

   1. パブリックサブネットのデフォルトの CIDR ブロックをそのまま使用することも、**[サブネット CIDR ブロックをカスタマイズする]** を展開して CIDR ブロックを入力することもできます。詳細については、「[サブネット CIDR ブロック](subnet-sizing.md)」を参照してください。

1. **[NAT ゲートウェイ]** は、デフォルト値の **[なし]** のままにします。

1. **[VPC エンドポイント]** には、**[なし]** を選択します。S3 のゲートウェイ VPC エンドポイントは、プライベートサブネットから Amazon S3 にアクセスする場合にのみ使用します。

1. **[DNS オプション]** で、両方のオプションを選択したままにします。これにより、インスタンスはパブリック IP アドレスに対応するパブリック DNS ホスト名を受け取ります。

1. **[Create VPC（VPC の作成）]** を選択します。

## 2. アプリケーションをデプロイします
<a name="deploy-dev-test"></a>

EC2 インスタンスをデプロイするには、さまざまな方法があります。例えば、次のようになります。
+ [Amazon EC2 インスタンス起動ウィザード](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)
+ [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/)
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/ecs/)

EC2 インスタンスをデプロイしたら、インスタンスに接続し、アプリケーションに必要なソフトウェアをインストールして、後で使用するためのイメージを作成します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[AMI を作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)」を参照してください。または、[EC2 Image Builder](https://aws.amazon.com/image-builder/) を使用して、Amazon マシンイメージ (AMI) を作成、管理することもできます。

## 3. 設定をテストする
<a name="test-dev-test"></a>

アプリケーションのデプロイが完了したら、それをテストできます。EC2 インスタンスに接続できない場合、またはアプリケーションが想定どおりのトラフィックを送受信できない場合は、Reachability Analyzer を使用してトラブルシューティングを行います。例えば、Reachability Analyzer は、ルートテーブルやセキュリティグループの設定上の問題を特定できます。詳細については、「[Reachability Analyzer Guide](https://docs.aws.amazon.com/vpc/latest/reachability/)」(到達可能性アナライザーガイド) を参照してください。

## 4. クリーンアップ
<a name="clean-up-dev-test"></a>

不要になった設定は、削除できます。VPC を削除する前に、インスタンスを終了する必要があります。詳細については、「[VPC の削除](delete-vpc.md)」を参照してください。