Appelle StartTerminalSession pour créer une session basée sur la fonctionnalité de gestion des sessions. Vous pouvez établir une session WebSocket avec une instance ECS en spécifiant l'identifiant de l'instance. L'URL WebSocketUrl renvoyée par cette opération peut être utilisée pour établir une connexion à distance à l'instance ECS.
Description de l'opération
Description de l'opération
Lorsque vous personnalisez un client de connexion à distance à l'aide de code, vous pouvez appeler cette opération pour obtenir l'URL WebSocketUrl permettant d'établir une connexion à distance à une instance ECS. Prenez note des éléments suivants :
L'instance ECS spécifiée doit être à l'état Running.
- Cloud Assistant Agent doit être installé sur l'instance ECS spécifiée. Vous pouvez appeler DescribeCloudAssistantStatus pour vérifier si Cloud Assistant Agent est installé sur l'instance ECS et interroger le numéro de version de Cloud Assistant Agent.
Si Cloud Assistant Agent n'est pas installé sur l'instance ECS, appelez InstallCloudAssistant pour l'installer.
- Le numéro de version de Cloud Assistant Agent doit être postérieur aux versions suivantes pour prendre en charge la fonctionnalité de gestion des sessions. Pour mettre à niveau Cloud Assistant Agent, consultez Mettre à jour ou désactiver les mises à jour pour Cloud Assistant Agent.
Système d'exploitation Linux : 2.2.3.256
Système d'exploitation Windows : 2.1.3.256
Après l'appel de cette opération, l'URL WebSocketUrl est valide pendant 10 minutes.
Une fois qu'une session est établie, Cloud Assistant ferme la connexion si aucune donnée n'est transmise pendant 3 minutes.
Dans une même région, un maximum de 100 sessions peuvent être créées et actives. Un maximum de 20 sessions peuvent être à l'état connecté pour une seule instance ECS. La limite de bande passante pour une seule session est de 200 Ko/s.
La fonctionnalité de transfert de port prend uniquement en charge le transfert de port TCP. UDP n'est pas pris en charge.
Pour arrêter définitivement une session et invalider l'URL WebSocketUrl, appelez l'opération EndTerminalSession.
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
|
ecs:StartTerminalSession |
update |
*Instance
|
|
Aucune |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| RegionId |
string |
Oui |
L'identifiant de la région de l'instance. Vous pouvez appeler DescribeRegions pour interroger la liste des régions la plus récente. |
cn-hangzhou |
| RegionId |
string |
Oui |
L'identifiant de la région de l'instance. Vous pouvez appeler DescribeRegions pour interroger la liste des régions la plus récente. |
cn-hangzhou |
| InstanceId |
array |
Oui |
La liste des identifiants d'instances. |
|
|
string |
Non |
L'identifiant de l'instance ECS spécifiée. N indique que vous pouvez spécifier plusieurs instances ECS à la fois. Un maximum de 1 instance ECS peut être spécifié. Valeurs valides de N : 1. |
i-bp1eifrtpxa9tb**** |
|
| PortNumber |
integer |
Non |
Le numéro de port de l'instance ECS pour le transfert de données. Une fois ce paramètre spécifié, Cloud Assistant Agent transfère les données vers le port spécifié pour le transfert de port. Par exemple, SSH utilise le port 22. Valeur par défaut : vide, ce qui indique qu'aucun numéro de port n'est spécifié pour le transfert de données. |
22 |
| CommandLine |
string |
Non |
La commande à exécuter après le lancement de la session. La commande peut comporter jusqu'à 512 caractères. Remarque
Après avoir spécifié |
ssh root@192.168.0.246 |
| TargetServer |
string |
Non |
L'adresse du serveur de destination dans le VPC auquel vous souhaitez accéder via l'instance. Remarque
Si ce paramètre n'est pas vide, |
192.168.0.246 |
| Username |
string |
Non |
Le nom d'utilisateur utilisé pour la connexion. |
testUser |
| ConnectionType |
string |
Non |
Le type de réseau de l'URL WebSocket requis pour la connexion à distance à l'instance. Valeurs valides :
|
Intranet |
| PasswordName |
string |
Non |
Le nom du mot de passe de l'utilisateur lorsque vous utilisez Session Manager sur une instance Windows. Le nom peut comporter jusqu'à 255 caractères. Lorsque vous souhaitez utiliser Session Manager sur une instance Windows en tant qu'utilisateur non par défaut (System), spécifiez à la fois Username et ce paramètre. Pour réduire le risque de fuite de mot de passe, stockez le mot de passe en texte brut dans le référentiel de paramètres de la gestion des opérations et spécifiez uniquement le nom du mot de passe ici. Pour plus d'informations, consultez Paramètres de chiffrement. |
axtSecretPassword |
| 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 assurez-vous que le jeton est unique parmi les différentes requêtes. La valeur de ClientToken ne peut contenir que des caractères ASCII et ne peut pas dépasser 64 caractères. Pour plus d'informations, consultez Comment garantir l'idempotence. |
123e4567-e89b-12d3-a456-426655440000 |
| EncryptionOptions |
object |
Non |
La configuration de chiffrement de la session. |
|
| Enabled |
boolean |
Non |
Indique si le chiffrement de bout en bout doit être activé pour la connexion de la session. |
true |
| KMSKeyId |
string |
Non |
L'identifiant de la clé KMS. Remarque :
|
xxx |
| Mode |
string |
Non |
Le modèle de chiffrement de la clé secrète. Valeurs valides :
Remarque :
|
Auto |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
|||
| RequestId |
string |
L'identifiant de la requête. |
EB5173B0-8E80-564E-AAD1-3135412***** |
| SessionId |
string |
L'identifiant de la session. |
s-hz023od0x9**** |
| SecurityToken |
string |
Le jeton de sécurité qui est ajouté à l'en-tête de la requête WebSocket pour la vérification de la requête par le système. |
d86c2df2-d19c-4bd8-b817-a19ef123**** |
| WebSocketUrl |
string |
L'URL de la session WebSocket pour la connexion à distance à l'instance ECS. L'URL contient l'identifiant de la session ( |
wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123**** |
Exemples
JSON format
{
"RequestId": "EB5173B0-8E80-564E-AAD1-3135412*****",
"SessionId": "s-hz023od0x9****",
"SecurityToken": "d86c2df2-d19c-4bd8-b817-a19ef123****",
"WebSocketUrl": "wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****"
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | RegionId.ApiNotSupported | The api is not supported in this region. | The API operation cannot be called in the specified region. Check whether the specified RegionId parameter is valid. |
| 400 | PortNumber.Invalid | The port number is invalid. | |
| 400 | InvalidParameter.ConnectionType | The specified parameter ConnectionType is not valid. | The specified parameter ConnectionType is illegal. |
| 400 | InvalidClientToken.Malformed | The specified parameter clientToken is not valid. | The specified ClientToken parameter does not meet the format requirements. The parameter must contain only ASCII characters and cannot exceed 64 characters in length. |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | An error occurred while the request is being sent. Try again later. |
| 403 | InstanceIds.ExceedLimit | The number of instance IDs exceeds the upper limit. | The number of specified instance IDs exceeds the upper limit. |
| 403 | SessionCount.ExceedLimit | The number of sessions exceeds the upper limit. | The number of sessions in the connected state exceeds the upper limit. |
| 403 | Operation.Forbidden | The operation is not permitted. | The operation is not supported. |
| 403 | PortForwarding.NotSupported | Port forwarding is not supported currently. | Port forwarding is not supported. |
| 403 | UserBehavior.SessionManagerDisabled | The api is disabled by user behavior. | The remote connection feature through session management is disabled for the user. Make sure that session management is enabled (in all regions) for remote management. |
| 403 | InvalidCommandLine.Conflict | The parameter PortNumber or TargetServer cannot be specified with parameter CommandLine. | The CommandLine parameter cannot be specified together with the PortNumber or TargetServer parameter. |
| 403 | InvalidTargetServer.MissingPortNumber | The parameter PortNumber must be specified with parameter TargetServer. | The PortNumber parameter must be specified when the TargetServer parameter is used. |
| 403 | InvalidCommandLine.LengthLimitExceeded | The length of the parameter CommandLine exceeded the limit of 512 characters. | The length of the CommandLine parameter exceeds the limit of 512 characters. |
| 403 | InvalidInstanceIds.CountLimitExceeded | The count of Instances exceeded the maximum limit of 1 when TargetServer or CommandLine parameter was specified. | When the TargetServer or CommandLine parameter is used, the number of instances exceeds the maximum limit. The number of instances is limited to 1. |
| 403 | Username.ExceedLimit | The length of the username exceeds the upper limit. | The length of the username exceeds the upper limit. |
| 403 | InvalidOperation.SecurityGroupRuleDenied | The operation is not allowed by the security group inbound rules of the specified instance. | The inbound rules of the security group associated with the specified instance do not allow this operation. |
| 403 | InvalidTargetServer.LengthLimitExceeded | The length of the parameter TargetServer exceeded the limit of 128 characters. | The length of the TargetServer parameter exceeds the limit of 128 characters. |
| 403 | InvalidOperation.ConnectionTypeUnsupported | The operation is not supported for the parameter ConnectionType. | The specified ConnectionType parameter does not support this operation. |
| 403 | InvalidPasswordName.LengthLimitExceeded | The length of the parameter PasswordName exceeds the limit of 255 characters. | |
| 403 | InvalidEncryptionOptionsMode.EncryptionDisabled | EncryptionOptions.Mode cannot be specified when encryption is disabled. | The parameter EncryptionOptions.Mode cannot be specified when session encryption is not on. |
| 403 | InvalidParameter.EncryptionOptionsKMSKeyId | The specified parameter EncryptionOptions.KMSKeyId is not valid. | The specified parameter EncryptionOptions.KMSKeyId is illegal. |
| 403 | InvalidParameter.EncryptionOptionsMode | The specified parameter EncryptionOptions.Mode is not valid. | The specified parameter EncryptionOptions.Mode is illegal. |
| 403 | MissingParameter.EncryptionOptionsKMSKeyId | The input parameter EncryptionOptions.KMSKeyId that is mandatory for processing this request is not supplied. | Parameter EncryptionOptions.KMSKeyId cannot be empty. |
| 403 | UnsupportedAgentVersion.Encryption | The cloud assistant agent version on instance %s do not support encryption. | |
| 403 | InvalidEncryptionOptions.Conflict | The parameter PortNumber or TargetServer cannot be specified with parameter EncryptionOptions. | When session encryption is enabled, the parameter PortNumber or TargetServer cannot be specified. |
| 403 | IdempotentParameterMismatch | The specified parameter has changed while using an already used clientToken. | The specified client token has already been used. |
| 403 | IdempotentProcessing | The previous idempotent request(s) is still processing. | A previous idempotent request is being processed. Try again later. |
| 404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | Region information error |
| 404 | InvalidInstance.NotFound | The specified instances not found. | The specified instance ID does not exist. |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.