Oracle Cloud Infrastructureドキュメント

ヘルス・チェック APIの開始

ヘルス・チェック・サービスを使用すると、ヘルス・チェック APIを使用して、モニターおよびオンデマンド・プローブを構成およびデプロイできます。 モニターおよびプローブの設定方法、およびREST APIを使用した結果の取得方法については、次のガイドを参照してください。

認証と認可

Oracle Cloud Infrastructureの各サービスは、すべてのインタフェース(コンソール、SDKまたはCLI、およびREST API)の認証および認可のためにIAMと統合されています。

組織の管理者は、どのユーザーがどのサービス、どのリソースおよびアクセスのタイプにアクセスできるかを制御するグループ、コンパートメントおよびポリシーを設定する必要があります。 たとえば、ポリシーは、新しいユーザーの作成、クラウド・ネットワークの作成と管理、インスタンスの起動、バケットの作成、オブジェクトのダウンロードなどを実行できるユーザーを制御します。詳細は、「ポリシーの開始」を参照してください。 異なる各サービスに対するポリシーの記述の詳細は、「ポリシー・リファレンス」を参照してください。

会社が所有するOracle Cloud Infrastructureリソースを使用する必要がある通常のユーザー(管理者ではない)の場合は、管理者に連絡してユーザーIDを設定してください。 管理者は、使用する必要があるコンパートメントを確認できます。

エンドポイント

ヘルス・チェック APIには、次のエンドポイントを介してアクセスできます:

  • https://healthchecks.ca-toronto-1.oraclecloud.com/20180501
  • https://healthchecks.us-ashburn-1.oraclecloud.com/20180501
  • https://healthchecks.us-phoenix-1.oraclecloud.com/20180501
  • https://healthchecks.eu-frankfurt-1.oraclecloud.com/20180501
  • https://healthchecks.uk-london-1.oraclecloud.com/20180501

プローブおよびモニターで使用可能なプロトコル

HTTPまたはpingリクエストを使用するようにモニターおよびプローブを構成できます。 モニター対象のエンドポイントが、指定したプロトコルを受け入れるように構成されていることを確認する必要があります。

HTTP - HTTP/1.1を使用して、可用性のためにターゲットをテストするGETまたはHEADリクエストを構成します。 プローブ結果はJSONで返され、HTTPステータス・コードとDNS参照、接続およびレスポンス・タイミングが含まれます。

HTTPS - 暗号化されたHTTPS GETまたはHEADリクエストを構成して、セキュアにホストされているターゲットの可用性をテストします。 デフォルトはポート443です。 プローブ結果はJSONで返され、HTTPステータス・コードとDNS参照、接続およびレスポンス・タイミングが含まれます。

ICMP - ICMPエコー・リクエストpingを構成します。 結果にはラウンド・トリップ時間(RTT)待機時間が含まれます。

TCP - 指定した終点へのTCPハンドシェイクを構成します。 この接続のテストとして、受信者にとってコストがかかる可能性があるため、このエンドポイントを必ず所有してください。 結果にはラウンド・トリップ時間(RTT)待機時間が含まれます。

モニターの作成

モニターを使用すると、一定期間のエンドポイントのヘルスをモニターできます。 次の例では、GETリクエストを使用してwww.example.comのヘルスを各30秒間隔で検査するHTTPSモニターを作成する方法を示します。

POST /20180501/httpMonitors
 
				{
				"compartmentId": "ocid1.compartment.oc1..aaaaaaaat7uqcb6zoxvzoga4d4vh4dtweciavepacd3skz56atf3qp73d7fx",
				"protocol": "HTTPS",
				"port": 443,
				"targets": [
				"www.example.com"
				],
				"timeoutInSeconds": 30,
				"method": "GET",
				"displayName": "Example HTTP monitor",
				"intervalInSeconds": 30
		}

ターゲットはホスト名またはIPアドレスのいずれかで、pathフィールドを使用してオプションのパス(例: www.example.com/project/help.htm)を指定できます。 オプションで、vantagePointNamesフィールドを使用して、モニターを起動する地理的ロケーションを指定できます。 このフィールドを使用する場合は、少なくとも1つのバンテージ・ポイントがリストに必要です。 使用可能なバンテージ・ポイントのリストは、「バンテージ・ポイント」を参照してください。

プローブが正常に作成され、プローブの結果がレスポンスのresultsUrlフィールドのURLから取得されることにより、200応答が返されます。

{
				"id": "ocid1.httpmonitor.OC2...abuxgljr6l4nepxjkmbtnibwqpu5z24xdvmr7okzoi47wicoflrxh32rwd7a",
				"compartmentId": "ocid1.compartment.oc1..aaaaaaacsxgoz7flzmry5dr6scf7xru6lwqpoygqld74npvn5rdj2cv3iiq",
				"resultsUrl": "https://healthchecks.us-ashburn-1.oraclecloud.com/20180501/httpProbeResults/ocid1.httpmonitor.OC2...abuxgljr6l4nepxjkmbtnibwqpu5z24xdvmr7okzoi47wicoflrxh32rwd7a",
				"targets": [
				"www.example.com",
				"www.oracle.com"
				],
				"vantagePointNames": [
				"ibm-sjc",
				"aws-dub",
				"dgo-nyc"
				],
				"protocol": "HTTPS",
				"timeoutInSeconds": 30,
				"displayName": "Example Monitor",
				"intervalInSeconds": 30,
				"isEnabled": true
		}

HTTPモニターの作成の詳細は、CreateHttpMonitorを参照してください。

ノート

TCPまたはICMPプロトコルを使用して、同様の形式のモニターを構成できます。 詳細は、CreatePingMonitorを参照してください。

オンデマンド・プローブの作成

プローブは、エンドポイントの1回限りのヘルス評価であり、いつでもデプロイできます。 次の例は、GETリクエストを使用してwww.example.comのヘルスを確認するオンデマンドHTTPプローブを作成する方法を示しています。

POST /20180501/httpProbeResults
 
{
  "compartmentId": "ocid1.compartment.oc1..aaaaaaaat7uqcb6zoxvzoga4d4vh4dtweciavepacd3skz56atf3qp73d7fx",
  "protocol": "HTTP",
  "targets": [
      "www.example.com"
  ],
  "timeoutInSeconds": 30,
  "method": "GET"
}

ターゲットはホスト名またはIPアドレスのいずれかで、pathフィールドを使用してオプションのパス(例: www.example.com/project/help.htm)を指定できます。 さらに、vantagePointNamesフィールドを使用して、プローブの開始元となる地理的ロケーションを指定できます。 使用可能なバンテージ・ポイントのリストは、「バンテージ・ポイント」を参照してください。

プローブが正常に作成され、プローブの結果がレスポンスのresultsUrlフィールドのURLから取得されることにより、200応答が返されます。 テストを構成すると、結果が表示されるまで少し時間がかかります。

{  
   "id":"ocid1.pingprobe.OC2...abuxgljr6l4nepxjkmbtnibwqpu6y34xdvmr7okzoi47wicoflrxh32rwd9z",
   "compartmentId":"ocid1.compartment.oc1..aaaaaaacsxgoz7flzmry5dr6scf7xru6lwqpoygqld74npvn5rdj2cv3iiq",
   "resultsUrl":"https://healthchecks.us-ashburn-1.oraclecloud.com/20180501/pingProbeResults/ocid1.pingprobe.OC2...abuxgljr6l4nepxjkmbtnibwqpu6y34xdvmr7okzoi47wicoflrxh32rwd9z",
   "targets":[  
      "www.example.com"
   ],
   "vantagePointNames":[  
      "ibm-sjc",
      "aws-dub",
      "dgo-nyc"
   ],
   "protocol":"ICMP",
   "timeoutInSeconds":30
}

プローブの作成の詳細は、CreateOnDemandHttpProbeを参照してください。

ノート

TCPまたはICMPプロトコルを使用して、同様の形式のプローブを構成できます。 詳細は、CreateOnDemandPingProbeを参照してください。

プローブおよびモニター結果の取得

プローブおよびモニター結果は、モニターまたはプローブ作成レスポンスのresultsUrlフィールドのURLから取得できます。 テストを構成すると、結果が表示されるまで少し時間がかかります。 結果は、次のメソッドを使用していつでも取得できます:

  • ListPingProbeResults - TCPまたはICMPプロトコルを使用したモニターまたはオンデマンド・プローブの場合。
  • ListHttpProbeResults - HTTPプロトコルを使用したモニターまたはオンデマンド・プローブ。

オンデマンド・プローブまたはモニターの結果を取得するには、パラメータとしてプローブまたはモニター構成IDを使用する必要があります。 オンデマンド・プローブおよび構成IDは、その作成時に割り当てられ、POSTレスポンスのidフィールドに返されます。 また、ListHttpMonitorメソッドを使用して、HTTPプロトコルを使用して、現在構成されているモニターおよびプローブのリストを取得することもできます。 TCPおよびICMPプロトコルを使用して現在構成されているモニターおよびプローブのリストを取得するには、ListPingMonitorsメソッドを使用します。

GET /httpProbeResults/{probeConfigurationId}を使用して取得される結果の例を次に示します。

{  
  "key": "651b9f3a46041cace0530204060ae27e",
  "probeConfigurationId": "ocid1.httpmonitor.OC2...abuxgljr6l4nepxjkmbtnibwqpu5z24xdvmr7okzoi47wicoflrxh32rwd7a",
  "startTime": 1517323711505,
  "target": "www.example.com",
  "vantagePointName": "dgo-nyc",
  "protocol": "HTTPS",
  "connection": {
    "connectDuration": 114,
    "secureConnectDuration": 99,
    "address": "93.184.216.34",
    "port": 443
    },
  "dns":{
    "domainLookupDuration": 29,
    "addresses": [
      "93.184.216.34",
      "2606:2800:220:1:248:1893:25c8:1946"
      ]
      },
  "statusCode": 200,
  "fetchStart": 1517323711505,
  "domainLookupStart": 1517323711505,
  "domainLookupEnd": 1517323711534,
  "connectStart": 1517323711535,
  "secureConnectionStart": 1517323711550,
  "connectEnd": 1517323711649,
  "requestStart": 1517323711649,
  "responseStart": 1517323711673,
  "responseEnd": 1517323711676,
  "duration": 171,
  "encodedBodySize": 1270,
  "isTimedOut": false,
  "isHealthy": true
}

バンテージ・ポイント

バンテージ・ポイントは、モニターおよびプローブの起動に使用できる地理的なロケーションです。 Oracle Cloud Infrastructureは、AWS、IBM、Azureなど、世界中のクラウド・プロバイダのインフラストラクチャ上のバンテージ・ポイントを維持します。 次のリストは、使用可能なバンテージ・ポイントのサンプリングです。 バンテージ・ポイントのリストは動的で、頻繁に変更されます。 ListHealthChecksVantagePointsメソッドを使用して、使用可能なバンテージ・ポイントのリストを返します。

プロバイダ 場所 名前
アマゾン Singapore aws-sin
アマゾン サン・パウロ aws-sao
アマゾン ダブリン aws-dub
アマゾン San Francisco aws-sfo
Azure ダブリン azr-dub
Azure アムステルダム azr-ams
Azure Singapore azr-sin
Azure Sydney azr-syd
デジタル接続 トロント dgo-yyz
デジタル接続 フランクフルト dgo-fra
デジタル接続 ニューヨーク市 dgo-nyc
デジタル接続 バーナヴァル、ネパール dgo-blr
Google 台湾 goo-tpe
Google セル goo-bru
Google Council Bluffs、IA goo-cbf
Google チャールストン、SC goo-chs
IBM サンノゼ、CA ibm-sjc
IBM 東京 ibm-hnd
IBM Dallas、TX ibm-dfw
IBM 香港 ibm-hkg
ラック・スペース アッシュバーン、VA rck-iad
ラック・スペース Dallas、TX rck-dfw
ラック・スペース ロンドン rck-lhr
ラック・スペース Sydney rck-syd