有効期限があるアラートの設定

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

TLS の有効期限のアラートを使用して、環境の TLS 証明書の有効期限が近づいたときに通知を送信します。

TLS 証明書について

TLS(Transport Layer Security)は、ウェブサーバーとウェブ クライアント(ブラウザやアプリなど)の間に暗号化されたリンクを確立するための標準的なセキュリティ テクノロジーです。暗号化されたリンクにより、サーバーとクライアントの間でやり取りされるすべてのデータのプライバシーが確保されます。

TLS 証明書は、TLS トランザクションでエンティティを識別するデジタル ファイルです。Edge は、TLS 証明書を使用して次の TLS を構成します。

TLS 証明書には有効期限が含まれています。TLS 証明書が期限切れになると、証明書を更新するまで TLS 接続は失敗します。つまり、証明書を更新するまで API へのすべてのリクエストは失敗します。

期限切れのアラートについて

証明書の有効期限が切れて API へのリクエストが失敗するのを待つのではなく、有効期限アラートを使用して、環境内の TLS 証明書の有効期限が切れるときに通知を発行します。アラートがトリガーされたら、顧客のサービスが中断されないように証明書を更新できます。

アラートを構成するときは、個々の証明書ではなく、特定の環境を指定します。デプロイされた証明書が指定された期間内に期限切れになるようにスケジュールされると、アラートがトリガーされます。

次のようにして、有効期限のアラートを設定できます。

  • 認定資格の有効期限が切れる 1 日前
  • 認定資格の有効期限が切れる 14 日前
  • 認定資格の有効期限が切れる 30 日前
アラートの詳細については、アラートと通知を設定するをご覧ください。

有効期限のアラートと通知を追加する

有効期限のあるアラートと通知を追加するには:
  1. Edge UI で [Analyze] > [Alert Rules] をクリックします。
  2. [+Alert] をクリックします。
  3. アラートに関する次の一般情報を入力します。
    項目 説明
    アラート名 アラートの名前。トリガーを説明するわかりやすい名前を付けます。名前は 128 文字以内にしてください。
    説明 アラートの説明。
    アラートの種類 [TLS Expiry] を選択します。詳細については、アラートの種類についてをご覧ください。
    環境 プルダウン リストから環境を選択します。
    ステータス アラートを有効または無効に切り替えます。
  4. アラートをトリガーする条件のしきい値とディメンションを定義します。
    条件フィールド 説明
    しきい値

    期限切れの証明書の期間を構成します。証明書の有効期限が近づいているときにアラートを発生させるかどうかを選択できます。

    • 1 日
    • 14 日
    • 30 日
    ディメンション ディメンションは、環境内の任意の TLS 証明書に対応する [すべての TLS 証明書] の値に固定されます。
  5. [+ Notification] をクリックして、アラート通知を追加します。
    通知の詳細 説明
    チャネル 使用する通知チャネルを選択し、送信先を指定します(メール、Slack、PagerDuty、または Webhook)。
    発信先 選択したチャネルタイプに基づいてリンク先を指定します。
    • メール - メールアドレス(例: joe@company.com
    • Slack - Slack チャンネルの URL(例: https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty - PagerDuty コード(例: abcd1234efgh56789
    • Webhook - Webhook URL(例: https://apigee.com/test-webhook

      : 通知ごとに 1 つの送信先のみ指定できます。同じチャネルタイプに複数の宛先を指定するには、通知を追加します。

  6. 通知を追加するには、前の手順を繰り返します。
  7. 通知を追加した場合は、以下の項目を設定します。
    フィールド 説明
    ハンドブック (省略可)アラート発生時に推奨される対応についての簡単な説明を入力する自由形式のテキスト フィールド。ベスト プラクティスが紹介されている社内の Wiki またはコミュニティ ページへのリンクを指定することもできます。このフィールドの情報は通知に含まれます。 このフィールドの内容は 1,500 文字以内にしてください。
    Throttle 通知を送信する頻度。プルダウンから値を選択します。
  8. [保存] をクリックします。

[イベント] ダッシュボードでアラートを表示する

Edge はアラート条件を検出すると、その条件を Edge UI の [Events] ダッシュボードに自動的にロギングします。イベント ダッシュボードに表示されるイベントのリストには、固定と証明書の両方のアラートがすべて含まれます。

アラートを確認するには:

  1. Edge UI で [分析] > [イベント] をクリックします。新しい [イベント] ダッシュボードが表示されます。

  2. [イベント] ダッシュボードは次の条件でフィルタできます。

    • 環境
    • リージョン
    • 期間
  3. イベント ダッシュボードで行を選択して、期限切れの証明書を含むキーストアを表示し、アラートをさらに調査します。[キーストア] ページから、新しい証明書のアップロードと期限切れの証明書の削除ができます。

期限切れアラートでアラート API を使用する

有効期限アラートの作成と管理に使用する API のほとんどは、固定アラートで使用する API と同じです。次のアラート API は、固定アラートと期限切れアラートの両方で同じように機能します。

ただし、一部の API には異常アラートをサポートする次のような追加のプロパティがあります。

有効期限のアラートを作成または更新する

現在の固定アラートと同じ API を使用して、有効期限アラートを作成または更新します。有効期限アラートを作成または更新するための API 呼び出しの本文は、固定アラートの場合と同じですが、次の点が異なります。

  • アラートが期限切れのアラートであることを指定するには、次の新しいプロパティを追加する必要があります。

    "alertType": "cert"
    "alertSubType": "certfixed"

    これらのプロパティのデフォルト値は次のとおりです。

    "alertType": "runtime"
    "alertSubType": "fixed"
  • conditions 配列内:

    • metrics プロパティは expiration の値のみを受け取ります。
    • gracePeriodSeconds プロパティを使用して、証明書の有効期限を秒単位で指定します。最大期間は 30 日間です。
    • thresholddurationSeconds、および comparator プロパティはサポートされていません。
  • conditions 配列の dimensions 要素:
    • certificate プロパティの値を ANY に設定する必要があります。
    • proxy プロパティの値を ALL に設定する必要があります。
    • statusCodedeveloperAppcollectionfaultCodeCategoryfaultCodeSubCategoryfaultCodeName プロパティはサポートされていません。
  • reportEnabled プロパティは、有効期限のアラートではサポートされていません。

次の API 呼び出しの例では、本番環境内の任意の有効期限が今後 30 日以内にトリガーされる有効期限アラートを作成します。アラートがトリガーされると、指定したメールアドレスに通知が送信されます。

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
 -X POST \
 -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{
  "organization":"myorg",
  "name":"My Cert Expiry Alert",
  "description":"My Cert Expiry Alert",
  "environment":"prod",
  "enabled":true,
  "alertType": "cert",
  "alertSubType": "certfixed",
  "conditions":[
  {
    "description":"My Cert Expiry Alert",
    "dimensions":{
      "org":"myorg",
      "env":"prod",
      "proxy":"ALL",
      "certificate": "ANY"
    },
    "metric":"expiration",
    "gracePeriodSeconds": 2592000
  }],
  "notifications":[{
    "channel":"email",
    "destination":"ops@acme.com"
  }],
  "playbook":"http://acme.com/pb.html",
  "throttleIntervalSeconds":3600,
  "reportEnabled":false
}'

OAuth 2.0 アクセス トークンの取得の説明に従って、$ACCESS_TOKEN を OAuth 2.0 アクセス トークンに設定します。この例で使用されている cURL オプションについては、cURL を使用するをご覧ください。

有効期限のアラートを受け取る

デフォルトでは、Get Alerts API は、すべての定義済みアラート(固定アラートと期限切れアラート)に関する情報を返します。この API でクエリ パラメータを取得して、結果をフィルタできるようになりました。

  • enabled - true で、有効なアラートのみを返すよう指定されている場合。デフォルト値は false です。
  • alertType - 返されるアラートの種類を指定します。指定できる値は、runtime、デフォルト値、cert です。
  • alertSubType - 返されるアラートのサブタイプを指定します。デフォルト値は未設定です。この場合、すべてのアラートのサブタイプが返されます。有効期限のアラートを返すには、certfixed を指定します。

たとえば、次の API 呼び出しを使用して、myorg という名前の組織の有効なアラートのみを返します。

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

次の呼び出しでは、有効と無効の両方の期限切れのアラートのみが返されます。

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=cert&alertSubType=certfixed'

OAuth 2.0 アクセス トークンの取得の説明に従って、$ACCESS_TOKEN を OAuth 2.0 アクセス トークンに設定します。この例で使用されている cURL オプションについては、cURL を使用するをご覧ください。