

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

# 内部 Classic Load Balancer の作成
<a name="elb-create-internal-load-balancer"></a>

内部向けロードバランサーを作成して、ロードバランサー用に VPC へのアクセス権を持つクライアントから EC2 インスタンスにトラフィックを分散できます。

**Topics**
+ [前提条件](#create-internal-lb-prereq)
+ [コンソールを使用した内部ロードバランサーの作成](#create-internal-lb)
+ [を使用して内部ロードバランサーを作成する AWS CLI](#create-internal-lb-cli)

## 前提条件
<a name="create-internal-lb-prereq"></a>
+ ロードバランサー用の VPC を作成していない場合は、作業を開始する前にその VPC を作成する必要があります。詳細については、「[VPC の推奨事項](elb-backend-instances.md#set-up-ec2)」を参照してください。
+ 内部向けロードバランサーに登録する EC2 インスタンスを起動します。それらのインスタンスは、ロードバランサー用の VPC 内のプライベートサブネットで起動してください。

## コンソールを使用した内部ロードバランサーの作成
<a name="create-internal-lb"></a>

次の手順に従って、内部 Classic Load Balancer を作成します。名前やスキームなど、ロードバランサーの基本的な設定情報を指定します。次に、ネットワークと、インスタンスにトラフィックをルーティングするリスナーに関する情報を指定します。

**コンソールを使用して内部 Classic Load Balancer を作成するには**

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

1. ナビゲーションバーで、ロードバランサーのリージョンを選択します。EC2 インスタンス用に選択したのと同じリージョンを必ず選択してください。

1. ナビゲーションペインの [**ロードバランシング**] で [**ロードバランサー**] を選択します。

1. [**Create Load Balancer**] を選択します。

1. **[Classic Load Balancer]** セクションを展開し、**[作成]** を選択します。

1. **基本的な設定**

   1. **[ロードバランサー名]** に、ロードバランサーの名前を入力します。

      この Classic Load Balancer の名前は、リージョン内にある Classic Load Balancer の中で一意にする必要があります。使用可能なのは最大 32 文字で、英数字とハイフンのみ使用できます。また、先頭と末尾にハイフンを使用することはできません。

   1. **[スキーム]** で、**[内部]** を選択します。

1. **ネットワークマッピング**

   1. **[VPC]** で、インスタンス用に選択したのと同じ VPC を選択します。

   1. **マッピング** の場合は、最初にアベイラビリティーゾーンを選択し、次に使用可能なサブネットからサブネットを選択します。アベイラビリティーゾーンごとに選択できるサブネットは 1 つだけです。ロードバランサーの可用性を高めるには、複数のアベイラビリティーゾーンからサブネットを選択します。

1. **[セキュリティグループ]** では、ポート 80 で必要な HTTP トラフィックを許可するように設定されている既存のセキュリティグループを選択します。または、アプリケーションが異なるプロトコルとポートを使用している場合は、新しいセキュリティグループを作成できます。

1. **リスナーとルーティング**

   1. **リスナー**の場合は、プロトコルが `HTTP` でポートが `80` であることを確認してください。

   1. **インスタンス**の場合は、プロトコルが `HTTP`、ポートが `80` であることを確認してください。

1. **ヘルスチェック**

   1. **[Ping プロトコル]** の場合、 デフォルトは `HTTP` です。

   1. **[Ping ポート]** の場合、デフォルトは `80` です。

   1. **[Ping パス]** のデフォルトは `/` です。

   1. **[ヘルスチェックの詳細設定]** では、デフォルト値を使用するか、アプリケーションに固有の値を入力します。

1. **インスタンス**

   1. **[インスタンスの追加]** を選択して、インスタンスの選択画面を表示します。

   1. **[利用可能なインスタンス]** で、前に選択したネットワーク設定に基づいて、ロードバランサーで利用可能な現在のインスタンスから選択できます。

   1. 選択内容に問題がなければ、**[確認]** を選択して、ロードバランサーに登録するインスタンスを追加します。

1. **属性**

   1. **[クロスゾーン負荷分散の有効化]**、**[Connection Draining の有効化]**、および **[タイムアウト (ドレーニング間隔)]** はデフォルト値のままにします。

1. **ロードバランサータグ (オプション)**

   1. **[キー]** フィールドは必須です。

   1. **[値]** フィールドはオプションです。

   1. 別のタグを追加するには、**[新しいタグを追加]**]を選択し、**[キー]** フィールドに値を入力し、オプションで **[値]** フィールドに値を入力します。

   1. 既存のタグを削除するには、削除したいタグの横にある **[削除]** を選択します。

1. **概要と作成**

   1. 設定を変更する必要がある場合は、変更する必要がある設定の横にある **[編集]** を選択します。

   1. 概要に表示されているすべての設定に問題がなければ、**[ロードバランサーの作成]** を選択してロードバランサーの作成を開始します。

   1. 最後の作成ページで、**[ロードバランサーを表示]** を選択して、Amazon EC2 コンソールでロードバランサーを表示します。

1. **検証**

   1. 新しいロードバランサーを選択します。

   1. **[ターゲットインスタンス]** タブで、**[ヘルスステータス]** 列を確認します。少なくとも 1 つの EC2 インスタンスの状態が**稼動中**であれば、ロードバランサーをテストできます。

   1. **[詳細]** セクションで、ロードバランサー **DNS 名** をコピーします。これは `my-load-balancer-1234567890.us-east-1.elb.amazonaws.com` のようになります。

   1. ロード バランサの **DNS 名**を、パブリック インターネットに接続されたウェブブラウザのアドレスフィールドに貼り付けます。ロードバランサーが正しく機能している場合は、 サーバーのデフォルトページが表示されます。

1. **削除 (オプション)**

   1. ロードバランサーをポイントするドメインの CNAME レコードが存在する場合は、新しい場所にポイントして DNS の変更が有効になってから、ロードバランサーを削除します。

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

   1. ロードバランサーを選択します。

   1. [**アクション**] 、[**ロードバランサーを削除**] の順に選択します。

   1. 確認を求められたら、「`confirm`」と入力し、**[削除]** を選択します。

   1. ロードバランサーを削除しても、そのロードバランサーに登録された EC2 インスタンスは引き続き実行されます。実行が継続される分単位または時間単位でお支払いただきます。EC2 インスタンスが必要なくなった場合は、追加料金が発生しないように停止または終了できます。

## を使用して内部ロードバランサーを作成する AWS CLI
<a name="create-internal-lb-cli"></a>

Elastic Load Balancing はデフォルトで、インターネット向けロードバランサーを作成します。次の手順に従って内部向けロードバランサーを作成し、EC2 インスタンスを新しく作成した内部向けロードバランサーに登録します。

**内部向けロードバランサーを作成するには**

1. 次のように `--scheme` オプションに `internal` を設定しながら、[create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer.html) コマンドを使用します。

   ```
   aws elb create-load-balancer --load-balancer-name my-internal-loadbalancer --listeners Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80
    --subnets subnet-4e05f721 --scheme internal --security-groups sg-b9ffedd5
   ```

   以下に、応答の例を示します。名前によって、これが内部向けロードバランサーであることが示されている点に注意してください。

   ```
   {
       "DNSName": "internal-my-internal-loadbalancer-786501203.us-west-2.elb.amazonaws.com"
   }
   ```

1. 次の [register-instances-with-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elb/register-instances-with-load-balancer.html) コマンドを使用して、インスタンスを追加します。

   ```
   aws elb register-instances-with-load-balancer --load-balancer-name my-internal-loadbalancer --instances i-4f8cf126 i-0bb7ca62
   ```

   以下に、応答の例を示します。

   ```
   {
       "Instances": [
           {
               "InstanceId": "i-4f8cf126"
           },
           {
               "InstanceId": "i-0bb7ca62"
           }
       ]
   }
   ```

1. (オプション) 次の [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) コマンドを使用して、内部向けロードバランサーを検証します。

   ```
   aws elb describe-load-balancers --load-balancer-name my-internal-loadbalancer
   ```

   応答には、`DNSName` フィールドと `Scheme` フィールドが含まれており、これが内部ロードバランサーであることを示しています。

   ```
   {
       "LoadBalancerDescriptions": [
           {
               ...
               "DNSName": "internal-my-internal-loadbalancer-1234567890.us-west-2.elb.amazonaws.com", 
               "SecurityGroups": [
                   "sg-b9ffedd5"
               ], 
               "Policies": {
                   "LBCookieStickinessPolicies": [], 
                   "AppCookieStickinessPolicies": [], 
                   "OtherPolicies": []
               }, 
               "LoadBalancerName": "my-internal-loadbalancer", 
               "CreatedTime": "2014-05-22T20:32:19.920Z", 
               "AvailabilityZones": [
                   "us-west-2a"
               ], 
               "Scheme": "internal",
               ...
           }
       ]
   }
   ```