選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 Elastic Beanstalk Go 平台

焦點模式
使用 Elastic Beanstalk Go 平台 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本主題說明如何在 Elastic Beanstalk 上設定、建置和執行 Go 應用程式。

AWS Elastic Beanstalk 支援不同版本的 Go 程式設計語言的多個平台分支。如需完整清單,請參閱 AWS Elastic Beanstalk 平台文件中的 Go

以簡單的 Go 應用程式而言,有兩種方式可部署應用程式:

  • 請於名為 application.go 的根目錄提供具備原始碼檔案的原始碼套件,其中包含您的應用程式的主要套件。Elastic Beanstalk 會使用下列命令來建置二進位檔案:

    go build -o bin/application application.go

    建置應用程式之後,Elastic Beanstalk 會於連接埠 5000 將其啟動。

  • 提供具備名為 application 的二進位檔案之原始碼套件。此二進位檔案可能位於原始碼套件的根目錄,或原始碼套件的 bin/ 目錄。若您將 application 二進位檔案同時置於這兩個位置,Elastic Beanstalk 會使用 bin/ 目錄中的檔案。

    Elastic Beanstalk 於連接埠 5000 啟動此應用程式。

在這兩種情況下,透過我們支援的 Go 平台分支,您也可以在名為 的檔案中提供模組需求go.mod。如需詳細資訊,請參閱 Go 部落格中的遷移至 Go 模組

以更複雜的 Go 應用程式而言,有兩種方式可部署應用程式:

  • 提供原始碼套件,其中包含您的應用程式原始碼檔案,以及 BuildfileProcfile。Buildfile 內含建置應用程式的命令,而 Procfile 則包含執行應用程式的說明。

  • 提供原始碼套件,其中包含您的應用程式二進位檔案,以及 Procfile。Procfile 包含執行應用程式的說明。

Go 平台包含了代理伺服器,此等伺服器可以提供靜態資產並將傳輸資料轉傳至您的應用程式。您可以針對進階的應用情境,來擴展或覆寫預設的代理組態

如需各種擴充 Elastic Beanstalk Linux 類型平台方式的詳細資訊,請參閱 擴充 Elastic Beanstalk Linux 平台

設定您的 Go 環境

Go 平台設定可讓您微調 Amazon EC2 執行個體的行為。您可以使用 Elastic Beanstalk 主控台編輯 Elastic Beanstalk 環境的 Amazon EC2 執行個體組態。

使用 Elastic Beanstalk 主控台來啟用至 Amazon S3 的日誌輪換,和設定您的應用程式可以從環境讀取的變數。

在 Elastic Beanstalk 主控台中設定 Go 環境
  1. 開啟 Elastic Beanstalk 主控台,然後在區域清單中選取您的 AWS 區域。

  2. 在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。

    注意

    如果您有許多環境,請使用搜尋列來篩選環境清單。

  3. 在導覽窗格中,選擇組態

  4. 更新、監控和日誌記錄組態類別中,選擇編輯

日誌選項

Log Options (日誌選項) 區段有兩個設定:

  • 執行個體設定檔 – 指定有權存取與您應用程式相關的 Amazon S3 儲存貯體的執行個體設定檔。

  • Enable log file rotation to Amazon S3 (啟用 Amazon S3 的日誌檔案輪換) – 指定是否將應用程式 Amazon EC2 執行個體的日誌檔案複製到與應用程式關聯的 Amazon S3 儲存貯體。

靜態檔案

為改善效能,您可以使用 Static files (靜態檔案) 區段來設定代理伺服器,以為來自 Web 應用程式一組目錄中的靜態檔案 (例如 HTML 或影像) 提供服務。對於每個目錄,您可以設定目錄映射的虛擬路徑。代理伺服器收到位於指定路徑下的檔案請求時,會直接提供檔案而非將請求路由至您的應用程式。

如需使用組態檔案或 Elastic Beanstalk 主控台設定靜態檔案的詳細資訊,請參閱提供靜態檔案

環境屬性

Environment Properties (環境屬性) 的部分可讓您針對執行您應用程式的 Amazon EC2 執行個體,來指定其上的環境資訊設定。環境屬性會以金鑰值對的形式傳到應用程式。

在 Elastic Beanstalk 內所執行的 Go 環境中,可使用 os.Getenv 函數來存取環境變數。例如,您可使用下列程式碼,來將名為 API_ENDPOINT 的屬性讀取到變數:

endpoint := os.Getenv("API_ENDPOINT")

如需詳細資訊,請參閱環境屬性與其他軟體設定

Go 組態命名空間

您可以使用組態檔案來設定組態選項,並在部署期間執行其他的執行個體設定工作。組態選項可以是平台特定選項,也可以套用至 Elastic Beanstalk 服務整體中的所有平台。組態選項會組織成命名空間

Go 平台不會定義任何平台特定的命名空間。您可以使用 aws:elasticbeanstalk:environment:proxy:staticfiles 命名空間設定代理提供靜態檔案。如需詳細資訊和範例,請參閱提供靜態檔案

Elastic Beanstalk 可提供許多組態選項讓您自訂環境。除了組態檔案,您也可以使用主控台、已儲存組態、EB CLI 或 AWS CLI來設定組態選項。如需更多資訊,請參閱組態選項

如果您的 Elastic Beanstalk Go 環境使用 Amazon Linux AMI 平台版本 (Amazon Linux 2 前身),請閱讀本節中的其他資訊。

備註

您可以使用組態檔案來設定組態選項,並在部署期間執行其他的執行個體設定工作。組態選項可以是平台特定的,也可以套用至 Elastic Beanstalk 服務整體中的所有平台。組態選項會組織成命名空間

注意

本主題中的資訊僅適用於以 Amazon Linux AMI (AL1) 為基礎的平台分支。AL2023/AL2 平台分支與舊版 Amazon Linux AMI (AL1) 平台版本不相容,需要不同的組態設定

除了所有平台皆支援的命名空間外,Amazon Linux AMI Go 平台亦支援一個平台特定的組態命名空間aws:elasticbeanstalk:container:golang:staticfiles 命名空間可讓您定義選項,將您 Web 應用程式的路徑對應至應用程式原始碼套件中內含靜態內容的資料夾。

例如,此組態檔案會通知代理伺服器提供路徑 /imagesstaticimages 資料夾內的檔案:

範例 .ebextensions/go-settings.config
option_settings: aws:elasticbeanstalk:container:golang:staticfiles: /html: statichtml /images: staticimages

Elastic Beanstalk 可提供許多組態選項讓您自訂環境。除了組態檔案,您也可以使用主控台、已儲存組態、EB CLI 或 AWS CLI來設定組態選項。如需更多資訊,請參閱組態選項

如果您的 Elastic Beanstalk Go 環境使用 Amazon Linux AMI 平台版本 (Amazon Linux 2 前身),請閱讀本節中的其他資訊。

備註

您可以使用組態檔案來設定組態選項,並在部署期間執行其他的執行個體設定工作。組態選項可以是平台特定的,也可以套用至 Elastic Beanstalk 服務整體中的所有平台。組態選項會組織成命名空間

注意

本主題中的資訊僅適用於以 Amazon Linux AMI (AL1) 為基礎的平台分支。AL2023/AL2 平台分支與舊版 Amazon Linux AMI (AL1) 平台版本不相容,需要不同的組態設定

除了所有平台皆支援的命名空間外,Amazon Linux AMI Go 平台亦支援一個平台特定的組態命名空間aws:elasticbeanstalk:container:golang:staticfiles 命名空間可讓您定義選項,將您 Web 應用程式的路徑對應至應用程式原始碼套件中內含靜態內容的資料夾。

例如,此組態檔案會通知代理伺服器提供路徑 /imagesstaticimages 資料夾內的檔案:

範例 .ebextensions/go-settings.config
option_settings: aws:elasticbeanstalk:container:golang:staticfiles: /html: statichtml /images: staticimages

Elastic Beanstalk 可提供許多組態選項讓您自訂環境。除了組態檔案,您也可以使用主控台、已儲存組態、EB CLI 或 AWS CLI來設定組態選項。如需更多資訊,請參閱組態選項

您可以使用組態檔案來設定組態選項,並在部署期間執行其他的執行個體設定工作。組態選項可以是平台特定的,也可以套用至 Elastic Beanstalk 服務整體中的所有平台。組態選項會組織成命名空間

注意

本主題中的資訊僅適用於以 Amazon Linux AMI (AL1) 為基礎的平台分支。AL2023/AL2 平台分支與舊版 Amazon Linux AMI (AL1) 平台版本不相容,需要不同的組態設定

除了所有平台皆支援的命名空間外,Amazon Linux AMI Go 平台亦支援一個平台特定的組態命名空間aws:elasticbeanstalk:container:golang:staticfiles 命名空間可讓您定義選項,將您 Web 應用程式的路徑對應至應用程式原始碼套件中內含靜態內容的資料夾。

例如,此組態檔案會通知代理伺服器提供路徑 /imagesstaticimages 資料夾內的檔案:

範例 .ebextensions/go-settings.config
option_settings: aws:elasticbeanstalk:container:golang:staticfiles: /html: statichtml /images: staticimages

Elastic Beanstalk 可提供許多組態選項讓您自訂環境。除了組態檔案,您也可以使用主控台、已儲存組態、EB CLI 或 AWS CLI來設定組態選項。如需更多資訊,請參閱組態選項

在本頁面

下一個主題:

Procfile

上一個主題:

開發環境
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。