Elastic Load Balancing を使用してロードバランサーを追加する (オプション) - AWS CloudHSM

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

Elastic Load Balancing を使用してロードバランサーを追加する (オプション)

1 つのウェブサーバーで SSL/TLS オフロードを設定した後で、さらにウェブサーバーを作成し、HTTPS トラフィックをウェブサーバーにルーティングする Elastic Load Balancing ロードバランサーを作成することができます。ロードバランサーは、2 つ以上のウェブサーバーにトラフィックを分散することで、サーバーに対する負荷を軽減できます。また、ロードバランサーはウェブサーバーのヘルス状態をモニタリングして、正常なサーバーにのみトラフィックをルーティングするため、ウェブサイトの可用性も改善できます。ウェブサーバーに障害が発生すると、ロードバランサーはそのウェブサーバーに対するトラフィックのルーティングを自動的に停止します。

2 番目のウェブサーバーのサブネットを作成する

別のウェブサーバーを作成する前に、既存のウェブサーバーと AWS CloudHSM クラスターを含む同じ VPC に新しいサブネットを作成する必要があります。

新しいサブネットを作成するには
  1. Amazon VPC コンソールの [サブネット] セクションを開きます。

  2. [Create Subnet(サブネットの作成)] を選択します。

  3. [Create Subnet] ダイアログボックスで、次の操作を行います。

    1. [Name tag] に、サブネットの名前を入力します。

    2. VPC では、既存のウェブサーバーと AWS CloudHSM クラスターを含む AWS CloudHSM VPC を選択します。

    3. [Availability Zone] で、既存のウェブサーバーが含まれているのとは異なるアベイラビリティーゾーンを選択します。

    4. [IPv4 CIDR block] に、サブネットで使用する CIDR ブロックを入力します。たとえば、10.0.10.0/24 と入力します。

    5. [はい、作成する] を選択します。

  4. 既存のウェブサーバーが含まれているパブリックサブネットの横にあるチェックボックスを選択します。これは、前のステップで作成したパブリックサブネットとは異なります。

  5. コンテンツペインで、[ルートテーブル] タブを選択します。次に、ルートテーブルのリンクを選択します。

    Amazon VPC コンソールでルートテーブルリンクを選択します。
  6. ルートテーブルの横にあるチェックボックスをオンにします。

  7. [Subnet Associations] タブを選択します。次に、[編集] を選択します。

  8. この手順で前に作成したパブリックサブネットの横にあるチェックボックスを選択します。次に、[Save] (保存) を選択します。

2 番目のウェブサーバーを作成する

次の手順を実行し、既存のウェブサーバーと同じ設定で 2 番目のウェブサーバーを作成します。

2 番目のウェブサーバーを作成するには
  1. Amazon EC2 コンソールの [インスタンス] セクションを開きます。

  2. 既存のウェブサーバーインスタンスの横にあるチェックボックスをオンにします。

  3. [Actions]、[Image]、[Create Image] の順に選択します。

  4. [Create Image] ダイアログボックスで、次の操作を行います。

    1. [Image name] には、イメージの名前を入力します。

    2. [Image description] としてイメージの説明を入力します。

    3. [Create Image] を選択します。このアクションにより、既存のウェブサーバーが再起動されます。

    4. [View pending image ami-<AMI ID>] リンクを選択します。

      Amazon EC2 コンソールの [View pending image] のリンクを選択します。

      [Status] 列で、イメージのステータスを確認します。イメージのステータスが [available] になったら (これには数分かかることがあります)、次のステップに進みます。

  5. ナビゲーションペインで、[インスタンス] を選択します。

  6. 既存のウェブサーバーの横にあるチェックボックスをオンにします。

  7. [Actions] を選択し、[Launch More Like This] を選択します。

  8. [Edit AMI] を選択します。

    Amazon EC2 コンソールで AMI の編集リンクを選択します。
  9. 左側のナビゲーションペインで、[My AMIs] を選択します。次に、検索ボックスのテキストを消去します。

  10. ウェブサーバーイメージの横にある [Select] を選択します。

  11. [Yes, I want to continue with this AMI (<image name> - ami-<AMI ID>)] を選択します。

  12. [次へ] をクリックします。

  13. インスタンスタイプを選択し、[次: インスタンスの詳細の設定] を選択します。

  14. [ステップ 3: インスタンスの詳細の設定] で、以下の操作を行います。

    1. [Network] で、既存のウェブサーバーが含まれている VPC を選択します。

    2. [Subnet] で、2 番目のウェブサーバー用に作成したパブリックサブネットを選択します。

    3. [Auto-assign Public IP] で、[Enable] を選択します。

    4. 必要に応じて、残りのインスタンスの詳細を変更します。続いて、[次の手順: ストレージの追加] を選択します。

  15. 必要に応じて、ストレージの設定を変更します。次に、[次の手順: タグの追加] を選択します。

  16. 必要に応じて、タグを追加または編集します。次に、[次の手順: セキュリティグループの設定] を選択します。

  17. [Step 6: Configure Security Group] で、以下の操作を行います。

    1. [セキュリティグループの割り当て] で、[既存のセキュリティグループを選択する] を選択します。

    2. cloudhsm-<cluster ID>-SG というという名前のセキュリティグループの横にあるチェックボックスを選択します。 AWS CloudHSM は、クラスターを作成する 際に、代理でこのセキュリティグループを作成しました。ウェブサーバーインスタンスからクラスターの HSM への接続を許可するために、このセキュリティグループを選択する必要があります。

    3. インバウンド HTTPS トラフィックを許可するセキュリティグループの横にあるチェックボックスをオンにします。このセキュリティグループは前に作成済みです。

    4. (オプション) ネットワークからの SSH (Linux) または RDP (Windows) の受信トラフィックを許可するセキュリティ グループの横にあるチェックボックスを選択します。つまり、セキュリティグループは、ポート 22(Linux の SSH 用)またはポート 3389(Windows の RDP 用)のインバウンド TCP トラフィックを許可する必要があります。さもないと、クライアントインスタンスに接続することはできません。このようなセキュリティグループがない場合は、作成する必要があります。その後でクライアントインスタンスに割り当てます。

    [Review and Launch] (確認と起動) を選択します。

  18. インスタンスの詳細を確認し、[Launch] を選択します。

  19. インスタンスを起動するために、既存のキーペアを使用するか、新しいキーペアを作成するか、キーペアを使用しないかを選択します。

    • 既存のキーペアを使用するには、以下の操作を行います。

      1. [Choose an existing key pair] (既存のキーペアの選択) をクリックします。

      2. [Select a key pair] で、使用するキーペアを選択します。

      3. [I acknowledge that I have access to the selected private key file (<private key file name>.pem), and that I will not be able to log in my instance.] の横のチェックボックスを選択します。

    • 新しいキーペアを作成するには、以下の操作を行います。

      1. 新規キーペア作成を選択します。

      2. [Key pair name] にキーペアの名前を入力します。

      3. [Download Key Pair] を選択して、プライベートキーファイルを安全でアクセス可能な場所に保存します。

        警告

        この時点以降、プライベートキーファイルをダウンロードすることはできません。この時点でプライベートキーファイルをダウンロードしないと、以後はクライアントインスタンスにアクセスできなくなります。

    • キーペアを使用しないでインスタンスを起動するには、次の操作を行います。

      1. [Proceed without a key pair] を選択します。

      2. [I acknowledge that I will not be able to connect to this instance unless I already know the password built into this AMI] の横にあるチェックボックスをオンにします。

    [Launch Instances] (インスタンスを起動) をクリックします。

ロードバランサーを作成する

以下の手順を完了し、HTTPS トラフィックをウェブサーバーにルーティングする Elastic Load Balancing ロードバランサを作成します。

ロードバランサーを作成するには
  1. Amazon EC2 コンソールで [ロードバランサー] セクションを開きます。

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

  3. [Network Load Balancer] セクションで、[Create] を選択します。

  4. [Step 1: Configure Load Balancer] で、以下の操作を行います。

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

    2. [Listeners] セクションの [Load Balancer Port] で、値を 443 に変更します。

    3. [Availability Zones] セクションの [VPC] で、ウェブサーバーが含まれている VPC を選択します。

    4. [Availability Zones] セクションで、ウェブサーバーが含まれているサブネットを選択します。

    5. [Next: Configure Routing] を選択します。

  5. [Step 2: Configure Routing] で、以下の操作を行います。

    1. [Name] に、作成するターゲットグループの名前を入力します。

    2. [Port] で、値を 443 に変更します。

    3. [Next: Register Targets] を選択します。

  6. [Step 3: Register Targets] で、次の操作を行ないます。

    1. [Instances] セクションで、ウェブサーバーインスタンスの横にあるチェックボックスを選択します。次に、[Add to registered] を選択します。

    2. [次へ: レビュー] を選択します。

  7. ロードバランサーの詳細を確認し、[Create] を選択します。

  8. ロードバランサーが正常に作成されたら、[Close] を選択します。

上記の手順を完了すると、Amazon EC2 コンソールに Elastic Load Balancing ロードバランサが表示されます。

ロードバランサーの状態がアクティブになると、ロードバランサーが動作していることを確認できます。つまり、 AWS CloudHSMでの SSL/TLS オフロードを使用して HTTPS トラフィックがウェブサーバーに送信されていることを検証できます。これは、ウェブブラウザや OpenSSL s_client などのツールを使用して行うことができます。

ロードバランサーが動作していることをウェブブラウザで確認するには
  1. Amazon EC2 コンソールで、先ほど作成したロードバランサーの DNS 名 を見つけてください。次に、この DNS 名を選択してコピーします。

  2. Mozilla Firefox や Google Chrome などのウェブブラウザで、ロードバランサーの DNS 名を使用してロードバランサーに接続します。アドレスバーの URL が https:// で始まっていることを確認します。

    ヒント

    Amazon Route 53 などの DNS サービスを使用して、ウェブサイトのドメイン名 (https://www.example.com/ など) をウェブサーバーにルーティングできます。詳細については、Amazon Route 53 開発者ガイドAmazon EC2 インスタンスへのトラフィックのルーティング または DNS サービスのドキュメントを参照してください。

  3. ウェブブラウザを使用して、ウェブサーバー証明書を表示します。詳細については、次を参照してください。

    • Mozilla Firefox の場合は、Mozilla サポートウェブサイトの「証明書を見る」を参照してください。

    • Google Chrome の場合は、ウェブ開発者向け Google ツールのウェブサイトで「セキュリティの問題を理解する」を参照してください。

    他のウェブブラウザでも、同様の機能を使用してウェブサーバー証明書を表示できる場合があります。

  4. 証明書が、ウェブサーバーで使用するように設定したものであることを確認します。

ロードバランサーが動作していることを OpenSSL s_client で確認するには
  1. 以下の OpenSSL コマンドにより、HTTPS を使用してロードバランサーに接続します。<DNS name> を、使用しているロードバランサーの DNS 名に置き換えます。

    openssl s_client -connect <DNS name>:443
    ヒント

    Amazon Route 53 などの DNS サービスを使用して、ウェブサイトのドメイン名 (https://www.example.com/ など) をウェブサーバーにルーティングできます。詳細については、Amazon Route 53 開発者ガイドAmazon EC2 インスタンスへのトラフィックのルーティング または DNS サービスのドキュメントを参照してください。

  2. 証明書が、ウェブサーバーで使用するように設定したものであることを確認します。

これで、ウェブサーバーのプライベートキーが AWS CloudHSM クラスターの HSM に保存され、HTTPS で保護されているウェブサイトができました。ウェブサイトは、2 つのウェブサーバーとロードバランサーにより、効率と可用性が向上します。