AWSTemplateFormatVersion: '2010-09-09' Description: (SO8032) - Stable-Diffusion AWS Extension Workshop - EC2 Instance # Parameters: # KeyName: # Description: Name of an existing EC2 KeyPair to enable SSH access to the instance # Type: AWS::EC2::KeyPair::KeyName # ConstraintDescription: must be the name of an existing EC2 KeyPair. Mappings: RegionToAmiId: ap-south-1: AMI: ami-089b78354e92adbc4 eu-north-1: AMI: ami-09f0506c9ef0fb473 eu-west-3: AMI: ami-000cbe82b60906d24 eu-west-2: AMI: ami-00f314baca4922fe3 eu-west-1: AMI: ami-020fc399c31009b50 ap-northeast-3: AMI: ami-00615a13ea1ff3de8 ap-northeast-2: AMI: ami-07d16c043aa8e5153 ap-northeast-1: AMI: ami-0ba151ad81cdd97be ca-central-1: AMI: ami-0c0ef44e5ccbd075f sa-east-1: AMI: ami-0efc6acdb081d5a82 ap-east-1: AMI: ami-0476827462b538638 ap-southeast-1: AMI: ami-01079af93e791f059 ap-southeast-2: AMI: ami-0c30788ba2f3b701c eu-central-1: AMI: ami-08046b3f92ed2f520 us-east-1: AMI: ami-031cf125b681ca3e0 us-east-2: AMI: ami-0d68d031be2577777 us-west-1: AMI: ami-0cab1ec90365016c6 us-west-2: AMI: ami-01cb61d12413ba783 Resources: SecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: !Sub ${AWS::StackName}-sg GroupDescription: Security group for SD WebUI EC2 instance SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: 0.0.0.0/0 - IpProtocol: tcp FromPort: 7860 ToPort: 7860 CidrIp: 0.0.0.0/0 EC2Instance: Type: AWS::EC2::Instance Properties: InstanceType: c5.2xlarge ImageId: !FindInMap [RegionToAmiId, !Ref AWS::Region, AMI] # KeyName: !Ref KeyName BlockDeviceMappings: - DeviceName: /dev/sda1 Ebs: VolumeSize: 300 VolumeType: gp2 "Tags" : [ {"Key" : "Name", "Value" : "sd-on-aws"}, ] SecurityGroups: - Ref: SecurityGroup UserData: 'Fn::Base64': | #!/bin/bash sudo sed -i "/#\$nrconf{restart} = 'i';/s/.*/\$nrconf{restart} = 'a';/" /etc/needrestart/needrestart.conf sudo apt-get update sudo apt install wget git python3 python3.8-venv build-essential net-tools libgl1 -y cd /home/ubuntu git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui/extensions git clone https://github.com/awslabs/stable-diffusion-aws-extension.git cd stable-diffusion-aws-extension/ ./pre-flight.sh -f cd .. sudo chown -R ubuntu:ubuntu stable-diffusion-aws-extension/ sd_dreambooth_extension/ sd-webui-controlnet/ ../../stable-diffusion-webui/ cd .. # sudo -u ubuntu python3 -m venv venv cat > sd-webui.service <