建置的最佳實務 AMIs - AWS Marketplace

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

建置的最佳實務 AMIs

本主題提供一些最佳實務和參考,協助您建置 Amazon Machine Images (AMIs) 以搭配 使用 AWS Marketplace。AMIs 建置並提交至 AWS Marketplace 必須遵循所有 AWS Marketplace 產品政策。

保護轉售權利

您有責任保護非免費 Linux 發行版的轉售權利,但 AWS提供的 Amazon Linux、RHEL、 SUSE和 Windows 除外AMIs。

建置 AMI

使用下列準則建置 AMIs:

  • 確保您的 AMI符合所有 AWS Marketplace 政策,包括停用根登入。

  • AMI 在美國東部 (維吉尼亞北部) 區域建立您的 。

  • 從 Amazon Elastic Block Store (Amazon EBS) 的現有、維護良好的AMIs產品建立產品,並使用受信任、信譽良好的來源提供明確定義的生命週期,例如 AWS Marketplace。

  • AMIs 使用最多 up-to-date 的作業系統、套件和軟體建置 。

  • 確保所有 AMIs 都必須從使用硬體虛擬機器 (HVM) 虛擬化和 64 位元架構AMI的公有 開始。

  • 開發可重複的程序來建置、更新和重新發佈 AMIs。

  • 在所有版本和產品中使用一致的作業系統 (OS) 使用者名稱。我們建議 ec2-user

  • 從最終AMI到最終使用者體驗設定執行中的執行個體,並在提交至 之前測試所有安裝方法、功能和效能 AWS Marketplace。

  • 檢查連接埠設定,如下所示:

    • Linux 型 AMIs – 確保開啟有效的SSH連接埠。預設SSH連接埠為 22。

    • Windows 型 AMIs – 確定RDP連接埠已開啟。預設RDP連接埠為 3389。此外,WinRM 連接埠 (預設為 5985) 必須開啟至 10.0.0.0/16 和 10.2.0.0/16。

如需建立 的詳細資訊AMI,請參閱下列資源:

Amazon EC2使用者指南建立您自己的 AMI

Amazon EC2使用者指南建立自訂 Windows AMI

如何從 EBS後端執行個體建立 Amazon Machine Image (AMI)?

Amazon Linux AMI

Amazon EC2執行個體類型執行個體類型

準備和保護 AMI的 AWS Marketplace

我們建議建立安全 的下列準則AMIs:

  • 使用 Amazon 使用者指南中的共用 Linux AMIs 指南 EC2

  • 建構您的 AMI以部署為最低安裝,以減少攻擊面。停用或移除不必要的服務和程式。

  • 盡可能對網路流量使用 end-to-end 加密。例如,使用 Secure Sockets Layer (SSL) 來保護您和買家之間的HTTP工作階段。確保您的服務僅使用有效 和 up-to-date 憑證。

  • 將新版本新增至AMI產品時,請設定安全群組以控制執行個體的傳入流量存取。確保您的安全群組設定為僅允許存取為服務提供必要功能所需的最低連接埠集。僅允許管理存取必要的最小連接埠集和來源 IP 地址範圍。如需如何將新版本新增至AMI產品的詳細資訊,請參閱 新增新版本

  • 請考慮定期針對您的 AWS 運算環境執行滲透測試,或考慮雇用第三方代表您執行此類測試。如需詳細資訊,包括滲透測試申請表,請參閱AWS 滲透測試

  • 請注意 Web 應用程式的前 10 個漏洞,並相應地建置您的應用程式。若要進一步了解,請參閱 Open Web Application Security Project (OWASP) - 十大 Web Application Security 風險。發現新的網際網路漏洞時,請立即更新 中運送的任何 Web 應用程式AMI。包含此資訊的資源範例為 SecurityFocusNIST National Vulnerability Database

如需安全性的詳細資訊,請參閱下列資源:

掃描您的 AMI以進行發佈需求

若要協助在提交新產品或版本AMI之前驗證您的 ,您可以使用自助掃描。自助式掃描器將檢查未修補的常見漏洞和暴露 (CVEs),並確認遵循安全最佳實務。如需詳細資訊,請參閱 準備和保護 AMI的 AWS Marketplace

從 中 AWS Marketplace 管理入口網站,從資產功能表中選擇 Amazon Machine Image。選擇新增AMI以開始掃描程序。您可以透過AMIs返回此頁面來查看 的掃描狀態。

注意

若要了解如何授予 AWS Marketplace 存取權AMI,請參閱 授予 的 AWS Marketplace 存取權 AMI

驗證您的軟體是否在 上執行 AWS Marketplace AMI

您可能希望讓軟體在執行期驗證其是否在從AMI產品建立的 Amazon EC2執行個體上執行。

若要驗證 Amazon EC2執行個體是從AMI產品建立的,請使用內建於 Amazon 的執行個體中繼資料服務EC2。下列步驟會引導您完成此驗證。如需使用中繼資料服務的詳細資訊,請參閱 Amazon Elastic Compute Cloud 使用者指南 中的執行個體中繼資料和使用者資料

  1. 取得執行個體身分文件

    每個執行中的執行個體都有可從執行個體存取的身分文件,可提供執行個體本身的資料。下列範例顯示使用 curl 從執行個體擷取執行個體身分文件。

    curl http://169.254.169.254/latest/dynamic/instance-identity/document { "accountId" : "0123456789", "architecture" : "x86_64", "availabilityZone" : "us-east-1e", "billingProducts" : null, "devpayProductCodes" : null, "marketplaceProductCodes" : [ "0vg0000000000000000000000" ], "imageId" : "ami-0123456789abcdef1", "instanceId" : "i-0123456789abcdef0", "instanceType" : "t2.medium", "kernelId" : null, "pendingTime" : "2020-02-25T20:23:14Z", "privateIp" : "10.0.0.2", "ramdiskId" : null, "region" : "us-east-1", "version" : "2017-09-30" }
  2. 驗證執行個體身分文件

    您可以使用 簽章來驗證執行個體身分是否正確。如需此程序的詳細資訊,請參閱 Amazon Elastic Compute Cloud 使用者指南中的執行個體身分文件

  3. 驗證產品代碼

    當您最初提交AMI產品進行發佈時, 會為您的產品指派一個產品代碼 AWS Marketplace。您可以檢查執行個體身分文件中marketplaceProductCodes的欄位來驗證產品代碼,也可以直接從中繼資料服務取得:

    curl http://169.254.169.254/latest/meta-data/product-codes 0vg0000000000000000000000

    如果產品代碼與AMI產品的代碼相符,則執行個體是從產品建立的。

您也可以驗證執行個體身分文件中的其他資訊,例如 instanceId和執行個體 privateIp