簡體   English   中英

如何從 EB 獲取我的 EC2 實例以停止重新安裝 java 7?

[英]How do I get my EC2 instance from EB to stop re-installing java 7?

所以,基本上我有一個由 Elastic Beanstalk 創建的 EC2 實例,大約每周我都會通過 SSH 連接到它來卸載 java 7 並安裝 java 8。彈性 beanstalk 環境是為 Node.js 設置的,但我有一個單獨的需要實例化的java程序。 我嘗試在 rc.local 中放置安裝 java 8 的命令,但這根本不起作用。 該文件現在恢復到其默認狀態。 有什么地方可以將實例設置為默認為 Java 8? 有沒有辦法只保留我通過 SSH 安裝的安裝? 請幫忙,我的網站因此而不斷下降,我不確定該怎么做,谷歌也沒有太大幫助。

.ebextensions 是我這樣做的方式: https ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

.ebextensions 在任何時候創建 ec2 實例時運行; 所以編寫java 7的卸載和java 8的安裝腳本,你很高興。

更多信息...

聽起來您明白,EB 會時不時地自動銷毀您的 ec2 實例並替換它。 通常每周進行一次; 查看 EB 控制台 -> 配置 -> 托管更新。 你可能會發現它說

Managed updates: enabled

Weekly update window: [some date/time here]

這是一件好事。 EB 會自動為您安裝重要的安全更新和其他更新。 當它這樣做時,它可能會替換您的 ec2 實例。 這意味着:您手動安裝 java 8 的 ec2 實例被銷毀,並創建了一台全新的機器。 這台全新的機器上安裝了默認的 java 7……現在您再次必須手動通過 SSH 連接到這個新實例並安裝 8。

您需要的是一個腳本,該腳本將在 EB 決定為您創建的所有新 ec2 實例上運行; 每次手動通過 SSH 連接到 ec2 實例時,此腳本將遵循您正在執行的步驟。 請注意,即使您關閉了托管更新,ec2 實例仍有可能(甚至很可能)被破壞。 這是一個擁有良好基礎設施設計的租戶; 如果 ec2 實例因任何原因出現問題,您的基礎設施應自動在后台:

1.) 啟動一個新的 ec2 實例

2.) 提供新的 ec2 實例

3.) 將您的網站流量重新路由到新實例

4.) 停用舊的 ec2 實例

因此,在 .ebextensions 文件中,創建一個腳本,該腳本將卸載 java 7 並安裝 java 8,您將大功告成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM