[英]AWS CodeDeploy is impossible to deploy across multiple Availability Zones at the same time?
截圖下方,它似乎僅在一個可用區中成功。
我檢查了codedeploy日志中是否有失敗的實例,我發現有錯誤,我認為它被認為是一個內部實例。
2018-01-10 04:40:22 INFO [codedeploy-agent(2696)]: On Premises配置文件不存在或不可讀
2018-01-10 04:40:43錯誤[codedeploy-agent(2696)]:CodeDeploy實例代理服務:CodeDeploy實例代理服務:啟動或運行期間出錯:InstanceMetadata :: InstanceMetadataError - 不是EC2實例和未提供的區域環境變量AWS_REGION。 請使用環境變量AWS_REGION指定您的區域.......
我已經為這個問題搜索了大約三天,但AWS文檔中沒有提及。 在生產環境中,我計划使用附加到自動縮放組的兩個可用區。 我想知道我是否忽略了除CodeDeploy之外的其他事情......我該怎么辦? 先感謝您。
[更新]我用ASG和ASG Config screent shot更新了。 沒有什么特別的,它是vanila和默認流程。 我在AWS支持中心等待了5天,但仍在等待響應。
最后,我發現了為什么codedeploy在Windows 2016上跨多個可用區域失敗的原因。此外,這個問題似乎是Windows 2016 EC2本身的問題,而不是ASG或codedeploy(我還沒有在linux上測試過)。 我找到了兩種解決方案,
第一種方法是直觀且方便的方式(GUI),第二種方法適用於自動化PowerShell腳本。 我已經確認這兩種方法都可以成功部署到多個AZ。 codedeployagent記錄的日志中沒有錯誤。
更具體地說,codedeployagent在部署時會留下各種日志,我發現代理似乎使用了169.254.169.254中的元信息。 當我失敗時,日志會說“你是On-Premise Instance。”。 可能部署失敗,因為實例無法獲取元信息。 在下面的文檔中,我收到了很多幫助,列出了我的所有解決方案。
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html
特別是在文件中
.....在Windows PowerShell中,運行以下命令,以便系統將腳本計划為作為Windows計划任務運行。 該腳本在下次啟動時運行一次,然后禁止這些任務再次運行....
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.