Cloud の TLS 証明書を更新する

証明書の更新方法は、仮想ホストまたはターゲット エンドポイント / ターゲット サーバーのキーストアとトラストストアの名前を指定する方法によって決まります。キーストアとトラストストアの名前は次の方法で指定できます。

  • 参照 - 推奨
  • 直接指定
  • フロー変数

どの方法で指定するかによって、次の表のように証明書の更新プロセスが変わります。

構成タイプ 証明書を更新または置換する方法 仮想ホスト、ターゲット エンドポイント / ターゲット サーバーの更新方法
参照(推奨)

キーストアの場合は、新しいキーストアを新しい名前で作成し、エイリアスを古いエイリアスと同じ名前で作成します。

トラストストアの場合は、トラストストアを新しい名前で作成します。

キーストアまたはトラストストアの参照を更新します。

Apigee サポートに連絡する必要はありません。

フロー変数(ターゲット エンドポイントのみ)

キーストアの場合は、新しいキーストアを新しい名前で作成し、エイリアスを同じ名前または新しい名前で作成します。

トラストストアの場合は、トラストストアを新しい名前で作成します。

新しいキーストア、エイリアス、トラストストアの名前を使用して、リクエストごとに更新されたフロー変数を渡します。

Apigee サポートに連絡する必要はありません。

直接 新しいキーストア、エイリアス、トラストストアを作成します。

仮想ホストの場合、Apigee サポートに連絡して Router を再起動します。

トラストストアがターゲット エンドポイント / ターゲット サーバーによって使用されている場合は、プロキシを再デプロイします。

直接 キーストア、トラストストアを削除し、同じ名前で再作成します。

仮想ホストを更新する必要はありません。ただし、新しいキーストアとエイリアスが設定されるまで、API リクエストは失敗します。

Edge とバックエンド サービス間の双方向 TLS にキーストアが使用されている場合は、Apigee サポートに連絡して Message Processor を再起動します。

直接 トラストストアの場合のみ、新しい証明書をトラストストアにアップロードします。

仮想ホストの場合、Apigee サポートに連絡して Edge Router を再起動します。

トラストストアがターゲット エンドポイント / ターゲット サーバーによって使用されている場合は、Apigee サポートに連絡して Message Processor を再起動します。

更新前と更新後の証明書のテスト

次の openssl コマンドを使用して、現在の証明書を更新する前にテストを行います。

echo | openssl s_client -servername ORG-ENV.apigee.net -connect ORG-ENV.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject
    

ここで、ORG-ENV は組織と環境です。例:

echo | openssl s_client -servername myOrg-prod.apigee.net -connect myOrg-prod.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject
    

出力は次のようになります。

    notBefore=Dec 30 22:11:38 2015 GMT
    notAfter=Dec 30 22:11:38 2016 GMT
    subject= /OU=Domain Control Validated/CN=*.apigee.net
    

証明書を更新したら、同じコマンドでテストを行います。

仮想ホストまたはターゲット エンドポイント / ターゲット サーバーで使われているキーストアとトラストストアの参照方法を確認する

  1. Edge 管理 UI(https://enterprise.apigee.com)にログインします。
  2. Edge 管理 UI のメニューで、組織の名前を選択します。
  3. 仮想ホストの場合、仮想ホストでキーストアとトラストストアがどのように指定されているか確認します。
    1. Edge UI のバージョンに応じて、次のようにします。
      1. 従来の Edge UI を使用している場合は、[APIs] > [Environment Configuration] を選択します。
      2. 新しい Edge UI を使用している場合は、[Admin] > [Environments] を選択します。
    2. [Virtual Hosts] タブを選択します。
    3. 更新する特定の仮想ホストについて、[Show] ボタンを選択してプロパティを表示します。表示には次のプロパティが含まれます。
      1. キーストア: 現在のキーストアの名前。通常は ref://mykeystoreref 形式の参照として指定されています。

        代わりに、myKeystoreName 形式の直接名か {ssl.keystore} 形式のフロー変数で指定されていることもあります。
      2. キーエイリアス: このプロパティの値は、キーストアのエイリアス名です。新しいキーストアは、同じ名前のエイリアスを作成する必要があります。
      3. トラストストア: 現在のトラストストアの名前。通常は ref://mytruststoreref 形式の参照として指定されています。

        代わりに、myTruststoreName 形式の直接名か {ssl.truststorestore} 形式のフロー変数で指定されていることもあります。
  4. ターゲット エンドポイント / ターゲット サーバーの場合、ターゲット エンドポイントでキーストアとトラストストアがどのように指定されているか確認します。
    1. Edge 管理 UI のメニューで、[APIs] を選択します。
    2. API プロキシの名前を選択します。
    3. [Development] タブを選択します。
    4. [Target Endpoints] で [default] を選択します。
    5. コード領域に TargetEndpoint の定義が表示されます。<SSLInfo> 要素を調べてキーストア / トラストストアの定義方法を確認します。

      : ターゲット エンドポイントがターゲット サーバーを使用している場合、ターゲット エンドポイントの XML 定義は次のようになります。API プロキシが使用するターゲット サーバーは <LoadBalancer> タグで指定します。
      <TargetEndpoint name="default">
            …
            <HTTPTargetConnection>
              <LoadBalancer>
                <Server name="target1" />
                <Server name="target2" />
              </LoadBalancer>
              <Path>/test</Path>
            </HTTPTargetConnection>
              …
          </TargetEndpoint>
      ターゲット サーバー定義の <SSLInfo> 要素を調べて、キーストア / トラストストアの定義方法を確認します。

キーストア内の TLS 証明書の更新

キーストアの証明書が期限切れになると、新しい証明書をキーストアにアップロードすることはできません。代わりに、新しいキーストアを作成して証明書をアップロードしてから、仮想ホストまたはターゲット サーバー / ターゲット エンドポイントを更新して、新しいキーストアを使用します。

通常、現在の証明書が期限切れになる前に新しいキーストアを作成し、仮想ホストまたはターゲット エンドポイントを更新して新しいキーストアが使われるようにするので、証明書の期限切れで中断されることなくリクエストの処理を継続できます。その後、新しいキーストアが正しく機能していることを確認してから、古いキーストアを削除できます。

Edge がクラウドベースでデプロイされている場合:

  1. Edge UI を使用したキーストアとトラストストアの作成の説明に沿って、新しいキーストアを作成し、証明書とキーをアップロードします。

    新しいキーストアでは、既存のキーストアで使用していたキーエイリアスと同じものを使用してください。

  2. インバウンド接続(Edge への API リクエスト)で使用される仮想ホストの場合:
    1. 仮想ホストがキーストアへの参照を使用している場合は、参照を更新します。
    2. 仮想ホストでキーストアの名前を直接使用している場合は、Apigee サポートに連絡してください。
  3. アウトバウンド接続(Apigee からバックエンド サーバー)で使用されるターゲット エンドポイント / ターゲット サーバーの場合:
    1. ターゲット エンドポイント / ターゲット サーバーがキーストアへの参照を使用している場合は、参照を更新します。プロキシの再デプロイは必要ありません。
    2. ターゲット エンドポイント / ターゲット サーバーがフロー変数を使用している場合は、フロー変数を更新します。プロキシの再デプロイは必要ありません。
    3. ターゲット エンドポイント / ターゲット サーバーがキーストアの直接名を使用している場合は、古いキーストアとキーエイリアスを参照していた API プロキシのターゲット エンドポイント / ターゲット サーバー構成を更新し、新しいキーストアとキーエイリアスを参照先に変更します。

      プロキシを再デプロイする必要があります。

  4. 新しいキーストアが正常に動作していることを確認したら、期限切れの証明書とキーを持つ古いキーストアを削除します。

トラストストア内の TLS 証明書の更新

トラストストア内の証明書が期限切れになったら、通常、新しいトラストストアを作成して証明書をアップロードしてから、仮想ホストまたはターゲット サーバー / ターゲット エンドポイントを更新して、新しいトラストストアを使用します。

証明書がチェーンの一部である場合は、すべての証明書を含む 1 つのファイルを作成し、そのファイルを 1 つのエイリアスにアップロードするか、証明書ごとに異なるエイリアスを使用してトラストストアにすべての証明書をチェーン別にアップロードする必要があります。

通常、現在の証明書が期限切れになる前に新しいトラストストアを作成し、仮想ホストまたはターゲット エンドポイントを更新して新しいトラストストアを使うようにするので、証明書の期限切れで中断されることなくリクエストの処理を継続できます。その後、新しいトラストストアが正しく機能していることを確認してから、古いトラストストアを削除できます。

Edge がクラウドベースでデプロイされている場合:

  1. Edge UI を使用したキーストアとトラストストアの作成の説明に沿って、新しいトラストストアを作成し、証明書をアップロードします。

    新しい証明書を新しいトラストストアにアップロードするときに、エイリアス名は重要ではありません。

  2. インバウンド接続(Edge への API リクエスト)で使用される仮想ホストの場合:
    1. 仮想ホストがトラストストアへの参照を使用している場合は、参照を更新します。
    2. 仮想ホストでトラストストアの名前を直接使用している場合は、Apigee サポートに連絡してください。
  3. アウトバウンド接続(Apigee からバックエンド サーバー)で使用されるターゲット エンドポイント / ターゲット サーバーの場合:
    1. ターゲット エンドポイント / ターゲット サーバーがトラストストアへの参照を使用している場合は、参照を更新します。プロキシの再デプロイは必要ありません。
    2. ターゲット エンドポイント / ターゲット サーバーがフロー変数を使用している場合は、フロー変数を更新します。プロキシの再デプロイは必要ありません。
    3. ターゲット エンドポイント / ターゲット サーバーがトラストストアの直接名を使用している場合は、古いトラストストアを参照していた API プロキシのターゲット エンドポイント / ターゲット サーバー構成を更新し、新しいキーストアとキーエイリアスを参照先に変更します。

      プロキシを再デプロイする必要があります。

  4. 新しいトラストストアが正常に動作していることを確認したら、期限切れの証明書を持つ古いトラストストアを削除します。