Invoca StartTerminalSession para criar uma sessão com base no recurso de gerenciamento de sessões. Você pode estabelecer uma sessão WebSocket com uma instância ECS especificando o ID da instância. O WebSocketUrl retornado por esta operação permite estabelecer uma conexão remota com a instância ECS.
Descrição da operação
Descrição da operação
Ao personalizar um cliente de conexão remota usando código, você pode invocar esta operação para obter o WebSocketUrl para estabelecer uma conexão remota com uma instância ECS. Observe os seguintes itens:
A instância ECS especificada deve estar no estado Running.
- A instância ECS especificada deve ter o Cloud Assistant Agent instalado. Você pode invocar DescribeCloudAssistantStatus para verificar se o Cloud Assistant Agent está instalado na instância ECS e consultar o número da versão do Cloud Assistant Agent.
Se o Cloud Assistant Agent não estiver instalado na instância ECS, invoque InstallCloudAssistant para instalá-lo.
- O Cloud Assistant Agent deve ser posterior às seguintes versões para oferecer suporte ao recurso de gerenciamento de sessões. Para atualizar o Cloud Assistant Agent, consulte Atualizar ou desativar atualizações do Cloud Assistant Agent.
Sistema operacional Linux: 2.2.3.256
Sistema operacional Windows: 2.1.3.256
Após a invocação desta operação, o WebSocketUrl é válido por 10 minutos.
Após o estabelecimento de uma sessão, o Cloud Assistant encerra a conexão se nenhum dado for transmitido por 3 minutos.
Em uma única região, no máximo 100 sessões podem ser criadas e estar ativas. No máximo 20 sessões podem estar no estado conectado para uma única instância ECS. O limite de largura de banda para uma única conexão de sessão é de 200 KB/s.
O recurso de encaminhamento de porta suporta apenas encaminhamento de porta TCP. UDP não é suportado.
Para fechar permanentemente uma sessão e invalidar o WebSocketUrl, invoque a operação EndTerminalSession.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ecs:StartTerminalSession |
update |
*Instância.
|
|
Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| RegionId |
string |
Sim |
O ID da região da instância. Você pode chamar DescribeRegions para consultar a lista de regiões mais recente. |
cn-hangzhou |
| InstanceId |
array |
Sim |
A lista de IDs de instâncias. |
|
|
string |
Não |
O ID da instância ECS especificada. N indica que você pode especificar várias instâncias ECS por vez. No máximo 1 instância ECS pode ser especificada. Valores válidos de N: 1. |
i-bp1eifrtpxa9tb**** |
|
| PortNumber |
integer |
Não |
O número da porta da instância ECS para encaminhamento de dados. Após a definição deste parâmetro, o Cloud Assistant Agent encaminha os dados para a porta especificada para o encaminhamento de porta. Por exemplo, o SSH usa a porta 22. Valor padrão: vazio, o que indica que nenhum número de porta está definido para o encaminhamento de dados. |
22 |
| CommandLine |
string |
Não |
O comando a ser executado após o início da sessão. O comando pode ter até 512 caracteres. Nota
Após especificar CommandLine, você não pode especificar PortNumber ou TargetServer. |
ssh root@192.168.0.246 |
| TargetServer |
string |
Não |
O endereço do servidor de destino na VPC que você deseja acessar por meio da instância. Nota
Quando este parâmetro não estiver vazio, PortNumber especifica o número da porta do servidor de destino na VPC que você deseja acessar por meio da instância gerenciada. |
192.168.0.246 |
| Username |
string |
Não |
O nome de usuário usado para a conexão. |
testUser |
| ConnectionType |
string |
Não |
O tipo de rede da URL do WebSocket necessária para estabelecer uma conexão remota com a instância. Valores válidos:
|
Intranet |
| PasswordName |
string |
Não |
O nome da senha do usuário ao usar o Session Manager em uma instância Windows. O nome pode ter até 255 caracteres. Quando você deseja usar o Session Manager em uma instância Windows como um usuário não padrão (System), especifique tanto Username quanto este parâmetro. Para reduzir o risco de vazamento de senhas, armazene a senha em texto simples no repositório de parâmetros do gerenciamento de operações e especifique apenas o nome da senha aqui. Para mais informações, consulte Parâmetros de criptografia. |
axtSecretPassword |
| ClientToken |
string |
Não |
O token de cliente usado para garantir a idempotência da solicitação. Você pode usar o cliente para gerar o token, mas certifique-se de que o token seja exclusivo entre diferentes solicitações. O valor de ClientToken pode conter apenas caracteres ASCII e não pode exceder 64 caracteres. Para mais informações, consulte Como garantir a idempotência. |
123e4567-e89b-12d3-a456-426655440000 |
| EncryptionOptions |
object |
Não |
A configuração de criptografia da sessão. |
|
| Enabled |
boolean |
Não |
Especifica se a criptografia de ponta a ponta deve ser ativada para a conexão da sessão. |
true |
| KMSKeyId |
string |
Não |
O ID da chave do KMS. Precauções:
|
xxx |
| Mode |
string |
Não |
O modo de criptografia de chave secreta. Valores válidos:
Precauções:
|
Auto |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| RequestId |
string |
O ID da solicitação. |
EB5173B0-8E80-564E-AAD1-3135412***** |
| SecurityToken |
string |
O token de segurança que é anexado ao cabeçalho da solicitação WebSocket para a verificação da solicitação pelo sistema. |
d86c2df2-d19c-4bd8-b817-a19ef123**** |
| SessionId |
string |
O ID da sessão. |
s-hz023od0x9**** |
| WebSocketUrl |
string |
A URL da sessão WebSocket para estabelecer uma conexão remota com a instância ECS. A URL contém o ID da sessão (SessionId) e o SecurityToken usado para a verificação do sistema. |
wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123**** |
Exemplos
Resposta de sucesso
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 erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | RegionId.ApiNotSupported | The api is not supported in this region. | A operação de API não é suportada na região especificada. Verifique se o valor do parâmetro RegionId está correto. |
| 400 | PortNumber.Invalid | The port number is invalid. | |
| 400 | InvalidParameter.ConnectionType | The specified parameter ConnectionType is not valid. | O parâmetro ConnectionType especificado é inválido. |
| 400 | InvalidClientToken.Malformed | The specified parameter clientToken is not valid. | O parâmetro idempotente especificado é inválido. |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | Ocorreu um erro ao enviar a solicitação. Tente novamente mais tarde. |
| 403 | InvalidParameterCharacter | The specified parameter %s contains illegal characters. | |
| 403 | InstanceIds.ExceedLimit | The number of instance IDs exceeds the upper limit. | O número de instâncias de destino excede o limite superior. |
| 403 | SessionCount.ExceedLimit | The number of sessions exceeds the upper limit. | O número de sessões conectadas excede o limite superior. |
| 403 | Operation.Forbidden | The operation is not permitted. | A operação não é permitida. |
| 403 | PortForwarding.NotSupported | Port forwarding is not supported currently. | O recurso de encaminhamento de porta não é suportado. |
| 403 | UserBehavior.SessionManagerDisabled | The api is disabled by user behavior. | O recurso de conexão remota de gerenciamento de sessão para o usuário está desativado. Certifique-se de que o gerenciamento de sessão esteja ativado (em todas as regiões) para o gerenciamento remoto. |
| 403 | InvalidCommandLine.Conflict | The parameter PortNumber or TargetServer cannot be specified with parameter CommandLine. | O parâmetro CommandLine não pode ser especificado junto com o parâmetro PortNumber ou TargetServer. |
| 403 | InvalidTargetServer.MissingPortNumber | The parameter PortNumber must be specified with parameter TargetServer. | O parâmetro PortNumber deve ser especificado quando o parâmetro TargetServer é usado. |
| 403 | InvalidCommandLine.LengthLimitExceeded | The length of the parameter CommandLine exceeded the limit of 512 characters. | O comprimento do conteúdo do parâmetro CommandLine excede o limite de 512 caracteres. |
| 403 | InvalidInstanceIds.CountLimitExceeded | The count of Instances exceeded the maximum limit of 1 when TargetServer or CommandLine parameter was specified. | Quando o parâmetro TargetServer ou CommandLine é usado, o número de instâncias excede o limite máximo. Apenas uma instância é permitida. |
| 403 | Username.ExceedLimit | The length of the username exceeds the upper limit. | O comprimento do nome de usuário excede o limite superior. |
| 403 | InvalidOperation.SecurityGroupRuleDenied | The operation is not allowed by the security group inbound rules of the specified instance. | As regras de entrada do grupo de segurança associado à instância especificada não permitem esta operação. |
| 403 | InvalidTargetServer.LengthLimitExceeded | The length of the parameter TargetServer exceeded the limit of 128 characters. | O comprimento do parâmetro TargetServer excede o limite de 128 caracteres. |
| 403 | InvalidOperation.ConnectionTypeUnsupported | The operation is not supported for the parameter ConnectionType. | O parâmetro ConnectionType especificado não suporta esta operação. |
| 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. | O parâmetro EncryptionOptions.Mode não pode ser especificado quando a criptografia de sessão não está ativada. |
| 403 | InvalidParameter.EncryptionOptionsKMSKeyId | The specified parameter EncryptionOptions.KMSKeyId is not valid. | O parâmetro EncryptionOptions.KMSKeyId especificado é inválido. |
| 403 | InvalidParameter.EncryptionOptionsMode | The specified parameter EncryptionOptions.Mode is not valid. | O parâmetro EncryptionOptions.Mode especificado é inválido. |
| 403 | MissingParameter.EncryptionOptionsKMSKeyId | The input parameter EncryptionOptions.KMSKeyId that is mandatory for processing this request is not supplied. | O parâmetro EncryptionOptions.KMSKeyId não pode estar vazio. |
| 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. | O parâmetro PortNumber ou TargetServer não pode ser especificado quando a criptografia de sessão está ativada. |
| 403 | IdempotentParameterMismatch | The specified parameter has changed while using an already used clientToken. | Os parâmetros da solicitação não correspondem à solicitação com o mesmo ClientToken. |
| 403 | IdempotentProcessing | The previous idempotent request(s) is still processing. | A solicitação idempotente anterior ainda está sendo processada. Tente novamente mais tarde. |
| 404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | O RegionId especificado não existe. Verifique se o produto está disponível nesta região. |
| 404 | InvalidInstance.NotFound | The specified instances not found. | A instância especificada não existe. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.