を使用して Windows SSL証明書を Application Load Balancer に移行する ACM - AWS 規範ガイダンス

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

を使用して Windows SSL証明書を Application Load Balancer に移行する ACM

作成者: Chandra Sekhar Yaratha (AWS) と Igor Kovalchuk (AWS)

環境:本稼働

ソース:Windows ウェブアプリケーション

ターゲット: での Application Load Balancer AWS

Rタイプ: リプラットフォーム

ワークロード: Microsoft

テクノロジー: 移行、管理とガバナンス、ウェブとモバイルアプリ

AWS サービス: Elastic Load Balancing (ELB)、 AWS Certificate Manager (ACM)

[概要]

このパターンは、 AWS Certificate Manager (ACM) を使用して、オンプレミスサーバーまたは Microsoft Internet Information Services (SSL) 上の Amazon Elastic Compute Cloud (Amazon ) インスタンスでホストされているウェブサイトから既存の Secure Sockets Layer (EC2) 証明書を移行するためのガイダンスを提供しますIIS。その後、 の Elastic Load Balancing でSSL証明書を使用できますAWS。

SSL は、お客様のデータを保護し、アイデンティティを確認し、検索エンジンのランキングを向上させ、Payment Card Industry Data Security Standard (PCI DSS) の要件を満たし、お客様の信頼を向上させます。これらのワークロードを管理するデベロッパーと IT チームは、IISサーバーや Windows Server などのウェブアプリケーションとインフラストラクチャがベースラインポリシーに準拠していることを望んでいます。

このパターンでは、Microsoft から既存のSSL証明書を手動でエクスポートしIIS、Personal Information Exchange (PFX) 形式から がACMサポートするプライベート拡張メール (PEM) 形式に変換してから、ACMAWSアカウントにインポートします。また、アプリケーションのApplication Load Balancer を作成し、インポートした証明書を使用するようにApplication Load Balancer を設定する方法についても説明します。HTTPS その後、接続は Application Load Balancer で終了し、ウェブサーバーで追加の設定オーバーヘッドは必要ありません。詳細については、Application Load Balancer のHTTPSリスナーを作成する」を参照してください。

Windows サーバーは、.pfx または .p12 ファイルを使用して、パブリックキーファイル (SSL 証明書) とその一意のプライベートキーファイルを含めます。認証局 (CA) が公開キーファイルを提供します。サーバーを使用して、証明書署名リクエスト (CSR) が作成された関連付けられたプライベートキーファイルを生成します。

前提条件と制限

前提条件

  • アクティブなAWSアカウント

  • ターゲットが使用する各アベイラビリティーゾーンに少なくとも 1 つのプライベートサブネットと 1 つのパブリックサブネットAWSを持つ の仮想プライベートクラウド (VPC)

  • IIS Windows Server 2012 以降で実行されているバージョン 8.0 以降

  • で実行されるウェブアプリケーション IIS

  • IIS サーバーへの管理者アクセス

アーキテクチャ

ソーステクノロジースタック

  • IIS でウェブサーバーを実装SSLし、暗号化された接続でデータを安全に送信する (HTTPS)

ソースアーキテクチャ

を使用して Windows SSL証明書を Application Load Balancer に移行するためのソースアーキテクチャ ACM

ターゲットテクノロジースタック

  • ACM AWSアカウントの証明書

  • インポートされた証明書を使用するように設定されたApplication Load Balancer

  • プライベートサブネット内の Windows サーバーインスタンス

ターゲット アーキテクチャ

を使用して Windows SSL証明書を Application Load Balancer に移行するためのターゲットアーキテクチャ ACM

ツール

  • AWS Certificate Manager (ACM) は、AWSウェブサイトとアプリケーションを保護するパブリックおよびプライベート SSL/TLS X.509 証明書とキーの作成、保存、更新に役立ちます。

  • Elastic Load Balancing (ELB) は、受信アプリケーションまたはネットワークトラフィックを複数のターゲットに分散します。例えば、1 つ以上のアベイラビリティーゾーンのEC2インスタンス、コンテナ、IP アドレスにトラフィックを分散できます。

ベストプラクティス

  • から HTTPへのトラフィックリダイレクトを適用しますHTTPS。

  • Application Load Balancer のセキュリティグループを適切に設定して、特定のポートへのインバウンドトラフィックのみを許可します。

  • 高可用性を確保するために、異なるアベイラビリティーゾーンでEC2インスタンスを起動します。

  • IP アドレスではなく Application Load Balancer DNSの名前を指すようにアプリケーションのドメインを設定します。

  • Application Load Balancer にアプリケーションレイヤーのヘルスチェック が設定されていることを確認します。

  • ヘルスチェックのしきい値を設定します。

  • Amazon CloudWatch を使用して Application Load Balancer をモニタリングします。

エピック

タスク説明必要なスキル

Windows サーバーから.pfx ファイルをエクスポートします。

Windows Server のオンプレミスIISマネージャーからSSL証明書を .pfx ファイルとしてエクスポートするには:

  1. Start Administrative Internet Information Services (IIS) Manager を選択します。

  2. サーバー名を選択し、セキュリティサーバー証明書をダブルクリックします。

  3. エクスポートする証明書を選択し、エクスポートを選択します。

  4. 証明書のエクスポートボックスで、.pfx ファイルの場所、パス、名前を選択します。

  5. .pfx ファイルのパスワードを指定して確認します。

    注:このパスワードは、.pfx ファイルをインストールするときに必要です。

  6. 「OK」を選択します。

これで、.pfx ファイルが指定した場所とパスに保存されるはずです。

システム管理者
タスク説明必要なスキル

OpenSSL ツールキットをダウンロードしてインストールします。

  1. Shining Light Productions ウェブサイトから Win32/Win64 OpenSSL をダウンロードしてインストールします。

  2. バイナリをコマンドラインで使用できるように、システムPATH変数にオープンSSLバイナリの場所を追加します。

システム管理者

PFXエンコードされた証明書を形式に変換しますPEM。

次のステップでは、PFXエンコードされた署名付き証明書ファイルを 3 つのPEM形式に変換します。

  • cert-file.pem には、リソースの SSL/TLS 証明書が含まれています。

  • privatekey.pem パスワード保護されていない証明書のプライベートキーが含まれます。

  • ca-chain.pem CA のルート証明書が含まれます。

PFX エンコードされた証明書を変換するには:

  1. Windows を実行します PowerShell。

  2. 次のコマンドを使用して、PFXファイルから証明書のプライベートキーを抽出します。プロンプトが表示されたら、証明書のパスワードを入力します。

    openssl pkcs12 -in <filename>.pfx -nocerts -out withpw-privatekey.pem

    コマンドは、 PEMという名前のエンコードされたプライベートキーファイルを生成しますprivatekey.pem。プロンプトが表示されたら、プライベートキーファイルを保護するパスフレーズを入力します。

  3. 次のコマンドを実行して、パスフレーズを設定します。プロンプトが表示されたら、ステップ 2 で作成したパスフレーズを入力します。

    openssl rsa -in withpw-privatekey.pem -out privatekey.pem

    コマンドが成功すると、「書き込みRSAキー」というメッセージが表示されます。

  4. 次のコマンドを使用して、証明書を PFX ファイルから PEM ファイルに転送します。

    openssl pkcs12 -in <file_name>.pfx -clcerts -nokeys -out cert-file.pem

    これにより、 PEMという名前のエンコードされた証明書ファイルが作成されますcert-file.pem。コマンドが成功すると、MAC「検証済み OK」というメッセージが表示されます。

  5. ファイルから CA チェーンPFXファイルを作成します。次のコマンドを実行して、ca-chain.pem という名前のファイルを作成します。

    openssl pkcs12 -in <file_name>.pfx -cacerts -nokeys -chain -out ca-chain.pem

    コマンドが成功すると、MAC「検証済み OK」というメッセージが表示されます。

システム管理者
タスク説明必要なスキル

証明書をインポートするように準備します。

ACM コンソールで、証明書のインポート を選択します。

クラウド管理者

証明書本文を提供します。

証明書本文 には、インポートするPEMエンコードされた証明書を貼り付けます。

このエピックで説明されているコマンドとステップ、およびこのエピックの他のタスクの詳細については、ACMドキュメントの証明書のインポートを参照してください。

クラウド管理者

証明書のプライベートキーを指定します。

証明書プライベートキー の場合、証明書のパブリックキーに一致するPEM、暗号化されていない エンコードされたプライベートキーを貼り付けます。

クラウド管理者

証明書チェーン。

証明書チェーン の場合、 CertificateChain.pem ファイルに格納されているPEMエンコードされた証明書チェーンを貼り付けます。

クラウド管理者

証明書をインポートする

レビューとインポートを選択します。証明書に関する情報が正しいことを確認し、インポートを選択します。

クラウド管理者
タスク説明必要なスキル

ロードバランサーとリスナーを作成し、設定します。

Elastic Load Balancing ドキュメント の指示に従って、ターゲットグループを設定し、ターゲットを登録し、Application Load Balancer とリスナーを作成します。ポート 443 に 2 番目のリスナー (HTTPS) を追加します。

クラウド管理者

トラブルシューティング

問題ソリューション

Windows PowerShell は、Open コマンドをシステムパスに追加した後でも、OpenSSL コマンドを認識しません。

Open SSLバイナリの場所が含まれている$env:pathことを確認します。

そうでない場合は、 で次のコマンドを実行します PowerShell。

$env:path = $env:path + ";C:\OpenSSL-Win64\bin"

関連リソース

証明書の へのインポート ACM

Application Load Balancer の作成