Ajoute une entrée DNAT à une table DNAT.
Description de l'opération
Chaque entrée DNAT se compose des paramètres suivants : ExternalIp, ExternalPort, IpProtocol, InternalIp et InternalPort. Après avoir ajouté une entrée DNAT, la passerelle NAT transfère les paquets via le protocole spécifié de ExternalIp:ExternalPort vers InternalIp:InternalPort et renvoie les réponses par la même route.
Lorsque vous appelez cette opération, prenez note des limites suivantes :
-
CreateForwardEntry est une opération asynchrone. Après l'envoi d'une requête, le système renvoie un identifiant de requête et exécute la tâche en arrière-plan. Vous pouvez appeler l'opération DescribeForwardTableEntries pour interroger l'état de la tâche.
Si l'entrée DNAT est dans l'état Pending, le système est en train d'ajouter l'entrée DNAT. Vous pouvez uniquement interroger l'entrée DNAT, mais vous ne pouvez pas effectuer d'autres opérations.
Si l'entrée DNAT est dans l'état Available, l'entrée DNAT est ajoutée.
-
Vous ne pouvez pas appeler de manière répétée l'opération CreateForwardEntry pour ajouter une entrée DNAT dans un laps de temps spécifique.
-
Toutes les combinaisons de ExternalIp, ExternalPort et IpProtocol utilisées dans les entrées DNAT doivent être uniques. Vous ne pouvez pas distribuer des requêtes à plusieurs instances Elastic Compute Service (ECS) si ces requêtes sont initiées à partir de la même adresse IP source, reçues sur le même port et utilisent le même protocole.
-
Les combinaisons de IpProtocol, InternalIp et InternalPort doivent être uniques.
-
Si une ou plusieurs entrées DNAT dans la table DNAT sont dans l'état Pending ou Modifying, vous ne pouvez pas ajouter d'entrées DNAT à la table DNAT.
-
Vous pouvez ajouter au maximum 100 entrées DNAT à une table DNAT.
-
Pour une adresse IP élastique (EIP) utilisée par une passerelle NAT Internet ou une adresse IP NAT utilisée par une passerelle NAT de réseau privé virtuel (VPC), prenez note de la limite suivante : si l'adresse IP a le mappage IP activé et est spécifiée dans une entrée DNAT, l'adresse IP ne peut pas être utilisée par une autre entrée DNAT ou SNAT.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
|
vpc:CreateForwardEntry |
create |
*ForwardTable
|
Aucune | Aucune |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| RegionId |
string |
Oui |
L'identifiant de la région de la passerelle NAT. Vous pouvez appeler l'opération DescribeRegions pour obtenir l'identifiant de la région. |
cn-hangzhou |
| ForwardTableId |
string |
Oui |
L'identifiant de la table DNAT. |
ftb-bp1mbjubq34hlcqpa**** |
| ExternalIp |
string |
Oui |
|
116.28.XX.XX |
| ExternalPort |
string |
Oui |
|
8080 |
| InternalIp |
string |
Oui |
|
192.168.XX.XX |
| InternalPort |
string |
Oui |
|
80 |
| IpProtocol |
string |
Oui |
Le protocole. Valeurs valides :
|
TCP |
| ForwardEntryName |
string |
Non |
Le nom de l'entrée DNAT. Le nom doit comporter de 2 à 128 caractères. Il doit commencer par une lettre, mais ne peut pas commencer par |
ForwardEntry-1 |
| ClientToken |
string |
Non |
Le jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer le jeton, mais vous devez vous assurer que le jeton est unique parmi les différentes requêtes. Le jeton ne peut contenir que des caractères ASCII. Remarque
Si vous ne spécifiez pas ce paramètre, le système utilise automatiquement l'identifiant de requête comme jeton client. L'identifiant de requête peut être différent pour chaque requête. |
0c593ea1-3bea-11e9-b96b-88e9fe6**** |
| PortBreak |
boolean |
Non |
Indique si le franchissement de port doit être activé. Valeurs :
Remarque
Lorsque les entrées DNAT et SNAT utilisent la même adresse IP publique, si vous devez configurer un numéro de port supérieur à 1024, vous devez définir PortBreak sur true. |
false |
| DryRun |
boolean |
Non |
Indique si un test à blanc de la requête doit être effectué. Valeurs :
|
false |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
|||
| ForwardEntryId |
string |
L'identifiant de l'entrée DNAT. |
fwd-119smw5tkasdf**** |
| RequestId |
string |
L'identifiant de la requête. |
A4AEE536-A97A-40EB-9EBE-53A6948A6928 |
Exemples
JSON format
{
"ForwardEntryId": "fwd-119smw5tkasdf****",
"RequestId": "A4AEE536-A97A-40EB-9EBE-53A6948A6928"
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | UnsupportedFeature.PrivateLinkEnabled | The feature of PrivateLinkEnabled is not supported. | |
| 400 | UnsupportedFeature.PortSegment | The feature of PortSegment is not supported. | |
| 400 | ExclusiveParam.%sAnd%s | The param of %s and %s are mutually exclusive. | You cannot specify %s and %s at the same time. |
| 400 | DuplicatedParam.InternalPort | The param of %s is duplicated. | Duplicate or occupied InternalPort parameter |
| 400 | DuplicatedParam.ExternalPort | The param of %s is duplicated. | The DNAT public network port has been used repeatedly. |
| 400 | OperationFailed.AnyPortConfig | Operation failed because any port correspondence any protocol | The operation failed. There is a conflict with another entry, any port or any protocol type. |
| 400 | OperationUnsupported.ForwardEntry | Duplicated destination ip port is unsupported. | You cannot specify duplicate destination IP addresses or destination ports. |
| 400 | InvalidIp.NotInNatgw | The specified Ip not belong to natgateway. | |
| 400 | QuotaExceeded.ForwardEntry | The quota of %s is exceeded, usage %s/%s. | |
| 400 | IncorrectStatus.NatIp | The status of %s [%s] is incorrect. | The status of NatIp is incorrect. |
| 400 | Forbidden.IpHasBeenUsedInSnat | The source ip can't be used. Because it has been used in snat. | |
| 400 | InvalidExternalIp.Malformed | The specified ExternalIp is not a valid IP address. | |
| 400 | InvalidInternalIp.Malformed | The specified InternalIp is not a valid IP address. | |
| 400 | InvalidExternalPort.Malformed | The specified ExternalPort is not a valid port. | |
| 400 | InvalidInternalPort.Malformed | The specified InternalPort is not a valid port. | |
| 400 | Forbidden.DestnationIpOutOfVpcCIDR | The specified Internal Ip is Out of VPC CIDR. | |
| 400 | Forbidden.DestinationIpOutOfVswitchCIDR | The specified Internal Ip is Out of VSwitch CIDR. | |
| 400 | InvalidProtocal.ValueNotSupported | The specified IpProtocol does not support. | |
| 400 | IncorretForwardEntryStatus | Some Forward entry status blocked this operation.. | |
| 400 | ForwardEntry.Duplicated | The specified ExternalIp, IpProtocol, ExternalPort,InternalIp, InternalPort is duplicated | |
| 400 | Forbidden.ExternalIp.UsedInSnatTable | The specified ExternalIp is already used in SnatTable | |
| 400 | Forbindden | The specified Instance already bind eip | |
| 400 | Forbidden.InternalIpOutOfVpcCIDR | The specified Internal Ip is Out of VPC CIDR. | |
| 400 | Invalid.natgwNotExist | The specified natgateway not exist. | |
| 400 | MissingParameter | Missing mandatory parameter | |
| 400 | AnyPort.PortMustBeZero | any port port must be zero. | |
| 400 | InvalidParameter.Name.Malformed | The specified Name is not valid. | |
| 400 | IncorrectStatus.ForwardEntry | The status of %s [%s] is incorrect. | The DNAT entry to be deleted is in an invalid state. |
| 400 | Duplicated.DestinationPort | The specified param DestinationPort is duplicated. | |
| 400 | OperationUnsupported.EipInBinding | Create snat entry with eip in associating status is unsupported. | You cannot use an associated EIP when you create an SNAT entry. |
| 400 | QuotaExceeded.ForwardEntrySessionManytoOne | The dnat session quota is exceed. | The number of DNAT sessions exceeds the upper limit. |
| 400 | TaskConflict | The operation is too frequent, please wait a moment and try again. | Your requests are too frequent. Try again later. |
| 400 | OperationFailed.DnatPortRangeLimit | The maximum number of port ranges that can be specified is exceeded. | The maximum number of port ranges that can be specified is exceeded. |
| 400 | IncorrectStatus.NATGW | NATGW status is invalid. | The NAT gateway is in an invalid state. |
| 400 | OperationFailed.ForwardEntryNotAllowSrcIpEqualDstIp | The source IP of forward entry is not allowed to equal destination IP. | The public IP address of the DNAT entry is not allowed to be equal to the private IP address. |
| 500 | System.Error | ERROR SYSTEM ERROR. | |
| 500 | InternalError | The request processing has failed due to some unknown error. | |
| 404 | ResourceNotFound.NatIp | The specified resource of %s is not found. | |
| 404 | InvalidRegionId.NotFound | The specified RegionId does not exist in our records. | |
| 404 | InvalidForwardTableId.NotFound | Specified forward table does not exist. | |
| 404 | InvalidExternalIp.NotFound | Specified External Ip address does not found on the VRouter |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.