當EC2實例停止/終止時,是否有某種方式觸發事件(例如,運行腳本以將某些日誌推送到S3)?AWS EC2實例上的觸發事件停止/終止
我已經研究過在/ usr/lib/systemd/system中使用服務觸發腳本,但我還沒有任何運氣。我聽說在觸發服務之前可以關閉實例上的網絡功能,如果這是真的,那可能是腳本執行不正確的原因。
當EC2實例停止/終止時,是否有某種方式觸發事件(例如,運行腳本以將某些日誌推送到S3)?AWS EC2實例上的觸發事件停止/終止
我已經研究過在/ usr/lib/systemd/system中使用服務觸發腳本,但我還沒有任何運氣。我聽說在觸發服務之前可以關閉實例上的網絡功能,如果這是真的,那可能是腳本執行不正確的原因。
所以答案是不是真的AWS具體,但它現在是爲我工作(在EC2實例停止和終止測試)。
/usr/lib/systemd/system/my_shutdown.service
[Unit]
Description=my_shutdown Service
Before=shutdown.target reboot.target halt.target
Requires=network-online.target network.target
[Service]
KillMode=none
ExecStart=/bin/true
ExecStop=/path/to/my_script.sh
RemainAfterExit=yes
Type=oneshot
[Install]
WantedBy=multi-user.target
systemctl enable my_shutdown.service
或者,可以手動創建符號鏈接:
ln -s /usr/lib/systemd/system/my_shutdown.service /etc/systemd/system/multi-user.target.wants/my_shutdown.service
systemctl start my_shutdown.service
我的理解:
參考文獻:
您可以觸發事件,如推日誌S3上的特定事件,CloudWatch的......這裏瞭解更多:https://aws.amazon.com/cloudwatch/
更深連結[CloudWatch的EC2活動](http://docs.aws。 amazon.com/AmazonCloudWatch/latest/DeveloperGuide/EventTypes.ht ml#ec2_event_type)可能會有幫助,在這裏。但是,一旦某個實例開始關閉,考慮嘗試保留日誌或導出任何內容可能會有點晚。系統通過模擬短按電源按鈕來停止實例。自動擴展組具有可中斷的狀態更改,而實例實例有2分鐘的警告,但對於其他實例,關閉時的自主內部清除操作可能不切實際。 –
採取點,邁克爾 - sqlbot。感謝更深層次的聯繫。 – hephalump