Session Manager kullanarak oturumlar oluşturur. Bu işlemi çağırırken, isteğe bir Elastic Compute Service (ECS) örneği ID'si ekleyerek söz konusu örneğe yönelik bir WebSocket oturumu oluşturabilirsiniz. İşlem tarafından döndürülen WebSocket oturum URL'si, örneğe bağlanmak için kullanılabilir.
Kullanım notları
İstemci olarak hizmet veren bir ECS örneğine özel kod kullanarak bağlanırken, örneğe bağlanmak için kullanılan WebSocket URL'sini almak üzere bu işlemi çağırabilirsiniz. Aşağıdaki hususlara dikkat edin:
ECS örneği Çalışıyor (Running) durumunda olmalıdır.
-
ECS örneğinde Cloud Assistant Agent yüklü olmalıdır. Cloud Assistant Agent'ın ECS örneğinde yüklü olup olmadığını kontrol etmek ve yüklü Cloud Assistant Agent sürümünün numarasını sorgulamak için DescribeCloudAssistantStatus işlemini çağırabilirsiniz.
ECS örneğinde Cloud Assistant Agent yüklü değilse, Cloud Assistant Agent'ı yüklemek için InstallCloudAssistant işlemini çağırın.
-
Örnekte yüklü olan Cloud Assistant Agent sürümü, Session Manager'ı desteklemek için aşağıdaki sürümlerden daha yeni olmalıdır. Cloud Assistant Agent'ı yükseltebilirsiniz. Cloud Assistant Agent'ın nasıl yükseltileceği hakkında bilgi için Cloud Assistant Agent için güncellemeleri güncelleyin veya devre dışı bırakın konusuna bakın.
Linux işletim sistemleri için: V2.2.3.256
Windows işletim sistemleri için: V2.1.3.256
StartTerminalSession işlemi tarafından döndürülen her bir WebSocket URL'si 10 dakika süreyle geçerlidir.
Bölge başına en fazla 1.000 oturum oluşturulabilir ve kullanıma açık kalabilir. Her bir ECS örneği, bağlı durumda en fazla 20 oturuma sahip olabilir.
Hata ayıklama
İstek parametreleri
| Parametre | Tür | Zorunlu | Örnek | Açıklama |
| Action | String | Evet | StartTerminalSession | Gerçekleştirmek istediğiniz işlem. Değeri StartTerminalSession olarak ayarlayın. |
| RegionId | String | Evet | cn-hangzhou | ECS örneğinin bölge ID'si. En güncel bölge listesini sorgulamak için DescribeRegions işlemini çağırabilirsiniz. |
| InstanceId.N | String | Evet | i-bp1eifrtpxa9tb**** | N. ECS örneğinin ID'si. Tek bir istekte en fazla 10 ECS örneğinin ID'sini belirtebilirsiniz. N için geçerli değerler: 1 ile 10 arası. |
| PortNumber | Integer | Hayır | 22 | Verileri iletmek için kullanılan ECS örneğinin bağlantı noktası numarası. Bu parametreyi belirtirseniz, Cloud Assistant Agent verileri belirtilen bağlantı noktasına iletir. Örnek: 22. Bu parametre varsayılan olarak boştur; bu durum, veri iletmek için herhangi bir bağlantı noktası numarasının yapılandırılmadığını gösterir. |
| CommandLine | String | Hayır | ssh root@192.168.0.246 | Oturum başlatıldıktan sonra çalıştırılacak komut. Komut en fazla 512 karakter uzunluğunda olabilir. Not CommandLine belirtirseniz, PortNumber veya TargetServer belirtmeniz gerekmez. |
| TargetServer | String | Hayır | 192.168.0.246 | Örneğin IP adresi. Not Bu parametreyi bir örneğin IP adresine ayarlarsanız, PortNumber parametresi örneğin bağlantı noktası numarasını belirtir. |
Yanıt parametreleri
|
Parametre |
Tür |
Örnek |
Açıklama |
|
RequestId |
String |
EB5173B0-8E80-564E-AAD1-3135412* |
İsteğin ID'si. |
|
SessionId |
String |
s-hz023od0x9**** |
Oturumun ID'si. |
|
SecurityToken |
String |
d86c2df2-d19c-4bd8-b817-a19ef123**** |
WebSocket istek üst bilgisine dahil edilen güvenlik belirteci. Sistem, isteği kimlik doğrulamak için bu belirteci kullanır. |
|
WebSocketUrl |
String |
wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9**&token=d86c2df2-d19c-4bd8-b817-a19ef123** |
Örnekle kurulan WebSocket oturumunun URL'si. URL, oturum ID'sini ( |
Örnekler
Örnek istekler
https://ecs.aliyuncs.com/?Action=StartTerminalSession
&RegionId=cn-hangzhou
&InstanceId.1=i-bp1eifrtpxa9tb****
&<Common request parameters>
Örnek başarılı yanıt
XML biçimi
HTTP/1.1 200 OK
Content-Type:application/xml
<StartTerminalSessionResponse>
<RequestId>EB5173B0-8E80-564E-AAD1-3135412*****</RequestId>
<SessionId>s-hz023od0x9****</SessionId>
<SecurityToken>d86c2df2-d19c-4bd8-b817-a19ef123****</SecurityToken>
<WebSocketUrl>wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****</WebSocketUrl>
</StartTerminalSessionResponse>
JSON biçimi
HTTP/1.1 200 OK
Content-Type:application/json
{
"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****"
}
Hata kodları
|
HTTP durum kodu |
Hata kodu |
Hata iletisi |
Açıklama |
|
400 |
RegionId.ApiNotSupported |
The api is not supported in this region. |
Bu işlem belirtilen bölgede gerçekleştirilemez. RegionId parametresinin değerinin geçerli olup olmadığını kontrol edin. |
|
400 |
PortNumber.Invalid |
The port number is invalid. |
Geçersiz PortNumber değeri. |
|
403 |
InstanceIds.ExceedLimit |
The number of instance IDs exceeds the upper limit. |
Maksimum örnek ID sayısı aşıldı. |
|
403 |
SessionCount.ExceedLimit |
The number of sessions exceeds the upper limit. |
Bağlı durumdaki maksimum oturum sayısı aşıldı. |
|
403 |
Operation.Forbidden |
The operation is not permitted. |
İşlem desteklenmiyor. |
|
403 |
PortForwarding.NotSupported |
Port forwarding is not supported currently. |
Bağlantı noktası yönlendirme özelliği desteklenmiyor. |
|
403 |
UserBehavior.SessionManagerDisabled |
The api is disabled by user behavior. |
Session Manager devre dışı bırakıldı. Hesabınızda tüm bölgeler için Session Manager'ı etkinleştirmenizi öneririz. |
|
403 |
InvalidCommandLine.Conflict |
The parameter PortNumber or TargetServer cannot be specified with parameter CommandLine. |
PortNumber veya TargetServer parametresi, CommandLine parametresi ile birlikte belirtilemez. |
|
403 |
InvalidTargetServer.MissingPortNumber |
The parameter PortNumber must be specified with parameter TargetServer. |
PortNumber parametresi, TargetServer parametresi ile birlikte belirtilmelidir. |
|
403 |
InvalidCommandLine.LengthLimitExceeded |
The length of the parameter CommandLine exceeded the limit of 512 characters. |
Geçersiz CommandLine değeri. Belirtilen komut 512 karakter uzunluk sınırını aşıyor. |
|
403 |
InvalidInstanceIds.CountLimitExceeded |
The count of Instances exceeded the maximum limit of 1 when TargetServer or CommandLine parameter was specified. |
Maksimum örnek sayısı aşıldı. TargetServer veya CommandLine parametresi belirtildiğinde yalnızca bir örnek belirtilebilir. |
|
404 |
InvalidInstance.NotFound |
The specified instances not found. |
Belirtilen örnek ID'si bulunamadı. |
|
500 |
InternalError.Dispatch |
An error occurred when you dispatched the request. |
İstek gönderilirken bir hata oluştu. Daha sonra tekrar deneyin. |
Hata kodlarının listesi için Hizmet hata kodları sayfasına bakın.