我想在創建新EC2實例的事件中使用Lambda運行一些代碼。尋找藍圖config-rule-change-triggered
我有能力根據各種配置更改運行代碼,但不能在創建代碼時運行代碼。有沒有辦法做我想要的?或者我誤解了Lambda的用例?創建新的AWS EC2實例時運行AWS Lambda代碼
1
A
回答
3
2
我沒有看到實例啓動的通知觸發器,但是您可以執行的操作是編寫一個啓動腳本並通過userdata傳遞該腳本。該啓動腳本需要下載並安裝AWS CLI,然後對SNS進行身份驗證並將消息發佈到預先配置的主題。啓動腳本將向SNS進行身份驗證,並且通過您的IAM角色需要其他任何AWS服務,因此您需要爲IAM角色授予權限,以執行您希望腳本執行的任何操作。這可以在IAM控制檯中完成。
該主題然後將您的Lambda函數訂閱到它,它將執行。類似於下面的文章(雖然作者正在做類似的關機,而不是啓動)。
http://rogueleaderr.com/post/48795010760/how-to-notifyemail-yourself-when-an-ec2-instance
如果你把EC2實例爲自動縮放組,我相信是有當自動縮放集團推出一個新的實例被炒魷魚,所以你可以利用它的觸發器。
我希望有幫助。
2
如果您啓用了CloudTrail,那麼您可以讓S3 PutObject/TrailBucket觸發Lambda函數。 Lambda函數解析傳遞給它的對象,如果它找到RunInstances
事件,則運行您的代碼。
我做了完全相同的事情,以便在啓動新實例時通知某些用戶。使用Lambda/Python,它是~20行代碼。
1
我們也有類似的要求,兩天回來的(用戶應該給電子郵件每當一個新的實例被推出)
1)進入CloudWatch的,然後選擇規則
2)選擇服務名(其EC2爲你的案例),然後選擇「Ec2實例狀態更改通知」 3)然後在「特定狀態」下拉列表中選擇未決
4)單擊添加目標選項並選擇您的lambda函數。
就是這樣,無論何時啓動新實例,Cloudwatch都會觸發您的lambda函數。
希望它有幫助!
相關問題
- 1. 創建AWS EC2實例
- 2. 創建AWS EC2實例的私鑰
- 3. AWS EC2實例創建:錯誤
- 4. AWS EC2實例在停止時自動創建新的
- 5. AWS Data Pipeline如何運行EC2實例?
- 6. 運行Kubernetes在AWS EC2實例只
- 7. 在AWS實例上運行Python代碼
- 8. AWS WAF + EC2實例
- 9. AWS實例運行時間
- 10. AWS Lambda JavaCompiler實例
- 11. 加新創建的AWS EC2 IP到Ansible庫存在運行時
- 12. 如何檢查AWS EC2實例當前正常運行時間
- 13. AWS Data Pipeline Service創建新的ec2實例
- 14. 如何創建可爲我創建ec2實例的AWS用戶?
- 15. 帶密碼的ssh到AWS EC2實例
- 16. aws CloudFormation AWS :: EC2 ::實例BlockDeviceMappings和卷
- 17. AWS EC2創建AMI
- 18. AWS實例創建錯誤
- 19. 如何在EC2上運行AWS示例JAVA代碼
- 20. 如何使用AWS Java SDK創建新的AWS實例
- 21. 403在AWS EC2實例
- 22. AWS-CLI EC2描述實例
- 23. AWS EC2實例 - 租賃
- 24. AWS EC2實例:啓動多個實例
- 25. 創建AWS EC2時,AWS EC2進入停止狀態
- 26. 創建Amazon EC2(AWS)實例需要很長時間嗎?
- 27. 獲取AWS實例的運行時間
- 28. 使用EC2實例創建AWS EC2自己的AMI時出現錯誤
- 29. AWS CloudFormation中使用EC2實例創建的捲上的標籤
- 30. 在AWS-Lambda中運行node.js代碼時發生錯誤
謝謝,我定製了您提供的重新實現我想要的代碼。 – TimothyBuktu