2017-10-28 60 views
1

我剛開始探索aws系統管理器功能。aws ssm send命令在Ubuntu服務器中不起作用

我使用python 3.6和boto3來測試ssm。

我已經創建了Ubuntu服務器EC2(t2 micro),併爲策略「AmazonEC2RoleforSSM」分配了IAM角色,根據我的知識應該允許在該EC2上運行ssm send命令。但是,相反,我得到以下錯誤:

botocore.errorfactory.InvalidInstanceId: An error occurred (InvalidInstanceId) when calling the SendCommand operation: 

我甚至試過檢查的輸出:

ssm.describe_instance_information()['InstanceInformationList']) 

它沒有實例ID我創建,它幾乎講述的故事,爲什麼我我正在得到那個錯誤。但是,就我所知,如果我將IAM角色分配給上述政策,它應顯示在列表中。

奇怪的是,當我嘗試使用Amazon Linux AMI服務器進行以上設置並運行ssm時,一切都看起來不錯。

任何想法爲什麼ssm不能在ubuntu服務器上工作?我錯過了什麼?

+0

[InvalidInstanceId:調用SendCommand操作時發生錯誤(InvalidInstanceId)]的可能重複](https://stackoverflow.com/questions/47034797/invalidinstanceid-an-error-occurred-invalidinstanceid-when-calling-the- sendco) – kenorb

回答

3

But, to my knowledge if I assign the IAM role with above mentioned policy it should show up in the list.

不,比這還多得多。您需要在每臺要管理的服務器上安裝install the AWS SSM agent。使用Amazon Linux爲您工作的原因是,最新版本的Amazon Linux已預先安裝了SSM代理。

+0

默認情況下,SSM代理安裝在日期爲2017.09及更高版本的Amazon Linux AMI上。 –

+0

@JohnHanley是不是我說的?他遇到的問題是運行Ubuntu,他說運行的是Amazon Linux。他需要在Ubuntu服務器上安裝代理。 –

+0

絕對。我只是用實際的日期來幫助答案,亞馬遜Linux將SSM包括在六個月或兩年後看到你答案的人。我並沒有試圖批評,因爲你的答案總是非常出色。 –

相關問題