AMI以 為基礎的交付使用 AWS CloudFormation - AWS Marketplace

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

AMI以 為基礎的交付使用 AWS CloudFormation

AWS Marketplace 賣方可以使用 AWS CloudFormation 範本列出交付給 AWS Marketplace 買方的 AMI型產品。您可以使用 範本來定義 產品的叢集或分散式架構,或選取不同的AMI組合或產品組態。 CloudFormation 範本可設定為提供單一 Amazon Machine Image (AMI) 或多個AMIs,以及相關聯的組態檔案和 Lambda 函數。買方可以在 上瀏覽解決方案的選擇 AWS Marketplace,按一下即可購買,並使用您提供的範本進行部署 CloudFormation。

單一AMI解決方案最多可包含三個 CloudFormation 範本。

多AMI解決方案最多可包含 20 個範本AMIs和 20 個 CloudFormation 範本。每個 CloudFormation 範本都可以參考解決方案中AMIs包含的任何 組合或子集。買方購買單一解決方案,讓他們有權使用該產品AMIs中的所有 。當產品具有多個 時AMIs,每個 AMI 都有自己的唯一產品代碼,並且可以單獨定價和計量。不過,解決方案的個別元件無法在產品內容之外探索或取得。

如果您有現有的單一AMI產品,則無法遷移或合併為新的多AMI清單。不過,您的新解決方案可以具有與現有產品AMIs相同的軟體或複本。在 上建立的每個清單 AWS Marketplace 都是具有新產品代碼的清單。

您也可以將 Lambda 函數與 包含在無伺服器應用程式中,AMI以便買家可以透過 部署這些函數 CloudFormation。如需如何在 中包含 Lambda 函數和無伺服器應用程式的指示AMI,請參閱本指南新增無伺服器應用程式元中的 。

建立您的產品清單

若要提交產品,您需要準備並驗證您的 AMIs、建立 AWS CloudFormation 範本、建立架構圖、完成產品載入表單,並將材料提交至 AWS Marketplace。建議您先建立和驗證您的 AMIs,然後完成和驗證 CloudFormation 範本。完成這些步驟後,您應該建立架構圖並估算軟體和基礎設施價格。 會 AWS Marketplace 驗證您的提交內容,並與您合作,公開您的產品。使用 AWS Pricing Calculator協助估算範本的基礎設施成本。 AWS Marketplace 提供儲存計算器組態的連結。以下是多AMI解決方案產品的限制:

  • 不支援將現有 AWS Marketplace 產品從獨立產品更新為多AMI產品。若要在多AMI產品中提供產品,請複製 AMI 並將其作為元件提交至新的多AMI產品。產生的 AMI 具有與先前產品程式碼不同的唯一產品程式碼。

  • AmazonAMI Elastic Compute Cloud (Amazon EC2) 主控台中啟動執行個體頁面的AWS Marketplace索引標籤上看不到多解決方案。

  • 範本不得在多AMI解決方案中列出的 CloudFormation 項目AMIs之外啟動。

  • CloudFormation 範本必須以公有 的形式提交URL。範本中URLs包含的所有巢狀範本也必須可公開存取。

準備您的 CloudFormation範本

若要建置 CloudFormation 範本,您必須符合範本先決條件,並提供必要的輸入和安全參數。提交 CloudFormation 範本時,請使用下列各節中的準則。

範本先決條件

  • 確認您的產品 的所有 AWS 區域 啟用中,範本是否透過 AWS CloudFormation 主控台成功啟動。您可以使用 TaskCat 工具來測試範本。

  • 如果您要建立單一AMI產品,範本只能包含一個 AMI。

  • AMIs 必須位於每個區域的映射表中。 AWS Marketplace 團隊會在複製AMIIDs之後更新 。您的來源AMI必須位於 ,us-east-1其他區域可以使用預留位置。請參閱以下 YAML 範例。

    Mappings: RegionMap: us-east-1: ImageId: ami-0123456789abcdef0 us-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx eu-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx ap-southeast-1: ImageId: ami-xxxxxxxxxxxxxxxxx
  • AMIs CloudFormation 範本中包含的產品必須是您要發佈的產品AMI,或是 AWS受管的產品,AMI例如最新的 Amazon Linux 2。請勿包含您AMI或任何其他第三方AMI擁有和共用的任何社群。若要使用 AWS受管 AMI,請在 AWS Systems Manager 參數存放區中使用公有參數,而非硬式編碼 AMI IDs。例如,在指定 AMI ID 的 CloudFormation 範本中,您可以使用動態參考 ImageId: '{{resolve:ssm:/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id}}'

  • 建置範本,使其不依賴於特定可用區域 (AZ) 中的使用。並非所有客戶都可以存取所有 AZs,並針對不同的帳戶進行不同的AZs映射。

  • 您可以使用 包含 Lambda 函數、組態檔案和指令碼等相依性AMI。如需詳細資訊,請參閱建立無伺服器應用程式

  • 如果您使用 Auto Scaling 群組建置叢集化解決方案,我們建議您考慮擴展事件。新節點應會自動加入執行中的叢集。

  • 即使是單節點產品,我們也建議使用 Auto Scaling 群組

  • 如果您的解決方案涉及多個執行個體的叢集,如果您想要低網路延遲、高網路輸送量,或同時需要執行個體,請考慮使用置放群組。

  • 如果您的解決方案涉及 Docker 容器,您必須將 Docker 映像整合到 中AMI。

  • 為了方便 AWS Marketplace 團隊進行審查並讓客戶透明化,我們建議您在 UserData 區段中新增評論。

範本輸入參數

  • 範本的輸入參數不得包含 AWS Marketplace 客戶的憑證 AWS (例如密碼、公有金鑰、私有金鑰或憑證)。

  • 對於密碼等敏感輸入參數,請選擇 NoEcho 屬性並啟用更強的規則表達式。對於其他輸入參數,請設定最常見的輸入以及適當的協助程式文字。

  • 使用 AWS CloudFormation 參數類型來輸入。

  • 使用 AWS::CloudFormation::Interface 來分組和排序輸入參數。

  • 請勿為下列輸入參數設定任何預設值:

    注意

    客戶必須提供這些作為輸入參數。

    • 允許從公有網際網路傳入遠端存取連接埠的預設CIDR範圍

    • 允許從公有網際網路傳入資料庫連接埠的預設CIDR範圍

    • 使用者或資料庫的預設密碼

網路和安全參數

  • 確保預設SSH連接埠 (22) 或RDP連接埠 (3389) 未開啟至 0.0.0.0。

  • 建議您VPC使用適當的存取控制清單 (VPC) 和安全群組來建置 ,而不是使用預設的虛擬私有雲端 (ACLs)。

  • 使用 AWS Identity and Access Management (IAM) 角色AssumeRole從 呼叫,以啟用對客戶 AWS 環境的存取 AWS Security Token Service。

  • 設定IAM角色和政策以授予最低權限,並僅在絕對必要時啟用寫入存取。例如,如果您的應用程式只需要 S3:GETPUTDELETE操作,請僅指定這些動作。S3:* 在此情況下,我們不建議使用 。

收到範本後, 會 AWS Marketplace 驗證產品組態和資訊,並提供任何必要修訂的意見回饋。

取得範本基礎設施的成本估算

向客戶顯示的每個範本的基礎設施成本估算,是以您使用 提供的估算為基礎AWS Pricing Calculator。估算應包含要部署作為範本一部分的服務清單,以及典型部署的預設值。

計算範本的預估每月成本後, AWS Marketplace 請提供美國東部 (維吉尼亞北部) 區域的儲存和共用連結。這是提交程序的一部分。

架構圖

您必須為每個範本提供架構圖。若要進一步了解圖表,請參閱什麼是架構圖表?

圖表必須符合下列條件:

  • 說明 上的標準部署 AWS。

  • 在邏輯上描述資源的部署位置。例如,Amazon EC2執行個體之類的資源位於正確的子網路中。

  • 針對透過 AWS CloudFormation 範本 AWS 服務 部署的每個 ,使用最新的 AWS 產品圖示。若要下載目前的一組架構圖示,請參閱AWS 架構圖示

  • 包含 AWS CloudFormation 範本部署之所有服務的中繼資料。

  • 包含 AWS CloudFormation 範本部署的所有網路VPCs、 和子網路。

  • 顯示整合點,包括第三方資產APIs和內部部署混合資產。

  • 圖表的大小必須為 1100 x 700 像素。維持原始圖表比例,而不進行拉伸或裁切。

符合提交要求

若要使用 AWS CloudFormation 範本提交交付的產品,您必須提供下列資源:

  • CloudFormation 範本或範本

    • 單一AMI產品可以有一到三個 CloudFormation 範本

    • 多AMI產品最多可以有 20 CloudFormation 個範本

  • 每個範本預設組態的預估基礎設施價格

  • 架構圖和架構中繼資料

  • 已完成的產品表單 (可從 取得AWS Marketplace 管理入口網站

產品表單包含供您參考的範例提交。

對於每個產品,大多數必要的產品資料和中繼資料與傳統單一AMI產品相同。因此,使用 CloudFormation 範本交付AMI的每個 都必須繼續符合 所述的標準和要求 AWS Marketplace。

對於每個 CloudFormation 範本,您還必須提供以下資訊。

欄位 描述 限制
Title 架構的標題。這會出現在詳細資訊和履行頁面上,以及顯示架構詳細資訊的快顯視窗。 50 個字元
簡短描述 這會出現在詳細資訊和履行頁面上。 200 個字元
詳細描述 這會出現在架構詳細資訊快顯視窗中。 2000 個字元

對於多AMI產品,下列欄位為必填欄位:

  • 解決方案標題

  • 解決方案簡短描述

  • 解決方案詳細描述

  • 對於 CloudFormation 範本 (每個解決方案最多 20 個)

    • 部署標題 (每個範本)

    • 簡短描述 (每個範本)

    • 詳細說明 (每個範本)

    • 架構圖 (每個範本)

    • 基礎設施定價估算 (每個範本)

    • 此 CloudFormation 範本中包含的產品/元件清單

    • 此 CloudFormation 範本支援的 區域清單

提交您的產品請求

使用 AWS Marketplace 管理入口網站提交您的產品。在資產索引標籤上,選擇檔案上傳 。上傳您要提交的檔案,並輸入簡短描述。支援 YAML和 JSON 格式。請求處理需要三到五週的時間,包括:

  • 檢閱 和 CloudFormation 範本的範本AMI、 AMI和 CloudFormation中繼資料

  • 將 CloudFormation 範本發佈至 AWS Marketplace 產品