Invoca StartTerminalSession para crear una sesión basada en la función de administración de sesiones. Puede establecer una sesión de WebSocket con una instancia de ECS al especificar el ID de la instancia. La WebSocketUrl que devuelve esta operación permite establecer una conexión remota con la instancia de ECS.
Descripción de la operación
Descripción de la operación
Al personalizar un cliente de conexión remota mediante código, puede invocar esta operación para obtener la WebSocketUrl para establecer una conexión remota con una instancia de ECS. Tenga en cuenta los siguientes puntos:
La instancia de ECS especificada debe estar en estado Running.
- La instancia de ECS especificada debe tener instalado el agente de Cloud Assistant. Puede invocar DescribeCloudAssistantStatus para comprobar si el agente de Cloud Assistant está instalado en la instancia de ECS y consultar el número de versión del agente de Cloud Assistant.
Si el agente de Cloud Assistant no está instalado en la instancia de ECS, invoque InstallCloudAssistant para instalarlo.
- El agente de Cloud Assistant debe tener una versión posterior a las siguientes para admitir la función de administración de sesiones. Para actualizar el agente de Cloud Assistant, consulte Actualizar o deshabilitar las actualizaciones del agente de Cloud Assistant.
Sistema operativo Linux: 2.2.3.256
Sistema operativo Windows: 2.1.3.256
Después de invocar esta operación, la WebSocketUrl es válida durante 10 minutos.
Una vez establecida una sesión, Cloud Assistant cierra la conexión si no se transmiten datos durante 3 minutos.
En una sola región, se pueden crear y mantener activas un máximo de 100 sesiones. Un máximo de 20 sesiones pueden estar en estado conectado para una sola instancia de ECS. El límite de ancho de banda para una sola conexión de sesión es de 200 KB/s.
La función de reenvío de puertos solo admite el reenvío de puertos TCP. No se admite UDP.
Para cerrar permanentemente una sesión e invalidar la WebSocketUrl, invoque la operación EndTerminalSession.
Pruébelo ahora
Test
Autorización de RAM
|
Action |
Nivel de acceso |
Tipo de recurso |
Clave de condición |
Acción dependiente |
|
ecs:StartTerminalSession |
update |
*Instance.
|
|
Ninguna |
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| RegionId |
string |
Sí |
El ID de la región de la instancia. Puede llamar a DescribeRegions para consultar la lista de regiones más reciente. |
cn-hangzhou |
| InstanceId |
array |
Sí |
La lista de ID de instancias. |
|
|
string |
No |
El ID de la instancia de ECS especificada. N indica que puede especificar varias instancias de ECS a la vez. Se puede especificar un máximo de 1 instancia de ECS. Valores válidos de N: 1. |
i-bp1eifrtpxa9tb**** |
|
| PortNumber |
integer |
No |
El número de puerto de la instancia de ECS para el reenvío de datos. Una vez configurado este parámetro, el agente de Cloud Assistant reenvía los datos al puerto especificado para el reenvío de puertos. Por ejemplo, SSH utiliza el puerto 22. Valor predeterminado: vacío, lo que indica que no se establece ningún número de puerto para el reenvío de datos. |
22 |
| CommandLine |
string |
No |
El comando que se ejecutará después de iniciar la sesión. El comando puede tener una longitud de hasta 512 caracteres. Nota
Después de especificar CommandLine, no puede especificar PortNumber ni TargetServer. |
ssh root@192.168.0.246 |
| TargetServer |
string |
No |
La dirección del servidor de destino en la VPC a la que desea acceder a través de la instancia. Nota
Cuando este parámetro no está vacío, PortNumber especifica el número de puerto del servidor de destino en la VPC a la que desea acceder a través de la instancia administrada. |
192.168.0.246 |
| Username |
string |
No |
El nombre de usuario utilizado para la conexión. |
testUser |
| ConnectionType |
string |
No |
El tipo de red de la URL de WebSocket necesaria para establecer una conexión remota con la instancia. Valores válidos:
|
Intranet |
| PasswordName |
string |
No |
El nombre de la contraseña del usuario al utilizar Session Manager en una instancia de Windows. El nombre puede tener una longitud de hasta 255 caracteres. Cuando desee utilizar Session Manager en una instancia de Windows como un usuario no predeterminado (System), especifique tanto Username como este parámetro. Para reducir el riesgo de filtraciones de contraseñas, almacene la contraseña en texto plano en el repositorio de parámetros de administración de operaciones y especifique aquí solo el nombre de la contraseña. Para obtener más información, consulte Parámetros de cifrado. |
axtSecretPassword |
| ClientToken |
string |
No |
El token de cliente que se utiliza para garantizar la idempotencia de la solicitud. Puede utilizar el cliente para generar el token, pero asegúrese de que el token sea único entre las diferentes solicitudes. El valor de ClientToken solo puede contener caracteres ASCII y no puede superar los 64 caracteres de longitud. Para obtener más información, consulte Cómo garantizar la idempotencia. |
123e4567-e89b-12d3-a456-426655440000 |
| EncryptionOptions |
object |
No |
La configuración de cifrado de la sesión. |
|
| Enabled |
boolean |
No |
Especifica si se debe habilitar el cifrado de extremo a extremo para la conexión de la sesión. |
true |
| KMSKeyId |
string |
No |
El ID de la clave de KMS. Precauciones:
|
xxx |
| Mode |
string |
No |
El modo de cifrado de clave secreta. Valores válidos:
Precauciones:
|
Auto |
Elementos de la respuesta
|
Elemento |
Tipo |
Descripción |
Ejemplo |
|
object |
|||
| RequestId |
string |
El ID de la solicitud. |
EB5173B0-8E80-564E-AAD1-3135412***** |
| SecurityToken |
string |
El token de seguridad que se añade al encabezado de la solicitud de WebSocket para la verificación de la solicitud por parte del sistema. |
d86c2df2-d19c-4bd8-b817-a19ef123**** |
| SessionId |
string |
El ID de la sesión. |
s-hz023od0x9**** |
| WebSocketUrl |
string |
La URL de la sesión de WebSocket para establecer una conexión remota con la instancia de ECS. La URL contiene el ID de la sesión (SessionId) y el SecurityToken utilizado para la verificación del sistema. |
wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123**** |
Ejemplos
Respuesta exitosa
JSON Formato
{
"RequestId": "EB5173B0-8E80-564E-AAD1-3135412*****",
"SecurityToken": "d86c2df2-d19c-4bd8-b817-a19ef123****",
"SessionId": "s-hz023od0x9****",
"WebSocketUrl": "wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****"
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|---|---|---|---|
| 400 | RegionId.ApiNotSupported | The api is not supported in this region. | La operación de API no es compatible en la región especificada. Compruebe si el valor del parámetro RegionId es correcto. |
| 400 | PortNumber.Invalid | The port number is invalid. | |
| 400 | InvalidParameter.ConnectionType | The specified parameter ConnectionType is not valid. | El parámetro ConnectionType especificado no es válido. |
| 400 | InvalidClientToken.Malformed | The specified parameter clientToken is not valid. | El parámetro idempotente especificado no es válido. |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | Ocurrió un error al enviar la solicitud. Inténtelo de nuevo más tarde. |
| 403 | InvalidParameterCharacter | The specified parameter %s contains illegal characters. | |
| 403 | InstanceIds.ExceedLimit | The number of instance IDs exceeds the upper limit. | El número de instancias de destino excede el límite superior. |
| 403 | SessionCount.ExceedLimit | The number of sessions exceeds the upper limit. | El número de sesiones en estado conectado excede el límite superior. |
| 403 | Operation.Forbidden | The operation is not permitted. | La operación no está permitida. |
| 403 | PortForwarding.NotSupported | Port forwarding is not supported currently. | La función de reenvío de puertos no es compatible. |
| 403 | UserBehavior.SessionManagerDisabled | The api is disabled by user behavior. | La función de conexión remota de gestión de sesiones para el usuario está deshabilitada. Asegúrese de que la gestión de sesiones esté habilitada (en todas las regiones) para la administración remota. |
| 403 | InvalidCommandLine.Conflict | The parameter PortNumber or TargetServer cannot be specified with parameter CommandLine. | El parámetro CommandLine no se puede especificar junto con el parámetro PortNumber o TargetServer. |
| 403 | InvalidTargetServer.MissingPortNumber | The parameter PortNumber must be specified with parameter TargetServer. | El parámetro PortNumber debe especificarse cuando se utiliza el parámetro TargetServer. |
| 403 | InvalidCommandLine.LengthLimitExceeded | The length of the parameter CommandLine exceeded the limit of 512 characters. | La longitud del contenido del parámetro CommandLine supera el límite de 512 caracteres. |
| 403 | InvalidInstanceIds.CountLimitExceeded | The count of Instances exceeded the maximum limit of 1 when TargetServer or CommandLine parameter was specified. | Cuando se utiliza el parámetro TargetServer o CommandLine, el número de instancias supera el límite máximo. Solo se permite una instancia. |
| 403 | Username.ExceedLimit | The length of the username exceeds the upper limit. | La longitud del nombre de usuario excede el límite superior. |
| 403 | InvalidOperation.SecurityGroupRuleDenied | The operation is not allowed by the security group inbound rules of the specified instance. | Las reglas de entrada del security group asociado con la instancia especificada no permiten esta operación. |
| 403 | InvalidTargetServer.LengthLimitExceeded | The length of the parameter TargetServer exceeded the limit of 128 characters. | La longitud del parámetro TargetServer supera el límite de 128 caracteres. |
| 403 | InvalidOperation.ConnectionTypeUnsupported | The operation is not supported for the parameter ConnectionType. | El parámetro ConnectionType especificado no admite esta operación. |
| 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. | No se puede especificar el parámetro EncryptionOptions.Mode cuando el cifrado de sesión no está habilitado. |
| 403 | InvalidParameter.EncryptionOptionsKMSKeyId | The specified parameter EncryptionOptions.KMSKeyId is not valid. | El parámetro EncryptionOptions.KMSKeyId especificado no es válido. |
| 403 | InvalidParameter.EncryptionOptionsMode | The specified parameter EncryptionOptions.Mode is not valid. | El parámetro EncryptionOptions.Mode especificado no es válido. |
| 403 | MissingParameter.EncryptionOptionsKMSKeyId | The input parameter EncryptionOptions.KMSKeyId that is mandatory for processing this request is not supplied. | El parámetro EncryptionOptions.KMSKeyId no puede estar vacío. |
| 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. | No se pueden especificar los parámetros PortNumber o TargetServer cuando el cifrado de sesión está habilitado. |
| 403 | IdempotentParameterMismatch | The specified parameter has changed while using an already used clientToken. | Los parámetros de la solicitud no coinciden con la solicitud que tiene el mismo ClientToken. |
| 403 | IdempotentProcessing | The previous idempotent request(s) is still processing. | La solicitud idempotente anterior aún se está procesando. Inténtelo de nuevo más tarde. |
| 404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | El RegionId especificado no existe. Verifique si el producto está disponible en esta región. |
| 404 | InvalidInstance.NotFound | The specified instances not found. | La instancia especificada no existe. |
Consulte Códigos de error para ver la lista completa.
Notas de la versión
Consulte Notas de la versión para ver la lista completa.