簡體   English   中英

AWS Lightsail 和 EC2 G3 是否兼容導出圖像?

[英]Are AWS Lightsail and EC2 G3 compatible for exporting image?

我將 Lightsail 圖像導出到 EC2 g2.2xlarge 和 g2.8xlarge 並且它沒有問題,但是在 g3.8xlarge 實例上嘗試相同之后,它無法從外部訪問。 我正在使用另一個 Lightsail 映像作為主主機和 EC2 實例作為計算服務器。 當我登錄 http 請求的on("error",callback)輸出時,它說

{ Error: connect ECONNREFUSED ::ffff:x.y.z.w:80
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  address: '::ffff:x.y.z.w',
  port: 80 }

我試圖解決的問題:

  • 禁用任何 Apache Tomcat:它說已經禁用(我猜來自圖像導出)
  • 從 80 到 1024 的預路由(Nodejs 應用程序偵聽它)
  • 在嘗試發出任何 http 請求之前,等待 EC2 實例的狀態變為 2/2 檢查(通過 javascript 使用 aws sdk)。
  • 附加一個允許 1024 和 80 端口的安全組,並在入站和出站規則上設置為任何位置(不是生產,只是測試)。
  • SSH 連接有效,我可以從 SSH 通道安裝應用程序然后進行自動化,我獲取它的“映像”並終止實例,主服務器從此映像創建新實例。(g2 實例沒問題)。 物理上沒問題,但有些東西會阻止 HTTP 請求。

我執行以下步驟將 Nodejs 服務移動到應用程序:

  • 在 Nodejs 中開發一些模塊
  • 拍攝快照
  • 將快照導出到 ec2(等待它完成)
  • 打開 ec2 控制台,選擇導出的 AMI
  • 單擊啟動(選擇 g2 實例、安全組、..、生成密鑰、使用 ssh 登錄)
  • 安裝必要的軟件(使用 g2、p2、.. 實例的資源)
  • 獲取完整安裝環境的新映像(通過分離 ssh 以確保這樣做不會丟失任何數據)
  • 在 AWS SDK (Javascript) 中使用它的 AMI 代碼創建一個新實例,等待它的運行,等待它的兩個狀態被檢查,運行應用程序。
  • g2鏡像創建g2實例,g3鏡像創建g3實例。

但僅適用於 g2 實例。

我還需要嘗試什么? 為什么這在 g2 實例上運行良好,但在 g3 實例上不起作用?

  • Ubuntu 18.04(從普通 Ubuntu 開始,但仍稱為 Amazon Ubuntu?)
  • Nodejs 8(在 1024 端口上運行)--- Lightsail 主機使用 expressjs 處理傳入請求,使用 http 處理傳出請求。 EC2 實例相同。

如果這有幫助:

  • EC2 實例可以對 Lightsail 實例進行 http 請求。
  • Lightsail 實例可以通過 express.js 偵聽獲取此信息。
  • Lightsail 對 EC2 執行的第一個 http 請求會導致上述錯誤輸出。 (g3 實例)
  • 在 Lightsail + g2 實例上,http 請求和 expressjs 偵聽都在兩台服務器上工作。
  • EC2 實例是共享的,而不是專用的。
  • 對於請求,我使用 HTTP 的 POST 並給它 json 對象。

也許 http 請求 + expressjs 監聽設計也是錯誤的?

在其他服務器嘗試對其執行 POST 操作之前,通過從控制台切換 source-destination-check 選項解決了問題。

默認值為 true,這導致了“問題”(我認為有一個錯誤,但它似乎是我錯過的一個功能)。

暫無
暫無

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

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