跳转至

概览

在部署解决方案之前,建议您先查看本指南中有关架构图和区域支持等信息,然后按照下面的说明配置解决方案并将其部署到您的账户中。

前提条件

根据计划部署文档检查所有的考虑因素是否满足。

部署步骤

我们提供了一键部署脚本以快速开始。总部署时间约为 30 分钟。

获取源代码

运行以下命令以获取源代码和部署脚本:

git clone --recursive https://github.com/aws-samples/stable-diffusion-on-eks
cd stable-diffusion-on-eks

一键部署

运行以下命令以使用最简设置快速部署:

cd deploy
./deploy.sh

该脚本将:

  • 安装必要的运行时和工具
  • 创建S3存储桶,从HuggingFace中下载Stable Diffusion 1.5的基础模型,放置在存储桶中
  • 使用我们提供的示例镜像,创建包含SD Web UI镜像的EBS快照
  • 创建一个含SD Web UI运行时的Stable Diffusion解决方案

Warning

该脚本生成的配置文件仅为最简单的配置,只包含1个运行时,且无法进行自定义(如弹性伸缩阈值,自定义模型,自定义镜像等)。如需自定义配置,请运行以下命令:

./deploy.sh -d

该参数会使得部署脚本只完成部署前准备,但不真正进行部署。您可以根据配置项修改配置后,运行以下命令进行部署:

cdk deploy --no-rollback --require-approval never

部署参数

该脚本提供一些参数,以便您自定义部署的解决方案:

  • -h, --help: 显示帮助信息
  • -n, --stack-name: 自定义部署的解决方案名称,影响生成的资源命名。默认为sdoneks.
  • -R, --region: 解决方案部署到的区域。默认为当前AWS配置文件所在区域。
  • -d, --dry-run: 仅生成配置文件,不执行部署。
  • -b, --bucket: 指定保存模型的现有S3桶名称,该S3桶必须已存在,且与解决方案在相同区域。您可以根据此文档手动创建S3存储桶。
  • -s, --snapshot: 指定现有的EBS快照ID。您可以根据此文档自行构建EBS快照。
  • -r, --runtime-name: 指定部署的运行时名称,影响API调用时使用的名称。默认为sdruntime
  • -t, --runtime-type: 指定部署的运行时类型,只接受sdwebuicomfyui。默认为sdwebui

手动部署

您也可以不适用脚本,使用以下步骤手动在 AWS 上部署此解决方案。

  1. 创建 Amazon S3 模型存储桶,并将所需要的模型存储到桶中
  2. (可选) 构建容器镜像
  3. (可选) 将容器镜像存储到EBS缓存中以加速启动
  4. 部署并启动解决方案堆栈