仮想サービス・ルート表の作成
サービス・メッシュで仮想サービスの仮想サービス・ルート表を作成します。
仮想サービス・ルート表を作成するには、少なくとも1つの仮想デプロイメントが必要です。
virtual-service-route-table create
で使用可能な操作を確認するには、次を使用します:oci service-mesh virtual-service-route-table create -h
仮想サービス・ルート表を作成するには、
oci service-mesh virtual-service-route-table create
オプションを使用します:oci service-mesh virtual-service-route-table create --name "<name>" --compartment-id <compartmentId> --virtual-service-id <virtualServiceId> --route-rules <rules> --description <description> --priority <priority>
ここでは:
<name>
(immutable): 仮想サービス・ルート表の名前。名前は同じ仮想サービス内で一意である必要があり、作成後に変更できません。名前は、文字またはアンダースコアで始まり、文字、数字、ハイフンまたはアンダースコアが続く必要があります。長さは1から255文字です。機密情報を入力しないでください。<compartmentId>
(オプション): 仮想サービス・ルート表が属するコンパートメントのOCID。<virtualServiceId>
: この仮想サービスのルート表が作成される仮想サービスのOCID。<rules>
<type>
:HTTP
、TCP
およびTLS_PASSTHROUGH
プロトコルを選択します。TLS_PASSTHROUGH
が選択されている場合、プロキシはTLSを管理しません。プロキシは、TLSを独自に管理するアプリケーションに、暗号化されたデータをそのまま渡します。HTTP
オプション:<path>
: このルートへのパス(/mypath
など)。ルート(「/」)にデフォルト設定するパス値を指定しません。ルート値を指定せずにパスを指定すると、ルールによってルート(/)がパスの先頭に付加されます。<pathType>
: 指定されたパスのタイプ。デフォルトのPREFIX
オプションは、パスをエンドポイントへの接頭辞として処理し、サポートされている唯一のオプションです。pathType
が指定されていない場合、デフォルトが使用されます。<isGrpc>
: trueに設定すると、content-type
ヘッダーにapplication/grpc
または様々なapplication/grpc+
値の1つが含まれていることがチェックされます。
<destinations>
: このルートの仮想デプロイメントの宛先を定義します。少なくとも1つの出力先が必要です。<virtualDeploymentId>
リクエストがルーティングされる仮想デプロイメントのOCID。<weight>
: この宛先の重み。宛先が1つのみ作成されている場合、値はデフォルトで100になります。複数の宛先を作成する場合は、宛先ごとに1から100の値を指定できます。合計すると、すべての宛先の加重の合計が100になる必要があります。<port>
:1から65535の範囲のポートを選択します。このルールで許可されるポートは1つのみです。ポートを指定しない場合、ルールは仮想デプロイメントのすべてのポートをターゲットとします。注意
メッシュ・リソースでは、15000、15003、15006および9901のサービス・メッシュ予約済ポートを使用しないでください。
<description>
(オプション): 仮想サービスのルート表の説明。フィールドは変更可能です。機密情報を入力しないでください。<priority>
(オプション): ルート表の優先度を1から1000に設定します。デフォルトは500です。数値が小さいほど優先度が高くなります。同じ優先度で、ルート表は、最も新しいルート表が最も高い優先度で作成された時間に基づいて優先順位付けされます。
次に例を示します。
oci service-mesh virtual-service-route-table create --compartment-id ocid1.compartment.oc1..aaa... --virtual-service-id ocid1.meshvirtualservice.oc1..aaa... --name "virtual-service-route-table" --route-rules '[{"destinations":[{"port":443,"type":"VIRTUAL_DEPLOYMENT","virtualDeploymentId":"ocid1.meshvirtualdeployment.oc1..aaa...","weight":100}],"isGrpc":true,"path":"/service-path","pathType":"PREFIX","type":"HTTP"}]' --description "my virtual-service-route-table" --priority 10
コマンドへの応答は次のとおりです。
- 仮想サービス・ルート表のOCID
- ライフサイクルの状態(ACTIVE、FAILEDなど)。
- 仮想サービス・ルート表を作成する作業リクエストのID(作業リクエストの詳細は、完了、取消または失敗の後の7日間使用できます)。
仮想サービスがアクティブになるか、リクエストが失敗するまでコマンドが制御を返すのを待機する場合は、次のいずれかまたは両方のパラメータを含めます。
--wait-for-state SUCCEEDED
--wait-for-state FAILED
次に例を示します。
oci service-mesh virtual-service-route-table create --compartment-id ocid1.compartment.oc1..aaa... --virtual-service-id ocid1.meshvirtualservice.oc1..aaa... --name "virtual-service-route-table" --route-rules '[{"destinations":[{"port":443,"type":"VIRTUAL_DEPLOYMENT","virtualDeploymentId":"ocid1.meshvirtualdeployment.oc1..aaa...","weight":100}],"isGrpc":true,"path":"/service-path","pathType":"PREFIX","type":"HTTP"}]' --description "my virtual-service-route-table" --priority 10 --wait-for-state SUCCEEDED
ヒント
作業リクエストが正常に作成されて仮想サービスがアクティブになるまで、仮想サービスを使用できません。仮想サービスのステータスの確認
仮想サービス・ルート表のステータスを表示するには、次のように入力します:
oci service-mesh virtual-service-route-table get --virtual-service-route-table-id <virtual-service-route-table-ocid>
仮想サービスを作成する作業リクエストのステータスを表示するには、サービス・メッシュ作業リクエストを参照してください。
JSONファイルを使用した仮想サービス・ルート表の作成
または、createコマンドにJSONファイルを指定して仮想サービス・ルート表を作成します。
-
仮想サービス・ルート表のサンプルJSONファイルを生成します:
oci service-mesh virtual-service-route-table create --generate-full-command-json-input
- 前のステップで生成されたサンプル出力を含むJSONファイルを作成し、フィールドを適切な値で更新します。
-
virtual-service-route-table create
コマンドにJSONファイルを指定します:oci service-mesh virtual-service create --from-json file:///<filename>
CLIの使用方法の詳細は、次を参照してください:
CreateVirtualServiceRouteTable操作を使用して、仮想サービス・ルート表を作成します。