vRouter または仮想ボーダールータ (VBR) のルートテーブルにカスタムルートエントリを追加します。
使用上の注意
- CreateRouteEntry は非同期操作です。リクエストが送信されると、システムはリクエスト ID を返し、バックグラウンドでタスクを実行します。DescribeRouteEntryList 操作を呼び出して、タスクのステータスをクエリできます。
- ルートが Creating 状態の場合、ルートは追加中です。
- ルートが Created 状態の場合、ルートは追加済みです。
- 一定期間内に CreateRouteEntry を繰り返し呼び出すことはできません。
- 1 つのルートテーブルには、最大 200 個のカスタムルートエントリを含めることができます。
- カスタムルートエントリの宛先 CIDR ブロック (DestinationCidrBlock) は、VPC 内の vSwitch の CIDR ブロックと同じ、またはそのサブセットにすることはできません。宛先 CIDR ブロックには、vSwitch の CIDR ブロックを含めることができます。
- カスタムルートエントリの宛先 CIDR ブロック (DestinationCidrBlock) は、100.64.0.0/10 またはそのサブセットにすることはできません。
- 同じルートテーブル内のルートエントリの宛先 CIDR ブロック (DestinationCidrBlock) は一意である必要があります。
- 宛先 CIDR ブロック (DestinationCidrBlock) を指定するときにマスク長を含めない場合、宛先 CIDR ブロックはマスク長が 32 ビットのホスト IP アドレスと見なされます。
- 複数カスタムルートエントリを同じネクストホップ (NextHopId) にポイントできます。
- カスタムルートエントリのネクストホップ (NextHopId) は、ルートテーブルと同じ VPC に属している必要があります。
- NextHopList を指定することで、等価コストマルチパス (ECMP) ルーティングを設定できます。
- 非 ECMP ルートエントリを追加する場合は、DestinationCidrBlock、NextHopType、および NextHopId を指定する必要があり、NextHopList を指定することはできません。
- ECMP ルーティングのルートエントリを追加する場合は、DestinationCidrBlock と NextHopList を指定する必要があり、NextHopType または NextHopId を指定することはできません。
- 1 つのルートテーブルには、最大 200 個のカスタムルートエントリを含めることができます。
- NextHopList はサポートされていません。
- カスタムルートエントリの宛先 CIDR ブロック (DestinationCidrBlock) は、100.64.0.0/10 またはそのサブセットにすることはできません。
- 同じルートテーブル内のルートエントリの宛先 CIDR ブロック (DestinationCidrBlock) は一意である必要があります。
- 宛先 CIDR ブロック (DestinationCidrBlock) を指定するときにマスク長を含めない場合、宛先 CIDR ブロックはマスク長が 32 ビットのホスト IP アドレスと見なされます。
- 複数カスタムルートエントリを同じネクストホップ (NextHopId) にポイントできます。
- カスタムルートエントリのネクストホップ (NextHopId) は、VBR に関連付けられたルーターインターフェースである必要があります。
- VBR が アクティブ 状態であり、VBR に関連付けられた Express Connect 回線が 有効 状態であり、支払い遅延のためにロックされていない場合にのみ、ルートエントリを追加できます。
- 非 ECMP ルートエントリのみがサポートされています。非 ECMP ルートエントリを追加する場合は、DestinationCidrBlock、NextHopType、および NextHopId を指定する必要があり、NextHopList を指定することはできません。
デバッグ
リクエストパラメーター
| パラメーター | タイプ | 必須 | 例 | 説明 |
| Action | String | Yes | CreateRouteEntry | 実行する操作。値を CreateRouteEntry に設定します。 |
| RegionId | String | No | cn-hangzhou | ルートテーブルのリージョン ID。 DescribeRegions 操作を呼び出して、最新のリージョンリストをクエリできます。 |
| RouteTableId | String | Yes | vtb-bp145q7glnuzd**** | カスタムルートエントリを追加するルートテーブルの ID。 |
| DestinationCidrBlock | String | Yes | 192.168.0.0/24 | カスタムルートエントリの宛先 CIDR ブロック。IPv4 と IPv6 の両方の CIDR ブロックがサポートされています。宛先 CIDR ブロックが次の要件を満たしていることを確認してください。
|
| NextHopId | String | No | i-j6c2fp57q8rr4jlu**** | カスタムルートエントリのネクストホップの ID。 |
| ClientToken | String | No | 02fb3da4-130e-11e9-8e44-001**** | リクエストのべき等性を確保するために使用されるクライアントトークン。 クライアントを使用してトークンを生成できますが、トークンが異なるリクエスト間で一意であることを確認する必要があります。トークンには ASCII 文字のみを含めることができます。 説明 このパラメーターを指定しない場合、システムは リクエスト ID を クライアントトークン として自動的に使用します。リクエスト ID はリクエストごとに異なる場合があります。 |
| RouteEntryName | String | No | test | 追加するカスタムルートエントリの名前。 名前は 1 ~ 128 文字で、 |
| Description | String | No | test | カスタムルートエントリの説明。 説明は 1 ~ 256 文字で、 |
| NextHopType | String | No | RouterInterface | カスタムルートエントリのネクストホップのタイプ。有効な値:
|
| NextHopList.N.NextHopId | String | No | ri-2zeo3xzyf3cd8r4**** | ECMP ルートのネクストホップの ID。 |
| NextHopList.N.Weight | Integer | No | 10 | ECMP ルートエントリのネクストホップの重み。 |
| NextHopList.N.NextHopType | String | No | RouterInterface | ECMP ルートエントリのネクストホップのタイプ。値を RouterInterface に設定します。 |
レスポンスパラメーター
| パラメーター | タイプ | 例 | 説明 |
| RouteEntryId | String | rte-sn6vjkioxte1gz83z**** | カスタムルートエントリの ID。 |
| RequestId | String | 0ED8D006-F706-4D23-88ED-E11ED28DCAC0 | リクエスト ID。 |
説明
サンプルリクエスト
http(s)://[Endpoint]/?Action=CreateRouteEntry
&RegionId=cn-hangzhou
&RouteTableId=vtb-bp145q7glnuzd****
&DestinationCidrBlock=192.168.0.0/24
&NextHopId=i-j6c2fp57q8rr4jlu****
&ClientToken=02fb3da4-130e-11e9-8e44-001****
&RouteEntryName=test
&Description=test
&NextHopType=RouterInterface
&NextHopList=[{"NextHopId":"ri-2zeo3xzyf3cd8r4****","Weight":10,"NextHopType":"RouterInterface"}]
&共通リクエストパラメーター
サンプルの成功レスポンス
XML 形式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateRouteEntryResponse>
<RouteEntryId>rte-sn6vjkioxte1gz83z****</RouteEntryId>
<RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>
</CreateRouteEntryResponse>
JSON 形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RouteEntryId" : "rte-sn6vjkioxte1gz83z****",
"RequestId" : "0ED8D006-F706-4D23-88ED-E11ED28DCAC0"
}
エラーコード
| HttpCode | エラーコード | エラーメッセージ | 説明 |
| 400 | IllegalParam.CidrBlock | 指定された CidrBlock は無効です。 | CidrBlock に無効な値が設定されています。 |
| 400 | QuotaExceeded | このルートテーブルのルートエントリのクォータを超えました。 | ルートテーブル内のルートエントリ数が上限に達しました。 |
| 400 | MissingParameter | 必須パラメーターがありません。 | 1 つ以上の必須パラメーターが設定されていません。この操作を呼び出す前に、すべての必須パラメーターを設定したかどうかを確認してください。 |
| 400 | InvalidCidrBlock.Malformed | 指定された CIDR ブロックは無効です。 | 指定された CIDR ブロックの形式が無効です。 |
| 400 | InvalidCIDRBlock.Duplicate | 指定された CIDR ブロックはすでに存在します。 | 指定された CIDR ブロックはルートテーブルにすでに存在します。 |
| 400 | IncorrectVpcStatus | 現在の VPC ステータスでは、この操作はサポートされていません。 | VPC が現在の状態の場合、この操作を実行できません。 |
| 400 | IncorrectInstanceStatus | 現在のインスタンスステータスでは、この操作はサポートされていません。 | インスタンスが現在の状態の間は、この操作を実行できません。 |
| 400 | IncorrectRouteEntryStatus | 一部のルートエントリのステータスにより、この操作がブロックされました。 | 現在のルートテーブル内の 1 つ以上のルートエントリが Pending または Modifying 状態です。 |
| 400 | IncorrectVSwitchStatus | 現在の仮想スイッチステータスでは、この操作はサポートされていません。 | vSwitch は Pending 状態であるため、削除できません。 |
| 400 | InvalidCidrBlock | 指定された CIDR ブロックは無効です。 | 次のいずれかの理由で返されるエラーメッセージ:1. 10.0.0.0/8 CIDR ブロックを使用する権限がありません。アカウントが CIDR ブロックを使用するためのホワイトリストに含まれているかどうかを確認してください。2. 追加されたカスタムルートエントリの宛先 CIDR ブロックは、VPC 内の vSwitch の CIDR ブロックのサブセットにすることはできません。3. CIDR ブロックは 100.64.0.0/10 にすることはできません。 |
| 400 | InvalidNextHopType | 指定されたパラメーター「NextHopType」は無効です。 | 指定されたネクストホップタイプが無効です。 |
| 400 | InvalidNextHop.NotFound | 指定されたネクストホップは存在しません。 | 指定されたネクストホップは存在しません。 |
| 400 | InvalidVRouter.NotFound | vRouter が存在しません。 | 指定された vRouter は存在しません。指定された vRouter が有効かどうかを確認してください。 |
| 400 | InvalidVPC.NotFound | VPC が存在しません。 | 指定された VPC は存在しません。指定された VPC が有効かどうかを確認してください。 |
| 400 | InvalidNexthopTypeAndList.BothNull | nexthopType と nextHopList の両方が null です。 | NextHopType と NextHopList が指定されていません。 |
| 400 | InvalidNexthopTypeAndList.BothNotNull | nexthopType と nextHopList の両方が null ではありません。 | NextHopType と NextHopList の両方を空にすることはできません。 |
| 400 | InvalidRouterInterface | 無効なルーターインターフェース。 | 指定されたルーターインターフェースは存在しません。 |
| 400 | InvalidOppositeRouterType | ネクストホップリストには、反対側のルーターインターフェースが VBR 上にあるルーターインターフェースのみを含めることはできません。 | 指定されたネクストホップは無効です。ネクストホップとして指定するルーターインターフェースのピアルーターは VBR である必要があります。 |
| 400 | InvalidNexthopListSize | ネクストホップサイズが無効です。2 ~ 4 の間である必要があります。 | ネクストホップとして 2 ~ 4 つのルーターインターフェースを指定する必要があります。 |
| 400 | InvalidEntryRuleQuota.NotFound | ルートエントリのクォータルールが存在しません。 | ルートエントリのクォータルールが存在しません。 |
| 400 | Forbidden.CheckEntryRuleQuota | ルートエントリのクォータルールのチェックエラー。 | ルートエントリのクォータをチェックしているときにエラーが発生しました。 |
| 400 | InvalidVBRStatus | 無効な仮想ボーダールータステータス。 | VBR が無効な状態です。 |
| 400 | InvalidPhysicalConnectionBusinessStatus | 無効な物理接続ビジネステータス。 | Express Connect 回線が無効な状態です。 |
| 400 | IncorrectHaVipStatus | 指定された HaVip のステータスが Available でも InUse でもないため、この操作は拒否されました。 | 指定された HAVIP が Available または InUse 状態の場合、操作を実行できません。 |
| 400 | CountLimitExceed.HaVipRouteEntry | 1 つのルートテーブルには、最大 5 つの HaVip へのルートエントリを含めることができます。 | HAVIP をポイントするルートエントリ数が上限に達しました。 |
| 400 | InvalidRouteEntry.Duplicate | ルートエントリはすでに存在します。 | 指定されたルートエントリはすでに存在します。 |
| 400 | IncorrectRouteEntryStatus | 指定された routeEntry ステータスエラー。 | 現在のルートテーブル内の 1 つ以上のルートエントリが Pending または Modifying 状態です。 |
| 400 | IncorrectRouteEntryStatus | VBR に NotStable ルートエントリがあります。 | 現在の VBR 内の 1 つ以上のルートエントリが Pending または Modifying 状態です。 |
| 400 | InvalidParam | Ecmp routerEntry とルーターインターフェースのローカル vgw vip が一致しません。 | ルートエントリがルーターインターフェースのゲートウェイ IP アドレスと一致しません。 |
| 400 | INVALID_WEIGHT_PARAM | 指定された重みの値が無効です。 | 指定された重みが無効です。 |
| 400 | FORBIDDEN_USE_VPC_AS_INTERNET_GATEWAY | 指定された CIDR は VPC CIDR 内にある必要があります。 | 指定された CIDR ブロックは、VPC CIDR ブロックのサブセットである必要があります。 |
| 400 | INVALID_VPC_ID | 指定された VpcId が一致しません。 | 指定された VPC は存在しません。指定された VPC ID が有効かどうかを確認してください。 |
| 400 | InvalidRouteEntrySize | 指定された routerEntry サイズが不正です。 | ECMP ルーティングを設定する場合は、ネクストホップとして 2 ~ 4 つのルーターインターフェースを指定する必要があります。 |
| 400 | TaskConflict | 操作が頻繁すぎます。しばらく待ってから再試行してください。 | リクエストが頻繁すぎます。後でもう一度試してください。 |
| 400 | InvalidRouteEntry | 指定された routeEntry は存在しません。 | 指定されたルートエントリは存在しません。 |
| 400 | RouteConflict.AlreadyExist | ルーティングテーブルにルートの競合が存在します。 | ルートテーブルにルートの競合が存在します。 |
| 400 | InvalidRouteEntryName.Malformed | 指定された RouteEntry 名は無効です。 | ルートエントリの名前が無効です。 |
| 400 | InvalidNexthop.DirectEni | ダイレクト ENI をネクストホップにすることはできません。 | EIP 可視モードの ENI をネクストホップとして指定することはできません。 |
| 400 | QuotaExceeded.VpnRouteEntry | VPN ルートエントリのクォータを超えました。 | ルートエントリを作成できませんでした。VPN ゲートウェイルートテーブル内のルートエントリ数が上限に達しているかどうかを確認してください。 |
| 400 | InvalidAttachment.NotFound | 添付ファイルが見つかりません。 | 指定された転送ルータは存在しません。 |
| 400 | OperationFailed.ActiveNetworkInterfaceNotFound | 添付ファイルにアクティブなネットワークインターフェースが見つかりません。 | 指定された転送ルータで ENI が使用できません。 |
| 400 | InvalidNetworkInterface.NotFound | 添付ファイルにネットワークインターフェースが見つかりません。 | 指定された転送ルータに ENI が関連付けられていません。 |
| 400 | OperationFailed.QueryAttachmentInfo | 添付ファイル情報のクエリに失敗しました。 | 転送ルータのクエリに失敗しました。 |
| 400 | IllegalParam.AttachmentId | 添付ファイルが無効です。 | 指定された転送ルータが無効です。 |
| 400 | OperationFailed.NotSupportIPV6 | 指定されたネクストホップは IPv6 をサポートしていません。 | 指定されたネクストホップは IPv6 をサポートしていません。 |
| 400 | IncorrectStatus.Ipv6Address | 指定されたネクストホップの IPv6 アドレスは割り当て中または削除中です。 | ネクストホップに IPv6 アドレスが割り当てられているか、ネクストホップから削除されています。 |
| 400 | OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface | プライマリネットワークインターフェースに IPv6 ルートエントリを作成することはできません。 | ネクストホップがプライマリ ENI である IPv6 ルートエントリを作成することはできません。 |
| 400 | OperationUnsupported.SpecifyIpOnIpv6Entry | IPv6 ルートエントリを作成するときにプライベート IP アドレスを指定することはできません。 | プライベート IPv6 アドレスを宛先 CIDR ブロックとして指定することはできません。 |
| 400 | OperationUnsupported.MutipleIpv6Address | 複数の IPv6 アドレスがバインドされているネクストホップを指定することはできません。 | 複数の IPv6 アドレスが割り当てられているネクストホップを指定することはできません。 |
| 400 | OperationDenied.Ipv6EntryOnCustomTable | カスタムルートテーブルに IPv6 ルートエントリを作成することはできません。 | カスタムルートテーブルに IPv6 ルートエントリを追加することはできません。 |
| 400 | OperationDenied.CloudBoxVbrEntryAllowedInCustomRouteTable | カスタムルーティングテーブルのみが、ネクストホップが CloudBox タイプの VBR を指すルーティングエントリを追加できるため、操作は許可されていません。 | ルートエントリのネクストホップが CloudBox に接続された VBR を指している場合にのみ、カスタムルートテーブルにルートエントリを追加できます。 |
| 400 | OperationDenied.RouteTableAssociateNotCloudBoxVSwitch | ルーティングテーブルが CloudBox タイプではない vSwitch にバインドされているため、操作は許可されていません。CloudBox VBR を指すルーティングエントリを追加することはできません。 | ルートテーブルが関連付けられている vSwitch は CloudBox インスタンスに接続されていません。したがって、CloudBox インスタンスに接続された VBR を指すルートエントリを追加することはできません。 |
| 400 | OperationDenied.VbrMisMatchCloudBox | ルーティングテーブルが CloudBox vSwitch にバインドされているため、操作は許可されていません。他の CloudBox VBR を指すルーティングエントリを追加することはできません。 | VBR とルートテーブルに関連付けられている vSwitch は、異なる CloudBox インスタンスに接続されています。 |
| 400 | OperationDenied.VbrIdle | 追加されたルーティングエントリのネクストホップが反対側の VBR タイプの RI であるため、操作は許可されていません。アイドル状態にすることはできません。 | ネクストホップとして指定するルーターインターフェースはアイドル状態です。ネクストホップルーターインターフェースのピアルーターが VBR の場合、ネクストホップルーターインターフェースはアイドル状態であってはなりません。 |
| 400 | OperationDenied.RouterInterfaceToDifferentVpc | ルーターインターフェースが異なる VPC に接続されているため、操作は許可されていません。 | ECMP ルーティングを設定するときにネクストホップとして指定するルーターインターフェースは、同じ VPC に属していません。 |
| 400 | OperationDenied.RouterInterfaceFromDifferentZones | ルーターインターフェースが異なるゾーンにあるため、操作は許可されていません。 | ルーターインターフェースは異なるゾーンに属しています。 |
| 400 | OperationFailed.PconnTrafficNotEnable | PconnTrafficNotEnable のため、操作に失敗しました。 | 送信データ転送課金が無効になっています。 |
| 400 | ResourceNotFound.VpcPeer | 指定された %s のリソースが見つかりません。 | ピア VPC が見つかりません。 |
| 400 | OperationDenied.RouteTableTypeNotPermitted | ルートテーブルのタイプが許可されていないため、操作は許可されていません。 | 指定されたタイプのルートテーブルにルートエントリを追加することはできません。 |
| 400 | OperationDenied.GatewayRouteTableNotPermitted | ゲートウェイルートテーブルでこの nextHop タイプを指すルートを作成することは許可されていません。 | ゲートウェイルートテーブルは、指定されたインスタンスタイプを指すルートエントリをサポートしていません。 |
| 400 | UnsupportedFeature.VpcPeerIpv6 | このリージョンでは、VPC ピアリング接続の IPv6 ルートエントリを作成できません。 | ルーターインターフェースのピアは VPC であり、このリージョンではネクストホップタイプが IPv6 アドレスであるルートを作成できません。 |
| 400 | OperationDenied.VpcIpv6NotEnabled | VPC で IPv6 が有効になっていません。 | VPC は IPv6 をサポートしておらず、操作は拒否されます。 |
| 400 | IncorrectStatus.Ipv4Gateway | Ipv4Gateway のステータスが正しくありません。 | IPv4 ゲートウェイが不安定です。 |
| 400 | ResourceNotFound.PrefixList | prefixList の指定されたリソースが見つかりません。 | プレフィックスリストが存在しません。 |
| 400 | UnsupportedFeature.CreatePrefixListEcmpRouteEntry | prefixList を使用した ecmp ルートエントリの作成機能はサポートされていません。 | プレフィックスリストを使用して ECMP ルートを作成することはできません。 |
| 400 | OperationDenied.RouterInterfaceIpv6NotEnabled | Routerinterface は IPv6 をサポートしていません。 | ルーターインターフェースが IPv6 をサポートしていないため、操作に失敗しました。 |
| 400 | OperationDenied.NextHopTypeNotPermitted | nextHop タイプが無効なため、操作は許可されていません。 | このタイプのネクストホップを持つルートを作成することは許可されていません。 |
| 403 | IncorrectInstanceStatus | リソースの現在のステータスでは、この操作はサポートされていません。 | 指定されたリソースは、操作をサポートしていない状態です。 |
| 404 | InvalidInstanId.NotFound | 指定されたインスタンスは存在しません。 | 指定されたインスタンスは存在しません。インスタンス ID が有効かどうかを確認してください。 |
| 404 | InvalidNextHopId.NotFound | 指定されたネクストホップは存在しません。 | 指定されたネクストホップは存在しません。 |
| 404 | InvalidRouteTableId.NotFound | 指定されたルートテーブルは存在しません。 | 指定されたルートテーブルは存在しません。 |
| 404 | InvalidHaVipId.NotFound | 指定された HaVip は、指定された VPC に存在しません。 | 指定された HAVIP は VPC に存在しません。 |
| 500 | InternalError | 不明なエラー、例外、または障害により、リクエストの処理に失敗しました。 | 内部エラーが発生しました。 |
エラーコードの一覧については、「サービスエラーコード」をご参照ください。