[英]run a php script in aws EC2 server using lambda
我已經為應用程序在其上設置了 EC2 和 RDS,現在我想每天調用 EC2 服務器(運行 ubuntu,Apache)上的腳本(這是另一種服務的一種觸發器)以在 EC2 中運行,或者在 Lambda 本身上運行該 PHP 腳本的方法,從中刪除 EC2。
我確實發現了關於 python 腳本的內容: AWS Lambda 上的無服務器 PHP – Rob Allen 的 DevNotes
選項1:AWS Lambda上的PHP
如果您可以使PHP在Lambda上運行,那么就可以解決一半的問題。 然后,您可以使用Amazon CloudWatch Events安排它。 簡單地創建帶有計划的規則以觸發Lambda函數。
選項2:在Amazon EC2實例上觸發腳本
如果您只想在Amazon EC2實例上觸發腳本,則可以使用本地cron
定義。
如果您打算只為腳本運行EC2實例,然后將其關閉,則:
除了啟動和停止實例外,還可以啟動並終止實例 。 在這種情況下,提供腳本作為用戶數據,它將在啟動后自動運行。 將實例“關機行為”配置為“ 終止” 。
我目前這樣做的方法是使用 Node.js 通過 HTTP 調用腳本。
首先,我設置了一個 AWS Lambda 函數,如下所示:
exports.handler = (event, context, callback) => {
const https = require('https');
https.get('https://www.example.com/myscript?secret-token', (resp) => {});
};
秘密令牌只是為了讓我是唯一可以通過轉到該 URL 來執行此腳本的人。
接下來,我安排它在 EventBridge 觸發器上運行,使用類似於以下的調度表達式:
cron(0 8 * * ? *)
這使得 AWS Lambda 每天在我當地時間凌晨 5 點(UTC 時間早上 8 點)調用該 URL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.