

# VPC のプランニング
<a name="vpc-getting-started"></a>

VPC の作成と接続の準備をするには、次のタスクを完了します。完了後、AWS にアプリケーションをデプロイする準備ができます。

**Topics**
+ [AWS アカウントへのサインアップ](#sign-up-for-aws)
+ [アクセス許可の確認](#vpc-verify-permissions)
+ [IP アドレスの範囲を決定する](#plan-ip-addresses)
+ [アベイラビリティーゾーンの選択](#select-azs)
+ [インターネット接続の計画](#plan-internet-connectivity)
+ [VPC の作成](#create-configure-vpc)
+ [アプリケーションをデプロイします](#vpc-deploy-application)

## AWS アカウントへのサインアップ
<a name="sign-up-for-aws"></a>

AWS アカウント がない場合は、以下のステップを実行して作成します。

**AWS アカウント にサインアップするには**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   AWS アカウントにサインアップすると、*AWS アカウントのルートユーザー*が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用して[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)を実行してください。

サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

## アクセス許可の確認
<a name="vpc-verify-permissions"></a>

Amazon VPC を使用するには、事前に必須のアクセス権限が必要です。詳細については、「[Amazon VPC の Identity and Access Management](security-iam.md)」および「[Amazon VPC ポリシーの例](vpc-policy-examples.md)」を参照してください。

## IP アドレスの範囲を決定する
<a name="plan-ip-addresses"></a>

IP アドレスを使用して、VPC のリソースの相互通信とインターネット上のリソースとの通信を行います。VPC とサブネットの作成時に IP アドレス範囲を選択できます。EC2 インスタンスなどのサブネットにリソースをデプロイすると、サブネットの IP アドレス範囲からの IP アドレスを受信します。詳細については、「[VPC とサブネットの IP アドレス指定](vpc-ip-addressing.md)」を参照してください。

VPC のサイズを選択する際には、AWS アカウント と VPC 全体で必要な IP アドレスの数を検討してください。VPC の IP アドレス範囲がネットワーク自体の IP アドレス範囲と重複しないようにしてください。複数の VPC 間の接続が必要な場合は、IP アドレスが重複していないことを確認する必要があります。

IP Address Manager (IPAM) を使用すると、アプリケーションの IP アドレスの計画、追跡、監視を実行しやすくなります。詳細については、「[IP アドレスマネージャーガイド](https://docs.aws.amazon.com/vpc/latest/ipam/)」を参照してください。

## アベイラビリティーゾーンの選択
<a name="select-azs"></a>

AWS リージョンは、アベイラビリティーゾーンと呼ばれるデータセンターをクラスター化する物理的な場所です。アベイラビリティーゾーンは、独立した電源、冷却、物理セキュリティ、冗長電源、ネットワーク、接続性を備えています。リージョン内のアベイラビリティーゾーンは物理的に距離を持たせており、高帯域幅、低レイテンシーのネットワーキングで相互接続されています。アプリケーションを複数のアベイラビリティーゾーンで実行するように設計することで、耐障害性をさらに高めることができます。

**本番環境**  
本番環境では、少なくとも 2 つのアベイラビリティーゾーンを選択し、AWS リソースをアクティブなアベイラビリティーゾーンそれぞれに均等にデプロイすることをお勧めします。

**開発またはテスト環境**  
開発環境やテスト環境では、1 つのアベイラビリティーゾーンにのみリソースをデプロイするとコストを削減できます。

## インターネット接続の計画
<a name="plan-internet-connectivity"></a>

接続要件に基づいて、各 VPC をサブネットに分割することを計画します。例えば、次のようになります。
+ インターネット上のクライアントからトラフィックを受信するウェブサーバーがある場合は、各アベイラビリティーゾーンにこれらのサーバーのサブネットを作成します。
+ また、VPC 内の他のサーバーからのみトラフィックを受信するサーバーがある場合は、これらのサーバー用に、アベイラビリティーゾーンごとの個別のサブネットを作成します。
+ ネットワークへの VPN 接続を介してのみトラフィックを受信するサーバーがある場合は、これらのサーバー用に、アベイラビリティーゾーンごとの個別のサブネットを作成します。

アプリケーションがインターネットからトラフィックを受信する場合、VPC にはインターネットゲートウェイが必要です。インターネットゲートウェイを VPC にアタッチしても、インターネットから自動的にインスタンスにアクセスできるようにはなりません。インターネットゲートウェイをアタッチすることに加え、サブネットルートテーブルをインターネットゲートウェイへのルートと共に更新する必要があります。また、インスタンスにパブリック IP アドレスが設定され、アプリケーションに必要な、特定のポートとプロトコルを介したインターネット経由のトラフィックを許可する、関連するセキュリティグループが設定されていることを、確認する必要があります。

代替策として、インターネットに接続されるロードバランサーにインスタンスを登録することもできます。ロードバランサーはクライアントからトラフィックを受信し、1 つ以上のアベイラビリティーゾーンにある登録済みのインスタンス全体にトラフィックを分配します。詳細については、「[Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/)」を参照してください。インターネットの未承諾インバウンド接続を許可しない状態で、プライベートサブネット内のインスタンスにインターネット接続を許可する (アップデートのダウンロードなどの場合) には、アクティブなアベイラビリティーゾーンそれぞれにパブリック NAT ゲートウェイを追加し、ルートテーブルを更新して、インターネットトラフィックを NAT ゲートウェイに送信するようにします。詳細については、「[プライベートサブネットからインターネットにアクセスする](nat-gateway-scenarios.md#public-nat-internet-access)」を参照してください。

## VPC の作成
<a name="create-configure-vpc"></a>

必要な VPC とサブネットの数、VPC とサブネットに割り当てる CIDR ブロック、VPC をインターネットに接続する方法が決定したら、VPC を作成する準備は完了です。AWS マネジメントコンソール を使用して VPC を作成し、設定にパブリックサブネットを含めると、サブネットのルートテーブルが作成され、インターネットへの直接アクセスに必要なルートが追加されます。詳細については、「[VPC を作成する](create-vpc.md)」を参照してください。

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

VPC を作成したら、アプリケーションをデプロイできます。

**本番環境**

本番環境では、以下のサービスのいずれかを使用して、複数のアベイラビリティーゾーンにサーバーをデプロイし、アプリケーションに必要なサーバー数を最小限に抑えるようにスケーリングを設定して、サーバーをロードバランサーに登録しトラフィックをサーバー全体に均等に分配することができます。
+ [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/get-started-with-ec2-auto-scaling.html)
+ [EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Fleets.html)
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)

**開発またはテスト環境**  
開発環境またはテスト環境では、単一の EC2 インスタンスを起動することを選択できます。詳細については、「Amazon EC2 ユーザーガイド」の「[Amazon EC2 Linux インスタンスの開始方法](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)」を参照してください。