[英]Configuring AWS Elastic Beanstalk Timezone for Auto Scaling
我有一個部署在AWS上的單實例服務器- Elastic Beanstalk需要時區配置,我更改了時區,因為使用 ssh 登錄 EC2 環境,並使用下面列出的 linux 命令更新它;
sudo rm /etc/localtime
sudo ln -sf /usr/share/zoneinfo/Europe/Istanbul /etc/localtime
sudo reboot
一切都很好,因為服務器作為單個實例運行。 當我想使用 Auto Scaling、Load Balancing 功能時,問題就出現了。 在單個實例上,更新 linux AMI 上的時區很好,但在自動縮放模式下,因為根據閾值指標創建/銷毀/重新創建實例,所有配置都將丟失。
我的簡單問題是,如何在 AWS Elastic Beanstalk 中更改/配置自動可擴展負載平衡模式的時區?
您可以使用ebextensions配置新啟動的服務器。
這是一個對我有用的例子。 將以下命令添加到文件.ebextensions/timezone.config
:
commands:
set_time_zone:
command: ln -f -s /usr/share/zoneinfo/US/Pacific /etc/localtime
這里的答案只能部分地對我有用(我在使用上面的答案時部署錯誤)。 經過一些修改后,以下內容對我有用。 我相信它與“cwd”和“權限”有關。
commands:
0000_0remove_localtime:
command: rm -rf /etc/localtime
0000_1change_clock:
command: sed -i 's/UTC/Asia\/Singapore/g' /etc/sysconfig/clock
cwd: /etc/sysconfig
0000_2link_singapore_timezone:
command: ln -f -s /usr/share/zoneinfo/Asia/Singapore /etc/localtime
cwd: /etc
對於我在 StackOverflow 上的第一個答案......我必須在一個很好的早期答案中添加新信息。
對於 AWS Linux 2 Elastic Beanstalk,有一種新的簡單的時間設置方法。 將以下命令添加到文件 .ebextensions/xxyyzz.config 中:
container_commands:
01_set_bne:
command: "sudo timedatectl set-timezone Australia/Brisbane"
command: "sudo systemctl restart crond.service"
我不確定第二個命令是否絕對必要,但實例在那里肯定會很好地發揮作用(尤其是由於立即發生的任務!)。
您也可以通過命令行中的ssh進行配置:
當連接到您的 Elastic Beanstalk 實例時: http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html#change_time_zone
sudo ln -sf /usr/share/zoneinfo/America/Montreal /etc/localtime
您可以使用eb命令行工具連接到您的 EB 實例。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-cmd-commands.html
eb ssh
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.