このチュートリアルでは、Certificate Manager を使用して、セルフマネージド証明書をリージョン外部 Application Load Balancer またはリージョン内部 Application Load Balancer にデプロイする方法を説明します。
証明書をリージョン外部アプリケーション ロードバランサまたはリージョン内部アプリケーション ロードバランサにデプロイするには、証明書をターゲット プロキシに直接添付します。証明書をグローバル外部アプリケーション ロードバランサにデプロイするには、証明書マップを作成し、そのマップをターゲット プロキシに添付します。詳細については、セルフマネージド証明書をデプロイするをご覧ください。
目標
このチュートリアルでは、次の方法について説明します。
- セルフマネージド証明書を Certificate Manager にアップロードします。
- ターゲット HTTPS プロキシを使用して、証明書をリージョン外部アプリケーション ロードバランサまたはリージョン内部アプリケーション ロードバランサにデプロイします。
証明書のデプロイ プロセスの詳細については、デプロイの概要をご覧ください。
準備
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
このチュートリアルのタスクを完了するための次のロールがあることを確認してください。
- Certificate Manager オーナー: Certificate Manager リソースの作成と管理に必要です。
- Compute ロードバランサ管理者または Compute ネットワーク管理者: HTTPS ターゲット プロキシの作成と管理に必要です。
詳しくは以下をご覧ください。
- Certificate Manager のロールと権限
- Compute Engine の Compute Engine の IAM ロールと権限
ロードバランサを作成する
証明書をデプロイするロードバランサを作成します。
- リージョン外部アプリケーション ロードバランサを作成するには、VM インスタンス グループのバックエンドを使用したリージョン外部アプリケーション ロードバランサの設定をご覧ください。
- リージョン内部のアプリケーション ロードバランサを作成するには、VM インスタンス グループのバックエンドを使用したリージョンの内部アプリケーション ロードバランサを設定するをご覧ください。
このチュートリアルの残りの部分では、ロードバランサのバックエンド、ヘルスチェック、バックエンド サービス、URL マップをすでに構成していることを前提としています。このチュートリアルの後半で必要になるため、URL マップの名前をメモしておきます。
証明書をリクエストして検証する
セルフマネージド証明書をリクエストして検証するには、次のようにします。
信頼できる第三者認証局(CA)を使用して、証明書とそれに関連する鍵を発行します。
証明書のチェーンとルート信頼が適切に行われていることを確認します。
次の PEM エンコード ファイルを準備します。
- 証明書ファイル(CRT)
- 対応する秘密鍵ファイル(KEY)
証明書のリクエストと検証の方法については、秘密鍵と証明書を作成するをご覧ください。
セルフマネージド証明書を Certificate Manager にアップロードします。
証明書を Certificate Manager にアップロードするには、次のコマンドを実行します。
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file="CERTIFICATE_FILE" \ --private-key-file="PRIVATE_KEY_FILE" \ --location="REGION"
以下を置き換えます。
CERTIFICATE_NAME
: 証明書の一意の名前CERTIFICATE_FILE
: CRT 証明書ファイルのパスとファイル名PRIVATE_KEY_FILE
: KEY 秘密鍵ファイルのパスとファイル名REGION
: ターゲットの Google Cloud リージョン
セルフマネージド証明書をロードバランサにデプロイする
セルフマネージド証明書をデプロイするには、HTTPS ターゲット プロキシを作成し、証明書をアタッチします。
HTTPS ターゲット プロキシを作成する
HTTPS ターゲット プロキシを作成して証明書を添付するには、次のコマンドを実行します。
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP \ --region=REGION \ --certificate-manager-certificates=CERTIFICATE_NAME
以下を置き換えます。
PROXY_NAME
: プロキシの一意の名前。URL_MAP
: URL マップの名前。 この URL マップは、ロードバランサの作成時に作成したものです。REGION
: HTTPS ターゲット プロキシを作成するリージョン。CERTIFICATE_NAME
: 証明書の名前。
ターゲット プロキシが作成されたかどうかを確認するには、次のコマンドを実行します。
gcloud compute list target-https-proxies
転送ルールの作成
転送ルールを設定し、ロードバランサの設定を完了します。
- リージョン外部アプリケーション ロードバランサを使用している場合は、VM インスタンス グループのバックエンドを使用してリージョン外部アプリケーション ロードバランサを設定するをご覧ください。
- リージョン内部のアプリケーション ロードバランサを使用している場合は、VM インスタンス グループのバックエンドを使用してリージョンの内部のアプリケーション ロードバランサを設定するをご覧ください。
クリーンアップ
このチュートリアルで行った変更を元に戻すには、アップロードした証明書を削除します。
gcloud certificate-manager certificates delete CERTIFICATE_NAME
CERTIFICATE_NAME
は、ターゲット証明書の名前に置き換えます。