本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 交付 AMI型產品 AWS CloudFormation
AWS Marketplace 賣方可以使用 AWS CloudFormation 範本列出交付給 AWS Marketplace 買方的 AMI型產品。您可以使用 範本來定義 產品的叢集或分散式架構,或選取不同的AMI組合或產品組態。 CloudFormation 範本可設定為提供具有關聯組態檔案和 Lambda 函數的單一 Amazon Machine Image (AMI)。買家可以在 上瀏覽解決方案的選取 AWS Marketplace,按一下即可購買,並使用您提供的 CloudFormation 範本進行部署。
單一AMI解決方案最多可包含三個 CloudFormation 範本。
您也可以將 Lambda 函數與 包含在無伺服器應用程式中,AMI以便買家可以透過 部署這些函數 CloudFormation。如需如何在 中包含 Lambda 函數和無伺服器應用程式的指示AMI,請參閱本指南新增無伺服器應用程式元件中的 。
建立您的產品清單
若要提交產品,您需要準備並驗證您的 AMIs、建立 AWS CloudFormation 範本、建立架構圖、完成產品載入表單,並將材料提交至 AWS Marketplace。建議您先建立和驗證您的 AMIs,然後完成和驗證 CloudFormation 範本。完成這些步驟後,您應該建立架構圖並估算軟體和基礎設施價格。 會 AWS Marketplace 驗證您的提交內容,並與您合作,公開您的產品。使用 AWS Pricing Calculator
準備您的 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。如需詳細資訊,請參閱步驟 1:建立無伺服器應用程式。
-
如果您使用 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:GET
、PUT
和DELETE
操作,請僅指定這些動作。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 範本
-
-
每個範本預設組態的預估基礎設施價格
-
架構圖和架構中繼資料
-
已完成的產品表單 (可從 取得AWS Marketplace 管理入口網站
) -
對於單一AMI產品,請使用商業產品
表單
-
產品表單包含供您參考的範例提交。
對於每個產品,大多數必要的產品資料和中繼資料與傳統單一AMI產品相同。因此,使用 CloudFormation 範本交付AMI的每個 都必須持續符合 所述的標準和要求 AWS Marketplace。
對於每個 CloudFormation 範本,您還必須提供以下資訊。
欄位 | 描述 | 限制 |
---|---|---|
Title | 架構的標題。這會出現在詳細資訊和履行頁面上,以及顯示架構詳細資訊的快顯視窗。 | 50 個字元 |
簡短描述 | 這會出現在詳細資訊和履行頁面上。 | 200 個字元 |
詳細描述 | 這會出現在架構詳細資訊快顯視窗中。 | 2000 個字元 |
對於使用 CloudFormation 產品的 AMI型交付,需要下列欄位:
-
解決方案標題
-
解決方案簡短描述
-
解決方案詳細描述
-
對於 CloudFormation 範本 (每個解決方案最多 20 個)
-
部署標題 (每個範本)
-
簡短描述 (每個範本)
-
詳細說明 (每個範本)
-
架構圖 (每個範本)
-
基礎設施定價估算 (每個範本)
-
此 CloudFormation 範本中包含的產品/元件清單
-
此 CloudFormation 範本支援的 區域清單
-
提交您的產品請求
使用 AWS Marketplace 管理入口網站
-
檢閱 和 CloudFormation 範本的範本AMI、 AMI和 CloudFormation中繼資料
-
將 CloudFormation 範本發佈至 AWS Marketplace 產品