diff --git a/docs/user/aws/images/.gitignore b/docs/user/aws/images/.gitignore
new file mode 100644
index 00000000000..85cd3dd1f29
--- /dev/null
+++ b/docs/user/aws/images/.gitignore
@@ -0,0 +1,2 @@
+AWS-Architecture-Icons_SVG*
+__MACOSX
diff --git a/docs/user/aws/images/Makefile b/docs/user/aws/images/Makefile
new file mode 100644
index 00000000000..42c0f5a9f66
--- /dev/null
+++ b/docs/user/aws/images/Makefile
@@ -0,0 +1,20 @@
+all: install_upi.svg install_upi_vpc.svg
+
+install_upi.svg: install_upi.dia relink-dia.py AWS-Architecture-Icons_SVG/.touch
+ dia --export $@ $<
+ ./relink-dia.py $@
+
+install_upi_vpc.svg: install_upi.dia relink-dia.py AWS-Architecture-Icons_SVG/.touch
+ dia -L 'Availability Zones,VPC,Subnets,Route53 (Private)' --export $@ $<
+ ./relink-dia.py $@
+
+# URI from https://aws.amazon.com/architecture/icons/
+AWS-Architecture-Icons_SVG.zip:
+ curl https://d1.awsstatic.com/webteam/architecture-icons/AWS-Architecture-Icons_SVG_20190131.f8dacae00681382ab91d59994de429d6e9a680bc.zip >$@
+
+AWS-Architecture-Icons_SVG/.touch: AWS-Architecture-Icons_SVG.zip
+ unzip -o $<
+ touch $@
+
+clean:
+ rm -rf install_upi*.svg AWS-Architecture-Icons_SVG* __MACOSX
diff --git a/docs/user/aws/images/install_upi.dia b/docs/user/aws/images/install_upi.dia
new file mode 100644
index 00000000000..5d2067660b0
Binary files /dev/null and b/docs/user/aws/images/install_upi.dia differ
diff --git a/docs/user/aws/images/install_upi.svg b/docs/user/aws/images/install_upi.svg
new file mode 100644
index 00000000000..f8f5a22a831
--- /dev/null
+++ b/docs/user/aws/images/install_upi.svg
@@ -0,0 +1,330 @@
+
+ AWS-General_AWS-Cloud_light-bgAmazon-Route-53Amazon-VPCAmazon-VPC_Internet-Gateway_light-bgAmazon-VPC_Endpoints_light-bgAmazon-VPC_Router_light-bgAmazon-VPC_NAT-Gateway_light-bgAWS-Identity-and-Access-Management_IAMSecurity-group_light-bgAmazon-EC2_M4-Instance_light-bgElastic-Load-Balancing-ELB_light-bgAmazon-Simple-Storage-Service-S3_Bucket_light-bg
+
+
+
+
+ Public Hosted Zone
+
+
+
+
+
+
+ VPC
+
+
+ Internet
+ Gateway
+
+
+
+
+
+
+
+ S3 VPC
+ Endpoint
+
+
+ Route Table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10.0.0.0/16
+
+
+ Private
+ Hosted
+ Zone
+
+
+
+
+
+
+ Availability Zone A
+
+
+
+
+
+
+ Availability Zone B
+
+
+
+ Availability Zone C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Public Subnet - 10.0.0.0/20
+
+
+ Private Subnet - 10.0.128.0/20
+
+
+
+
+
+ NAT Gateway
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Public Subnet - 10.0.16.0/20
+
+
+ Private Subnet - 10.0.144.0/20
+
+
+
+
+
+ NAT Gateway
+
+
+
+
+
+
+
+
+
+ Public Subnet - 10.0.32.0/20
+
+
+ Private Subnet - 10.0.160.0/20
+
+
+
+
+
+ NAT Gateway
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Master IAM
+
+
+ Worker IAM
+
+
+
+
+
+
+
+
+
+
+
+ cloud credential operator IAM
+
+
+ Registry S3 Bucket
+
+
+
+
+
+
+
+
+
+
+
+
+ API
+
+
+ API
+
+
+ Router
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image-registry IAM
+
+
+ ingress IAM
+
+
+ cluster API IAM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/user/aws/images/install_upi_vpc.png b/docs/user/aws/images/install_upi_vpc.png
deleted file mode 100644
index 5d7c10f0648..00000000000
Binary files a/docs/user/aws/images/install_upi_vpc.png and /dev/null differ
diff --git a/docs/user/aws/images/install_upi_vpc.svg b/docs/user/aws/images/install_upi_vpc.svg
new file mode 100644
index 00000000000..614eefa2341
--- /dev/null
+++ b/docs/user/aws/images/install_upi_vpc.svg
@@ -0,0 +1,194 @@
+
+ Amazon-VPCAmazon-VPC_Internet-Gateway_light-bgAmazon-VPC_Endpoints_light-bgAmazon-VPC_Router_light-bgAmazon-Route-53Amazon-VPC_NAT-Gateway_light-bg
+
+
+
+
+ VPC
+
+
+ Internet
+ Gateway
+
+
+
+
+
+
+
+ S3 VPC
+ Endpoint
+
+
+ Route Table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10.0.0.0/16
+
+
+ Private
+ Hosted
+ Zone
+
+
+
+
+
+
+ Availability Zone A
+
+
+
+
+
+
+ Availability Zone B
+
+
+
+ Availability Zone C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Public Subnet - 10.0.0.0/20
+
+
+ Private Subnet - 10.0.128.0/20
+
+
+
+
+
+ NAT Gateway
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Public Subnet - 10.0.16.0/20
+
+
+ Private Subnet - 10.0.144.0/20
+
+
+
+
+
+ NAT Gateway
+
+
+
+
+
+
+
+
+
+ Public Subnet - 10.0.32.0/20
+
+
+ Private Subnet - 10.0.160.0/20
+
+
+
+
+
+ NAT Gateway
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/user/aws/images/relink-dia.py b/docs/user/aws/images/relink-dia.py
new file mode 100755
index 00000000000..c671a2260ed
--- /dev/null
+++ b/docs/user/aws/images/relink-dia.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+#
+# Replace file:///... references with relative links and add the targets to Git.
+
+import base64
+import os
+import sys
+import urllib.parse
+import xml.etree.ElementTree
+
+
+def slug(uri):
+ return os.path.basename(uri)
+
+
+def get_def(path):
+ tree = xml.etree.ElementTree.parse(path)
+ root = tree.getroot()
+ root.set('id', slug(path))
+ return root
+
+
+def relink(path):
+ images = set()
+ tree = xml.etree.ElementTree.parse(path)
+ root = tree.getroot()
+ parents = {c: p for p in tree.getiterator() for c in p}
+ defs = xml.etree.ElementTree.Element('{http://www.w3.org/2000/svg}defs')
+ root.insert(0, defs)
+ for image in list(root.findall('{http://www.w3.org/2000/svg}image')):
+ uri = urllib.parse.unquote(image.get('{http://www.w3.org/1999/xlink}href')).split('/./', 1)[-1]
+ if uri not in images:
+ defs.append(get_def(path=uri))
+ images.add(uri)
+ parent = parents[image]
+ parent_index = list(parent).index(image)
+ parent.remove(image)
+ attrib = dict(image.items())
+ attrib['{http://www.w3.org/1999/xlink}href'] = '#' + slug(uri)
+ parent.insert(
+ parent_index,
+ xml.etree.ElementTree.Element('{http://www.w3.org/2000/svg}use', attrib=attrib))
+ tree.write(path)
+
+
+for path in sys.argv[1:]:
+ relink(path=path)
diff --git a/docs/user/aws/install_upi.md b/docs/user/aws/install_upi.md
index 7ce9517c0df..224be2ed00c 100644
--- a/docs/user/aws/install_upi.md
+++ b/docs/user/aws/install_upi.md
@@ -39,7 +39,9 @@ VPC configuration and a CloudFormation template is provided [here](../../../upi/
A created VPC via the template or manually should approximate a setup similar to this:
-
+
+

+
## Create DNS entries and Load Balancers for Control Plane Components