Amazon VPC を使用して Auto Scaling インスタンスにネットワーク接続を提供する - Amazon EC2 Auto Scaling

Amazon VPC を使用して Auto Scaling インスタンスにネットワーク接続を提供する

2022 年 8 月 15 日に、EC2-Classic の提供を終了します。ワークロードの中断を避けるためには、2022 年 8 月 15 日より前に、Amazon EC2-Classic から VPC に移行することをお勧めします。詳細については、ブログ記事「EC2-Classic Networking is Retiring - Here's How to Prepare」を参照してください。

Amazon Virtual Private Cloud (Amazon VPC) を使用すると、AWS クラウド の隔離されたプライベートなセクションに、仮想ネットワーク環境を定義することができます。仮想ネットワーク環境は完全に管理できます。

Virtual Private Cloud (VPC) 内では、Auto Scaling グループなどの AWS リソースを起動できます。VPC 内の Auto Scaling グループは、基本的に EC2-Classic と同様に動作し、同じ機能をサポートします。

Amazon VPC のサブネットとは、アベイラビリティーゾーンを VPC の IP アドレス範囲の一部で分割したものです。サブネットを使うと、インスタンスをセキュリティや運用上の必要に応じてグループ化することができます。サブネットは作成されたアベイラビリティーゾーン内に完全に包含されるものです。サブネットで Auto Scaling インスタンスを起動します。

サブネット内のインスタンスがインターネットと通信できるようにするには、インターネットゲートウェイを作成して、それを VPC にアタッチする必要があります。インターネットゲートウェイを使用すると、サブネット内のリソースが Amazon EC2 ネットワークエッジを介してインターネットに接続できるようになります。サブネットのトラフィックがインターネットゲートウェイにルーティングされる場合、そのサブネットはパブリックサブネットと呼ばれます。サブネットのトラフィックがインターネットゲートウェイにルーティングされない場合、そのサブネットはプライベートサブネットと呼ばれます。インターネットに接続する必要があるリソースにはパブリックサブネットを、インターネットに接続する必要がないリソースにはプライベートサブネットを使用してください。VPC 内のインスタンスへのインターネットアクセスの許可の詳細については、Amazon VPC ユーザーガイド の「インターネットへのアクセス」を参照してください。

デフォルト VPC

2013 年 12 月 4 日以降に AWS アカウント を作成したか、AWS リージョン で Auto Scaling グループを作成する場合は、デフォルト VPC が作成されます。各アベイラビリティーゾーンのデフォルトサブネットにはデフォルト VPC が用意されています。デフォルト VPC がある場合、デフォルトではそのデフォルト VPC で Auto Scaling グループが作成されます。

2013 年 12 月 4 日より前に AWS アカウント を作成した場合、特定のリージョンで Amazon VPC と EC2-Classic のいずれかを選択できる場合があります。これらの古いアカウントがある場合は、Amazon VPC ではなく、いくつかのリージョンの EC2-Classic に Auto Scaling グループがある可能性があります。クラシックなインスタンスを VPC に移行することを強くお勧めします。VPC を使用する利点の 1 つは、インターネットへのルートがないプライベートサブネットにインスタンスを配置できることです。

使用するリージョンで EC2-Classic が引き続き使用されているかどうかを判断するには、Amazon EC2 コンソールを開きます。以下にあるように、[Supported platforms] (サポートされているプラットフォーム) に VPC のみが表示されている場合、現在の AWS リージョンにある AWS アカウントは、EC2-VPC プラットフォームと、デフォルトの VPC を使用します。デフォルト VPC の名前は、サポートされるプラットフォームの下に表示されます。


                    EC2-VPC プラットフォーム

VPC は、Amazon VPC コンソールのお使いの VPC ページで表示できます。

デフォルトの VPC の詳細については、「Amazon VPC ユーザーガイド」の「デフォルト VPC とデフォルトサブネット」を参照してください。

デフォルトではない VPC

AWS Management Consoleの VPC ダッシュボードページにアクセスして、[Create VPC] (VPC を作成) を選択することで、追加の VPC を作成できます。

詳細については、Amazon VPC ユーザーガイドを参照してください。

注記

VPC は、その AWS リージョン内のすべてのアベイラビリティーゾーンを対象としています。VPC にサブネットを追加するときは、複数のアベイラビリティーゾーンを選択して、これらのサブネットでホストされているアプリケーションの高可用性を確保します。アベイラビリティーゾーンは、AWS リージョン の 冗長電源、ネットワーク、および接続を備えた1つ以上の個別のデータセンターです。アベイラビリティーゾーンは、本番環境アプリケーションの可用性、耐障害性、およびスケーラビリティを向上させるために役立ちます。

VPC サブネットを選択する場合の考慮事項

Auto Scaling グループの VPC サブネットを選択するときは、以下の点に留意してください。

  • Elastic Load Balancing ロードバランサーを Auto Scaling グループにアタッチする場合、インスタンスはパブリックサブネットまたはプライベートサブネットで起動できます。ただし、ロードバランサーはパブリックサブネットでのみ作成できます。

  • SSH を介して Auto Scaling インスタンスに直接アクセスする場合、インスタンスはパブリックサブネットでのみ起動できます。

  • 入力なしの Auto Scaling インスタンスにアクセスする場合は、AWS Systems Manager Session Manager では、インスタンスはパブリックサブネットまたはプライベートサブネットで起動できます。

  • プライベートサブネットを使用している場合は、パブリック NAT ゲートウェイを使用して Auto Scaling インスタンスがインターネットへのアクセスを許可します。

  • デフォルトでは、デフォルト VPC のデフォルトサブネットはパブリックサブネットです。

VPC での IP アドレス指定

VPC で Auto Scaling インスタンスを起動すると、インスタンスには、インスタンスが起動されたサブネットの CIDR 範囲のプライベート IP アドレスが自動的に割り当てられます。これにより、インスタンスは VPC の他のインスタンスと通信できるようになります。

インスタンスにパブリック IPv4 アドレスを割り当てるように、起動設定または起動テンプレートを設定することができます。インスタンスへのパブリック IP アドレスの割り当ては、それらがインターネットや AWS の他のサービスと通信することを可能にします。

IPv6 アドレスをインスタンスに自動的に割り当てるように設定されたサブネットでインスタンスを起動すると、インスタンスは IPv4 と IPv6 アドレスの両方を受け取ります。それ以外の場合は、IPv4 アドレスのみを受け取ります。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「IPv6 アドレス」を参照してください。

VPC またはサブネットの CIDR 範囲の指定の詳細については、「Amazon VPC ユーザーガイド」を参照してください。

追加のネットワークインターフェイスを指定する起動テンプレートを使用すると、Amazon EC2 Auto Scaling はインスタンスの起動時に追加のプライベート IP アドレスを自動的に割り当てることができます。各ネットワークインターフェイスには、インスタンスが起動されるサブネットの CIDR 範囲から単一のプライベート IP アドレスが割り当てられます。この場合、システムはプライマリネットワークインターフェイスにパブリック IPv4 アドレスを自動的に割り当てることができなくなります。利用可能な Elastic IP アドレスを Auto Scaling インスタンスに関連付ける場合を除き、パブリック IPv4 アドレス経由でインスタンスに接続することはできません。

VPC 内のネットワークインターフェイス

VPC の各インスタンスには、デフォルトのネットワークインターフェイスがあります (プライマリネットワークインターフェイス)。プライマリネットワークインターフェイスをインスタンスからデタッチすることはできません。追加の ネットワークインスタンスを作成して、ユーザーの VPC 内の任意のインスタンスにアタッチできます。使用できる Elastic Network Interface の最大数はインスタンスタイプによって異なります。

起動テンプレートを使用してインスタンスを起動するときは、追加のネットワークインターフェイスを指定できます。ただし、複数のネットワークインターフェイスを使用して Auto Scaling インスタンスを起動すると、インスタンスと同じサブネットに各インターフェイスが自動的に作成されます。これは、Amazon EC2 Auto Scaling では、起動テンプレートで定義されたサブネットが無視され、Auto Scaling グループに指定されたものが優先されるためです。詳細については、「Auto Scaling グループの起動テンプレートの作成」を参照してください。

同じサブネットから複数のネットワークインターフェイスを作成または、インスタンスにアタッチすると、非対称ルーティングなどのネットワーク問題が発生する場合があります。特に Amazon Linux 以外のバリアントを使用しているインスタンスに発生する場合があります。このタイプの設定が必要な場合は、OS 内でセカンダリネットワークインターフェイスを設定する必要があります。例については、AWSナレッジセンターの「How can I make my secondary network interface work in my Ubuntu EC2 instance? (Ubuntu EC2 インスタンスでセカンダリネットワークインターフェイスを動作させるには)」を参照してください。

インスタンスのプレイスメントテナンシー

デフォルトでは、VPC のすべてのインスタンスはインスタンス共有テナンシーとして実行されます。Amazon EC2 Auto Scaling では、Dedicated Instances (ハードウェア専有インスタンス) および Dedicated Hosts (ハードウェア専有ホスト) をサポートしています。ただし、Dedicated Hosts のサポートは、起動テンプレートを使用する Auto Scaling グループでのみ使用できます。詳細については、「起動設定を使用してインスタンステナンシーを設定する」を参照してください。

AWS Outposts

AWS Outposts は、AWS リージョンからの Amazon VPC を、そのリージョンでアクセスできる VPC コンポーネント (インターネットゲートウェイ、仮想プライベートゲートウェイ、Amazon VPC Transit Gateway、および VPC エンドポイントなど) を備えた Outpost に拡張します。Outpost はリージョン内のアベイラビリティーゾーンに設置されており、そのアベイラビリティーゾーンの耐障害性のために使用できる拡張機能です。

詳細については、AWS Outposts ユーザーガイドを参照してください。

Outpost 内の Application Load Balancer からのトラフィックに対応する Auto Scaling グループをデプロイする方法の例については、ブログ記事「Configuring an Application Load Balancer on AWS Outposts」(AWS Outposts での Application Load Balance の設定) を参照してください。

VPC に関するその他のリソース

以下のトピックでは、VPC およびサブネットの詳細について説明します。