このページでは、Certificate Manager を使用して Transport Layer Security(TLS)(以前の SSL)証明書を作成および管理する方法について説明します。
詳細については、サポートされている TLS 証明書をご覧ください。
Google マネージド証明書を作成する
Certificate Manager では、次の方法で Google マネージド証明書を作成できます。
- ロードバランサ認証を使用した Google マネージド証明書(グローバル)
- DNS 認証を使用した Google マネージド証明書(グローバル、リージョン、クロスリージョン)
- Certificate Authority Service(CA Service)を使用する Google マネージド証明書(グローバル、リージョン、クロスリージョン)
ロードバランサ認証
ロードバランサ認証を使用すると、ロードバランサによってトラフィックが処理されるときに、ドメインの Google マネージド証明書を取得できます。この方法では、証明書のプロビジョニングに追加の DNS レコードは必要ありません。ロードバランサ認証は、既存のトラフィックがない新しい環境に使用できます。Google マネージド証明書でロードバランサ認証を使用するタイミングについては、Google マネージド証明書のドメイン認証のタイプをご覧ください。
ロードバランサ認証を使用する Google マネージド証明書は、global ロケーションでのみ作成できます。ロードバランサ認証済み証明書は、ワイルドカード ドメインをサポートしていません。
コンソール
Google Cloud コンソールで、[Certificate Manager] ページに移動します。
[証明書] タブで、[証明書を追加] をクリックします。
[証明書名] フィールドに、証明書の一意の名前を入力します。
省略可: [説明] フィールドに証明書の説明を入力します。説明は、証明書を識別するために使用します。
[ロケーション] で [グローバル] を選択します。
[範囲] で、次のいずれかのオプションを選択します。
- デフォルト: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
- エッジ キャッシュ: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。
ロードバランサ認証は、リージョン ロケーションまたはすべてのリージョン スコープでは使用できません。
[証明書の種類] で [Google マネージド証明書を作成する] を選択します。
[認証局のタイプ] で [公開] を選択します。
[ドメイン名] フィールドに、証明書のドメイン名をカンマ区切りで指定します。各ドメイン名は完全修飾ドメイン名(
myorg.example.comなど)にする必要があります。[認証タイプ] で [ロードバランサ認証] を選択します。
[ラベル] フィールドで、証明書に関連付けるラベルを指定します。ラベルを追加するには、[ラベルを追加] をクリックして、ラベルのキーと値を指定します。
[作成] をクリックします。
新しい証明書が証明書のリストに表示されます。
gcloud
ロードバランサ認証を使用してグローバル Google マネージド証明書を作成するには、certificate-manager certificates create コマンドを使用します。
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAMES" \
[--scope=SCOPE]
以下を置き換えます。
CERTIFICATE_NAME: 証明書の名前。DOMAIN_NAMES: ターゲット ドメインのカンマ区切りのリスト。各ドメイン名は完全修飾ドメイン名(myorg.example.comなど)にする必要があります。SCOPE: 次のいずれかを入力します。default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。
Terraform
google_certificate_manager_certificate リソースを使用します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
API
次のように、certificates.create メソッドに POST リクエストを送信して証明書を作成します。
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME"
{
"managed": {
"domains": ["DOMAIN_NAME"],
"scope": "SCOPE" //optional
}
}
次のように置き換えます。
PROJECT_ID: Google Cloud プロジェクトの ID。CERTIFICATE_NAME: 証明書の名前。DOMAIN_NAMES: ターゲット ドメインのカンマ区切りのリスト。各ドメイン名は完全修飾ドメイン名(myorg.example.comなど)にする必要があります。SCOPE: 次のいずれかを入力します。default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。
DNS 認証
本番環境が準備できる前に Google マネージド証明書を使用するには、DNS 認証を使用してプロビジョニングします。Google マネージド証明書で DNS 認証を使用するタイミングについては、Google マネージド証明書のドメイン認証のタイプをご覧ください。
複数のプロジェクトで証明書を個別に管理するには、プロジェクトごとの DNS 認証を使用します。プロジェクトごとの DNS 認証を使用して証明書を作成する方法については、DNS 認証を作成するをご覧ください。
証明書を作成する前に、次の操作を行います。
- 証明書の対象となる各ドメイン名に対して、DNS 認証を作成します。
- ターゲット ドメインの DNS ゾーンにある検証サブドメインの DNS 構成に CNAME レコードを追加します。
コンソール
Google Cloud コンソールで、[Certificate Manager] ページに移動します。
[証明書] タブで、[証明書を追加] をクリックします。
[証明書名] フィールドに、証明書の一意の名前を入力します。
省略可: [説明] フィールドに証明書の説明を入力します。説明は、証明書を識別するために使用します。
[ロケーション] で、[グローバル] または [リージョン] を選択します。
[リージョン] を選択した場合は、[リージョン] リストからリージョンを選択します。
[範囲] で、次のいずれかのオプションを選択します。
- デフォルト: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
- すべてのリージョン: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
- エッジ キャッシュ: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。
[スコープ] フィールドは、[リージョン] のロケーションを選択した場合は使用できません。
[証明書の種類] で [Google マネージド証明書を作成する] を選択します。
[認証局のタイプ] で [公開] を選択します。
[ドメイン名] フィールドに、証明書のドメイン名をカンマ区切りのリストで指定します。各ドメイン名は完全修飾ドメイン名(
myorg.example.comなど)にする必要があります。 ドメイン名は、*.example.comなどのワイルドカード ドメイン名にすることもできます。[認証タイプ] で [DNS 認証] を選択します。
このページには、ドメイン名の DNS 認証が一覧表示されます。ドメイン名に関連付けられた DNS 認証がない場合は、次の手順で作成します。
- [見つからない DNS 認証の作成] をクリックします。
- [DNS 認証名] フィールドに、DNS 認証の名前を指定します。デフォルトの DNS 認証タイプは
FIXED_RECORDです。複数のプロジェクトで証明書を個別に管理するには、[プロジェクトごとの認証] チェックボックスをオンにします。 - [DNS 認証を作成] をクリックします。
[ラベル] フィールドで、証明書に関連付けるラベルを指定します。ラベルを追加するには、[ラベルを追加] をクリックして、ラベルのキーと値を指定します。
[作成] をクリックします。
新しい証明書が証明書のリストに表示されます。
gcloud
DNS 認証を使用して Google マネージド証明書を作成するには、certificate-manager certificates create コマンドを実行します。
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAME, *.DOMAIN_NAME" \
--dns-authorizations="AUTHORIZATION_NAMES" \
[--location=LOCATION] \
[--scope=SCOPE]
以下を置き換えます。
CERTIFICATE_NAME: 証明書の名前。DOMAIN_NAME: ターゲット ドメインの名前。ドメイン名は、完全修飾ドメイン名(myorg.example.comなど)またはワイルドカード ドメイン(*.myorg.example.comなど)にする必要があります。アスタリスク ドットの接頭辞(*.)は、ワイルドカード証明書を示します。AUTHORIZATION_NAMES: DNS 認証の名前のカンマ区切りのリスト。LOCATION: ターゲット Google Cloud ロケーション。デフォルトはglobalです。SCOPE: 次のいずれかを入力します。default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。
Terraform
API
次のように、certificates.
create メソッドに対して POST リクエストを行い、証明書を作成します。
POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME
{
"managed": {
"domains": ["DOMAIN_NAME"],
"issuanceConfig": "ISSUANCE_CONFIG_NAME",
"scope": "SCOPE" //optional
}
}
次のように置き換えます。
PROJECT_ID: Google Cloud プロジェクトの ID。LOCATION: ターゲット Google Cloud ロケーション。CERTIFICATE_NAME: 証明書の名前。DOMAIN_NAME: ターゲット ドメインの名前。ドメイン名は完全修飾ドメイン名(myorg.example.comなど)にする必要があります。ISSUANCE_CONFIG_NAME: ターゲット CA プールを参照する証明書発行構成リソースの名前。SCOPE: 次のいずれかを入力します。default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。
CA Service により発行
Certificate Manager を CA Service と統合して、Google マネージド証明書を発行できます。グローバル Google マネージド証明書を発行するには、任意のリージョンのリージョン CA プールを使用します。リージョン Google マネージド証明書を発行するには、証明書と同じリージョンの CA プールを使用します。
証明書を作成する前に、CA Service と Certificate Manager の統合を構成します。