

# Bundles and images for WorkSpaces Personal
<a name="amazon-workspaces-bundles"></a>

A *WorkSpace bundle* is a combination of an operating system, and storage, compute, and software resources. When you launch a WorkSpace, you select the bundle that meets your needs. The default bundles available for WorkSpaces are called *public bundles*. For more information about the various public bundles available for WorkSpaces, see [Amazon WorkSpaces Bundles](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles).

If you've launched a Windows or Linux WorkSpace and have customized it, you can create a custom image from that WorkSpace. 

A *custom image* contains only the OS, software, and settings for the WorkSpace. A *custom bundle* is a combination of both that custom image and the hardware from which a WorkSpace can be launched.

After you create a custom image, you can build a custom bundle that combines the custom WorkSpace image and the underlying compute and storage configuration that you select. You can then specify this custom bundle when you launch new WorkSpaces to ensure that the new WorkSpaces have the same consistent configuration (hardware and software). 

If you need to perform software updates or to install additional software on your WorkSpaces, you can update your custom bundle and use it to rebuild your WorkSpaces.

WorkSpaces supports several different operating systems (OS), streaming protocols, and bundles. The following table provides information about the licensing, streaming protocols, and bundles that are supported by each OS.


| Operating System | Licenses | Streaming protocols | Supported bundles | Lifecycle policy / retirement date | 
| --- | --- | --- | --- | --- | 
| Windows Server 2016 | Included | DCV, PCoIP | Value, Standard, Performance, Power, PowerPro, GraphicsPro, Graphics G4dn | [January 12, 2027](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2016) | 
| Windows Server 2019 | Included | DCV, PCoIP | Value, Standard, Performance, Power, PowerPro, GraphicsPro, Graphics G4dn | [January 9, 2029](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2019) | 
| Windows Server 2022 | Included | DCV, PCoIP | Standard, Performance, Power, PowerPro, GeneralPurpose, Graphics G4dn, Graphics G6 | [October 14, 2031](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2022) | 
| Windows Server 2025 | Included | DCV | Standard, Performance, Power, PowerPro, GeneralPurpose, Graphics G4dn, Graphics G6 | [November 14, 2034](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2025) | 
| Windows 10 | Bring Your Own License (BYOL) | DCV, PCoIP | Value, Standard, Performance, Power, PowerPro, GraphicsPro, Graphics G4dn | [In support](https://learn.microsoft.com/en-us/windows/release-health/release-information) | 
| Windows 11 | Bring Your Own License (BYOL) | DCV | Standard, Performance, Power, PowerPro, GeneralPurpose, Graphics G4dn, Graphics G6 | [In support](https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information) | 
| Amazon Linux 2 | Included | DCV, PCoIP | Value, Standard, Performance, Power, PowerPro | [In support](https://aws.amazon.com/amazon-linux-2/faqs/) | 
| Ubuntu 22.04 LTS | Included | DCV | Value, Standard, Performance, Power, PowerPro, Graphics G4dn | [June, 2032](https://ubuntu.com/about/release-cycle) | 
| Rocky Linux 8 | Included | DCV | Value, Standard, Performance, Power, PowerPro | [May 31, 2029](https://ciq.com/services/long-term-support/) | 
| Red Hat Enterprise Linux 8 | Included | DCV | Value, Standard, Performance, Power, PowerPro | [May 31, 2029](https://access.redhat.com/support/policy/updates/errata) | 

**Note**  
Operating system versions that are no longer supported by the vender are not guaranteed to work and are not supported by AWS support.
For WorkSpaces running on Windows operating system, Graphics bundles only supports PCoIP streaming protocol.

**Topics**
+ [Bundle options for WorkSpaces Personal](bundle-options.md)
+ [Create a custom WorkSpaces image and bundle for WorkSpaces Personal](create-custom-bundle.md)
+ [Update a custom bundle for WorkSpaces Personal](update-custom-bundle.md)
+ [Copy a custom image in WorkSpaces Personal](copy-custom-image.md)
+ [Share or unshare a custom image in WorkSpaces Personal](share-custom-image.md)
+ [Delete a custom bundle or image in WorkSpaces Personal](delete_bundle.md)

# Bundle options for WorkSpaces Personal
<a name="bundle-options"></a>

Before selecting a bundle, ensure the bundle you want to select is compatible with your WorkSpaces' protocol, operating system, network, and compute type. For more information about protocols, see [Protocols for Amazon WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-protocols.html). For more information about networks, see [Amazon WorkSpaces client network requirements](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-network-requirements.html). 

**Note**  
We recommend not exceeding a 250 ms maximum network latency for PCoIP WorkSpaces. To get the best PCoIP WorkSpaces user experience, we recommend keeping the network latency under 100 ms. When the round-trip time (RTT) exceeds 375 ms, the WorkSpaces client connection will shut down. For the best DCV user experience, we recommend keeping the RTT under 250 ms. If the RTT is between 250 ms and 400 ms, the user can access the WorkSpace, but performance will decrease significantly.
We recommend testing the performance of bundles you want to choose in a test environment by running and using applications that replicate your users' daily tasks.
BYOP (Bring Your Own Protocol) bundles are for WorkSpaces Core. The BYOP bundles provided by Amazon WorkSpaces don't have a WorkSpaces provided streaming protocol installed. You won't be able to connect using WorkSpaces clients or gateways. To understand the shared responsibility model for Amazon WorkSpaces Core, see the [ Technology Partner Integration Guide for Amazon WorkSpaces Core](chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://docs.aws.amazon.com/pdfs/workspaces-core/latest/pg/workspacescore-pg.pdf). For more information, see [ Amazon WorkSpaces Core](https://aws.amazon.com/workspaces-family/core/).

**Important**  
GraphicsPro bundle reaches end-of-life on October 31, 2025. We recommend migrating your GraphicsPro WorkSpaces to supported bundles before October 31, 2025. For more information, see [Migrate a WorkSpace in WorkSpaces Personal](migrate-workspaces.md).
The Graphics bundle will no longer be supported after November 30, 2023. We recommend switching to a supported GPU enabled bundle for WorkSpaces using the Graphics bundle.
Graphics and GraphicsPro bundles aren't currently available in the Asia Pacific (Mumbai) Region.
Plus applications bundles with Office 2016 or Office 2019 will no longer be supported after October 14, 2025. We recommend migrating your WorkSpaces bundles with those Office version to use Office 2021 or Office 2024. For more information, see, [Manage applications in WorkSpaces Personal](manage-applications).

The following are the bundles that WorkSpaces offers. For information about bundles in WorkSpaces, see [Amazon WorkSpaces Bundles](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles).

## Value bundle
<a name="value"></a>

This bundle is well-suited for the following:
+ Basic text editing and data entry
+ Web browsing with light usage
+ Instant messaging

This bundle is not recommended for word processing, audio and video conferencing, screen sharing, software development tool, business intelligence applications, and graphics applications.

## Standard bundle
<a name="standard"></a>

This bundle is well-suited for the following:
+ Basic text editing and data entry
+ Web browsing
+ Instant messaging
+ Email

This bundle is not recommended for audio and video conferencing, screen sharing, word processing, software development tool, business intelligence applications, and graphics applications.

## Performance bundle
<a name="performance"></a>

This bundle is well-suited for the following:
+ Web browsing
+ Word processing
+ Instant messaging
+ Email
+ Spreadsheets
+ Audio processing
+ Courseware

This bundle is not recommended for video conferencing, screen sharing, software development tool, business intelligence applications, and graphics applications.

## Power bundle
<a name="power"></a>

This bundle is well-suited for the following:
+ Web browsing
+ Word processing
+ Email
+ Instant messaging
+ Spreadsheets
+ Audio processing
+ Software development (Integrated Development Environment (IDE))
+ Entry to mid-level data processing
+ Audio and video conferencing

This bundle is not recommended for screen sharing, software development tool, business intelligence applications, and graphics applications.

## PowerPro bundle
<a name="powerpro"></a>

This bundle is well-suited for the following:
+ Web browsing
+ Word processing
+ Email
+ Instant messaging
+ Spreadsheets
+ Audio processing
+ Software development (Integrated Development Environment (IDE))
+ Data warehousing
+ Business intelligence applications
+ Audio and video conferencing

This bundle is not recommended for machine learning model training, and graphics applications.

## General purpose bundles
<a name="generalpurpose"></a>

These bundles, including GeneralPurpose.4xlarge and GeneralPurpose.8xlarge, are well-suited for the following:
+ Web browsing
+ Word processing
+ Email
+ Instant messaging
+ Spreadsheets
+ Audio processing
+ Software development (Integrated Development Environment (IDE))
+ Data warehousing
+ Business intelligence applications
+ Audio and video conferencing
+ Batch processing
+ CPU-based ML (machine learning) model training

This bundle is not recommended for 3D rendering, photo-realistic design, game streaming, or ML model training for complex models.

## Graphics G6 bundles
<a name="graphicsg6"></a>

The G6 WorkSpace bundles utilize NVIDIA L4 GPUs with 3rd generation AMD EPYC (Milan) processors and are available in three variants: G6, Gr6, and G6f. The G6 WorkSpaces feature a standard 1:4 vCPU-to-memory ratio, providing balanced compute and memory resources for general graphics workloads. The Gr6 WorkSpaces offer a 1:8 vCPU-to-memory ratio, delivering double the memory per vCPU for graphics applications with higher memory requirements. The G6f WorkSpaces provide fractional GPU allocation, making them suitable for workloads that do not require full GPU processing capacity for computationally intensive operations. Refer to [Amazon EC2 G6 Instances page](https://aws.amazon.com/ec2/instance-types/g6/) for more information. The G6 WorkSpace bundles support all use cases that existing bundles support, such as daily tasks, data processing and analysis, audio conferencing and software development. Additionally, they enable the followiing use cases:
+ Graphic design
+ CAD/CAM (computer-aided design/computer-aided manufacturing)
+ Video transcoding
+ 3D rendering
+ Game streaming
+ ML (machine learning) model training and ML inference

## Graphics.g4dn bundle
<a name="graphicsg4dn"></a>

This bundle offers a high level of graphics performance, and moderate level of CPU performance and memory for your WorkSpaces and is well-suited for the following:
+ Web browsing
+ Word processing
+ Email
+ Spreadsheets
+ Instant messaging
+ Audio conferencing
+ Software development (Integrated Development Environment (IDE))
+ Entry to mid-level data processing
+ Data warehousing
+ Business intelligence applications
+ Graphic design
+ CAD/CAM (computer-aided design/computer-aided manufacturing)

This bundle is not recommended for audio and video conferencing, 3D rendering, photo-realistic design, and machine learning model training.

## GraphicsPro.g4dn bundle
<a name="graphicsprog4dn"></a>

This bundle offers a high level of graphics performance, CPU performance, and memory for your WorkSpaces and is well-suited for the following:
+ Web browsing
+ Word processing
+ Email
+ Spreadsheets
+ Instant messaging
+ Audio conferencing
+ Software development (Integrated Development Environment (IDE))
+ Entry to mid-level data processing
+ Data warehousing
+ Business intelligence applications
+ Graphic design
+ CAD/CAM (computer-aided design/computer-aided manufacturing)
+ Video transcoding
+ 3D rendering
+ Photo-realistic design
+ Game streaming
+ ML (machine learning) model training and ML inference

This bundle is not recommended for audio and video conferencing.

# Create a custom WorkSpaces image and bundle for WorkSpaces Personal
<a name="create-custom-bundle"></a>

If you've launched a Windows or Linux WorkSpace and have customized it, you can create a custom image and custom bundles from that WorkSpace.

A *custom image* contains only the OS, software, and settings for the WorkSpace. A *custom bundle* is a combination of both that custom image and the hardware from which a WorkSpace can be launched.

**Note**  
Ensure you wait at least 2 hours after deleting a bundle before creating a new bundle with the same name.

After you create a custom image, you can build a custom bundle that combines the custom image and the underlying compute and storage configuration that you select. You can then specify this custom bundle when you launch new WorkSpaces to ensure that the new WorkSpaces have the same consistent configuration (hardware and software).

You can use the same custom image to create various custom bundles by selecting different compute and storage options for each bundle. <a name="important_note"></a>

**Important**  
If you plan to create an image from a Windows 10 WorkSpace, note that image creation is not supported on Windows 10 systems that have been upgraded from one version of Windows 10 to a newer version of Windows 10 (a Windows feature/version upgrade). However, Windows cumulative or security updates are supported by the WorkSpaces image-creation process.
After January 14, 2020, images cannot be created from public Windows 7 bundles. You might want to consider migrating your Windows 7 WorkSpaces to Windows 10. For more information, see [Migrate a WorkSpace in WorkSpaces Personal](migrate-workspaces.md).
The Graphics bundle is no longer supported as of November 30, 2023, and the GraphicsPro bundle reaches end-of-life on October 31, 2025. We recommend migrating your WorkSpaces to a supported GPU bundle. For more information, see [Migrate a WorkSpace in WorkSpaces Personal](migrate-workspaces.md).
GraphicsPro bundle reaches end-of-life on October 31, 2025. We recommend migrating your GraphicsPro WorkSpaces to supported GPU bundle before October 31, 2025. For more information, see [Migrate a WorkSpace in WorkSpaces Personal](migrate-workspaces.md).
Custom bundle storage volumes can't be smaller than image storage volumes.
Plus applications bundles with Office 2016 or Office 2019 will no longer be supported after October 14, 2025. We recommend migrating your WorkSpaces bundles with those Office version to use Office 2021. For more information, see, [Manage applications in WorkSpaces Personal](manage-applications).

Custom bundles cost the same as the public bundles they are created from. For more information about pricing, see [Amazon WorkSpaces Pricing](https://aws.amazon.com/workspaces/pricing/).

**Topics**
+ [Requirements to create Windows custom images](#windows_custom_image_requirements)
+ [Requirements to create Linux custom images](#linux_custom_image_requirements)
+ [Best practices](#custom_image_best_practices)
+ [(Optional) Step 1: Specify a custom computer name format for your image](#custom_computer_name)
+ [Step 2: Run the Image Checker](#run_image_checker)
+ [Step 3: Create a custom image and custom bundle](#create_custom_image_bundle)
+ [What's included with Windows WorkSpaces custom images](#image_creation_windows)
+ [What's included with Linux WorkSpace custom images](#image_creation_linux)

## Requirements to create Windows custom images
<a name="windows_custom_image_requirements"></a>

**Note**  
Windows currently defines 1 GB as 1,073,741,824 bytes. Customers will need to ensure they have greater than 12,884,901,888 bytes (or 12 GiB) free on C drive and the user profile is less than 10,737,418,240 bytes (or 10 GiB) to create an image of a WorkSpace.
+ The status of the WorkSpace must be **Available** and its modification state must be **None**.
+ All applications and user profiles on WorkSpaces images must be compatible with Microsoft Sysprep.
+ All applications to include in the image must be installed on the `C` drive.
+ For Windows 7 WorkSpaces, and its total size (files and data) must be less than 10 GB.
+ For Windows 7 WorkSpaces, the `C` drive must have at least 12 GB of available space.
+ All application services running on the WorkSpace must use a local system account instead of domain user credentials. For example, you cannot have a Microsoft SQL Server Express installation running with a domain user's credentials.
+ The WorkSpace must not be encrypted. Image creation from an encrypted WorkSpace is not currently supported.
+ The following components are required in an image. Without these components, the WorkSpaces that you launch from the image will not function correctly. For more information, see [Required configuration and service components for WorkSpaces Personal](required-service-components.md).
  + Windows PowerShell version 3.0 or later
  + Remote Desktop Services
  + AWS PV drivers
  + Windows Remote Management (WinRM)
  + Teradici PCoIP agents and drivers
  + STXHD agents and drivers
  + AWS and WorkSpaces certificates
  + Skylight agent

## Requirements to create Linux custom images
<a name="linux_custom_image_requirements"></a>
+ The status of the WorkSpace must be **Available** and its modification state must be **None**.
+ All applications to include in the image must be installed outside of the user volume (the `/home` directory).
+ The root volume (/) should be less than 97% full.
+ The WorkSpace must not be encrypted. Image creation from an encrypted WorkSpace is not currently supported.
+ The following components are required in an image. Without these components, the WorkSpaces that you launch from the image will not function correctly:
  + Cloud-init
  + Teradici PCoIP or DCV agents and drivers
  + Skylight agent

## Best practices
<a name="custom_image_best_practices"></a>

Before you create an image from a WorkSpace, do the following:
+ Use a separate VPC that is not connected to your production environment.
+ Deploy the WorkSpace in a private subnet and use a NAT instance for outbound traffic.
+ Use a small Simple AD directory.
+ Use the smallest volume size for the source WorkSpace, and then adjust the volume size as needed when creating the custom bundle.
+ Install all operating system updates (except Windows feature/version updates) and all application updates on the WorkSpace. For more information, see the [Important note](#important_note) at the start of this topic.
+ Delete cached data from the WorkSpace that shouldn't be included in the bundle (for example, browser history, cached files, and browser cookies).
+ Delete configuration settings from the WorkSpace that shouldn't be included in the bundle (for example, email profiles).
+ Switch to dynamic IP address settings using DHCP.
+ Make sure that you haven't exceeded your quota for WorkSpace images allowed in a Region. By default, you're allowed 40 WorkSpace images per Region. If you've reached this quota, new attempts to create an image will fail. To request a quota increase, use the [WorkSpaces Limits form](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=workspaces).
+ Make sure that you aren't trying to create an image from an encrypted WorkSpace. Image creation from an encrypted WorkSpace is not currently supported.
+ If you're running any antivirus software on the WorkSpace, disable it while you're attempting to create an image.
+ If you have a firewall enabled on your WorkSpace, make sure that it isn't blocking any necessary ports. For more information, see [IP address and port requirements for WorkSpaces Personal](workspaces-port-requirements.md).
+ For Windows WorkSpaces, don't configure any Group Policy Objects (GPOs) before image creation.
+ For Windows WorkSpaces, do not customize the default user profile (`C:\Users\Default`) before creating an image. We recommend making any customizations to the user profile through GPOs, and applying them after image creation. GPOs can be easily modified or rolled back, and are therefore less prone to error than customizations made to the default user profile.
+ For Linux WorkSpaces, see also the [ "Best Practices to Prepare Your Amazon WorkSpaces for Linux Images"](https://docs.aws.amazon.com/whitepapers/latest/workspaces-linux-best-practices/welcome.html) whitepaper.
+ If you want to use smart cards on Linux WorkSpaces with DCV enabled, see [Use smart cards for authentication in WorkSpaces Personal](smart-cards.md) for the customizations that you must make to your Linux WorkSpace before creating your image. 
+ Ensure you update networking dependency drivers like ENA, NVMe, and PV drivers on your WorkSpaces. You should do this at least once every 6 months. For more information, see [ Install or upgrade Elastic Network Adapter (ENA) driver ](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking-ena.html#ena-adapter-driver-install-upgrade-win), [AWS NVMe drivers for Windows instances](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/aws-nvme-drivers.html), and [Upgrade PV drivers on Windows instances](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Upgrading_PV_drivers.html).
+ Ensure you update the EC2Config, EC2Launch, and EC2Launch V2 agents to the latest versions periodically. You should do this at least once every 6 months. For more information, see [Update EC2Config and EC2Launch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/migrating-latest-types.html#upgdate-ec2config-ec2launch).

## (Optional) Step 1: Specify a custom computer name format for your image
<a name="custom_computer_name"></a>

For the WorkSpaces launched from your custom or Bring Your Own License (BYOL) images, you can specify a custom prefix for the computer name format instead of using the [default computer name format](launch-workspaces-tutorials.md). To specify a custom prefix, follow the appropriate procedure for your image type. 

### To specify a custom computer name format for custom images
<a name="custom_computer_name_custom_image"></a>

**Note**  
By default, the format of the computer name for Windows 10 WorkSpaces is `DESKTOP-XXXXX` and for Windows 11 WorkSpaces, `WORKSPA-XXXXX`.

1. On the WorkSpace that you're using to create your custom image, open `C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep\Unattend.xml` in Notepad or another text editor. For more information about working with the `Unattend.xml` file, see [ Answer files (unattend.xml)](https://docs.microsoft.com/windows-hardware/manufacture/desktop/update-windows-settings-and-scripts-create-your-own-answer-file-sxs) in the Microsoft documentation.
**Note**  
To access the C: drive from the Windows File Explorer on your WorkSpace, enter **C:\$1** in the address bar.

1. In the `<settings pass="specialize">` section, make sure that `<ComputerName>` is set to an asterisk (`*`). If `<ComputerName>` is set to any other value, your custom computer name settings will be ignored. For more information about the `<ComputerName>` setting, see [ ComputerName](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-computername) in the Microsoft documentation.

1. In the `<settings pass="specialize">` section, set `<RegisteredOrganization>` and `<RegisteredOwner>` to your preferred values.

   During Sysprep, the values that you specify for `<RegisteredOwner>` and `<RegisteredOrganization>` are concatenated together, and the first 7 characters of the combined string are used to create the computer name. For example, if you specify **Amazon.com** for `<RegisteredOrganization>` and **EC2** for `<RegisteredOwner>`. For Windows 10-based images, the computer names for the WorkSpaces using custom bundles will start with EC2AMAZ-*xxxxxxx*. For Windows 11 based images, the computer names for the WorkSpaces using custom bundles will start with WORKSPA-*xxxxxxx*.
**Note**  
The `<RegisteredOrganization>` and `<RegisteredOwner>` values in the `<settings pass="oobeSystem">` section are ignored by Sysprep.
Both <RegisteredOrganization> and <RegisteredOwner> are required values.

1. Save your changes to the `Unattend.xml` file.

### To specify a custom computer name format for BYOL images
<a name="custom_computer_name_byol"></a>

1. If you are using Windows 10, open `C:\Program Files\Amazon\Ec2ConfigService\Sysprep2008.xml` in Notepad or another text editor. If you are using Windows 11, open `C:\ProgramData\Amazon\EC2Launch\sysprep\OOBE_unattend.xml`.

1. In the `<settings pass="specialize">` section, if you're using Windows 10, uncomment `<ComputerName>*</ComputerName>`. If you're using Windows 11, you won't need to uncomment this section. Make sure that `<ComputerName>` is set to an asterisk (`*`). If `<ComputerName>` is set to any other value, your custom computer name settings will be ignored. For more information about the `<ComputerName>` setting, see [ ComputerName](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-computername) in the Microsoft documentation.

1. In the `<settings pass="specialize">` section, the `<RegisteredOrganization>` field will be present for Windows 10 and Windows 11. The `<RegisteredOwner>` tag will only be present in Windows 10 by default. If you're using Windows 11, you will need to add this tag. Set `<RegisteredOrganization>` and `<RegisteredOwner>` to your preferred values.

   During Sysprep, the values that you specify for `<RegisteredOwner>` and `<RegisteredOrganization>` are concatenated together, and the first 7 characters of the combined string are used to create the computer name. For example, if you specify **Amazon.com** for `<RegisteredOrganization>` and **EC2** for `<RegisteredOwner>`, the computer names for the WorkSpaces created from your custom bundle will start with EC2AMAZ-*xxxxxxx*.
**Note**  
The `<RegisteredOrganization>` and `<RegisteredOwner>` values in the `<settings pass="oobeSystem">` section are ignored by Sysprep.
Both <RegisteredOrganization> and <RegisteredOwner> are required values.

1. If you are using Windows 10, save your changes to the `Sysprep2008.xml` file. If you are using Windows 11, save your changes to `OOBE_unattend.xml`

## Step 2: Run the Image Checker
<a name="run_image_checker"></a>

**Note**  
The Image Checker is available only for Windows WorkSpaces. If you are creating an image from a Linux WorkSpace, skip to [Step 3: Create a custom image and custom bundle](#create_custom_image_bundle).

To confirm that your Windows WorkSpace meets the requirements for image creation, we recommend running the Image Checker. The Image Checker performs a series of tests on the WorkSpace that you want to use to create your image, and provides guidance on how to resolve any issues it finds.

**Important**  
The WorkSpace must pass all of the tests run by the Image Checker before you can use it for image creation. 
Before you run the Image Checker, verify that the latest Windows security and cumulative updates are installed on your WorkSpace.

To get the Image Checker, do one of the following:
+ [Reboot your WorkSpace](reboot-workspaces.md). The Image Checker is downloaded automatically during the reboot and installed at `C:\Program Files\Amazon\ImageChecker.exe`.
+ Download the Amazon WorkSpaces Image Checker from [https://tools.amazonworkspaces.com/ImageChecker.zip](https://tools.amazonworkspaces.com/ImageChecker.zip) and extract the `ImageChecker.exe` file. Copy this file to `C:\Program Files\Amazon\`.

**To run the Image Checker**

1. Open the `C:\Program Files\Amazon\ImageChecker.exe` file.

1. In the **Amazon WorkSpaces Image Checker** dialog box, choose **Run**.

1. After each test is completed, you can view the status of the test.

   For any test with a status of **FAILED**, choose **Info** to display information about how to resolve the issue that caused the failure. For more information about how to resolve these issues, see [Tips for resolving issues detected by the Image Checker](#image_checker_tips).

   If any tests display a status of **WARNING**, choose the **Fix All Warnings** button.

   The tool generates an output log file in the same directory where the Image Checker is located. By default, this file is located at `C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log`.
**Tip**  
Do not delete this log file. If an issue occurs, this log file might be helpful in troubleshooting.

1. If applicable, resolve any issues that cause test failures and warnings, and repeat the process of running the Image Checker until the WorkSpace passes all tests. All failures and warnings must be resolved before you can create an image.

1. After your WorkSpace passes all tests, you see a **Validation Successful** message. You are now ready to create a custom bundle.

### Tips for resolving issues detected by the Image Checker
<a name="image_checker_tips"></a>

In addition to consulting the following tips for resolving issues that are detected by the Image Checker, be sure to review the Image Checker log file at `C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log`.<a name="tips_powershell"></a>

#### PowerShell version 3.0 or later must be installed
<a name="tips_powershell"></a>

Install the latest version of [ Microsoft Windows PowerShell](https://docs.microsoft.com/powershell).

**Important**  
The PowerShell execution policy for a WorkSpace must be set to allow **RemoteSigned** scripts. To check the execution policy, run the **Get-ExecutionPolicy** PowerShell command. If the execution policy is not set to **Unrestricted** or **RemoteSigned**, run the **Set-ExecutionPolicy –ExecutionPolicy RemoteSigned** command to change the value of the execution policy. The **RemoteSigned** setting allows the execution of scripts on Amazon WorkSpaces, which is required to create an image.<a name="tips_local_drives"></a>

#### Only the C and D drives can be present
<a name="tips_local_drives"></a>

Only the `C` and `D` drives can be present on a WorkSpace that's used for imaging. Remove all other drives, including virtual drives.<a name="tips_pending_updates"></a>

#### No pending reboot due to Windows Updates can be detected
<a name="tips_pending_updates"></a>
+ The Create Image process can't run until Windows is rebooted to finish installing security or cumulative updates. Reboot Windows to apply these updates, and make sure that no other pending Windows security or cumulative updates need to be installed.
+ Image creation is not supported on Windows 10 systems that have been upgraded from one version of Windows 10 to a newer version of Windows 10 (a Windows feature/version upgrade). However, Windows cumulative or security updates are supported by the WorkSpaces image-creation process.<a name="tips_blank_sysprep"></a>

#### The Sysprep file must exist and can't be blank
<a name="tips_blank_sysprep"></a>

If there are problems with your Sysprep file, contact the [AWS Support Center](https://console.aws.amazon.com/support/home#/) to get your EC2Config or EC2Launch repaired.<a name="tips_profile_missing"></a>

#### The user profile size must be less than 10 GB
<a name="tips_profile_missing"></a>

For Windows 7 WorkSpaces, the user profile (`D:\Users\username`) must be less than 10 GB total. Remove files as needed to reduce the size of the user profile.<a name="tips_drive_c_full"></a>

#### Drive C must have enough free space
<a name="tips_drive_c_full"></a>

For Windows 7 WorkSpaces, you must have at least 12 GB of free space on drive `C`. Remove files as needed to free up space on drive `C`. For Windows 10 WorkSpaces, ignore if you receive a `FAILED` message and the disk space is above 2GB.<a name="tips_services_domain_accounts"></a>

#### No services can be running under a domain account
<a name="tips_services_domain_accounts"></a>

To run the Create Image process, no services on the WorkSpace can be running under a domain account. All services must be running under a local account.

**To run services under a local account**

1. Open `C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log` and find the list of services that are running under a domain account.

1. In the Windows search box, enter **services.msc** to open the Windows Services Manager.

1. Under **Log On As**, look for the services that are running under domain accounts. (Services running as **Local System**, **Local Service**, or **Network Service** do not interfere with image creation.)

1. Select a service that is running under a domain account, and then choose **Action**, **Properties**.

1. Open the **Log On** tab. Under **Log on as**, choose **Local System account**. 

1. Choose **OK**.<a name="tips_static_ip"></a>

#### The WorkSpace must be configured to use DHCP
<a name="tips_static_ip"></a>

You must configure all network adapters on the WorkSpace to use DHCP instead of static IP addresses.

**To set all network adapters to use DHCP**

1. In the Windows search box, enter **control panel** to open the Control Panel.

1. Choose **Network and Internet**.

1. Choose **Network and Sharing Center**.

1. Choose **Change adapter settings**, and select an adapter.

1. Choose **Change settings of this connection**.

1. On the **Networking** tab, select **Internet Protocol Version 4 (TCP/IPv4)**, and then choose **Properties**.

1. In the **Internet Protocol Version 4 (TCP/IPv4) Properties** dialog box, select **Obtain an IP address automatically**.

1. Choose **OK**.

1. Repeat this process for all network adapters on the WorkSpace.<a name="tips_enable_rds"></a>

#### Remote Desktop Services must be enabled
<a name="tips_enable_rds"></a>

The Create Image process requires Remote Desktop Services to be enabled.

**To enable Remote Desktop Services**

1. In the Windows search box, enter **services.msc** to open the Windows Services Manager.

1. In the **Name** column, find **Remote Desktop Services**.

1. Select **Remote Desktop Services**, and then choose **Action**, **Properties**.

1. On the **General** tab, for **Startup type**, choose **Manual** or **Automatic**.

1. Choose **OK**.<a name="tips_user_profile_missing"></a>

#### A user profile must exist
<a name="tips_user_profile_missing"></a>

The WorkSpace that you're using to create images must have a user profile (`D:\Users\username`). If this test fails, contact the [AWS Support Center](https://console.aws.amazon.com/support/home#/) for assistance. <a name="tips_environment_variables"></a>

#### The environment variable path must be properly configured
<a name="tips_environment_variables"></a>

The environment variable path for the local machine is missing entries for System32 and for Windows PowerShell. These entries are required for Create Image to run.

**To configure your environment variable path**

1. In the Windows search box, enter **environment variables** and then choose **Edit the system environment variables**.

1. In the **System Properties** dialog box, open the **Advanced** tab, and choose **Environment Variables**.

1. In the **Environment Variables** dialog box, under **System variables**, select the **Path** entry and then choose **Edit**.

1. Choose **New**, and add the following path:

   `C:\Windows\System32`

1. Choose **New** again, and add the following path:

   `C:\Windows\System32\WindowsPowerShell\v1.0\`

1. Choose **OK**.

1. Restart the WorkSpace.
**Tip**  
The order in which items appear in the environment variable path matters. To determine the correct order, you might want to compare the environment variable path of your WorkSpace with one from a newly created WorkSpace or a new Windows instance.<a name="tips_enable_wmi"></a>

#### Windows Modules Installer must be enabled
<a name="tips_enable_wmi"></a>

The Create Image process requires the Windows Modules Installer service to be enabled.

**To enable the Windows Modules Installer service**

1. In the Windows search box, enter **services.msc** to open the Windows Services Manager.

1. In the **Name** column, find **Windows Modules Installer**.

1. Select **Windows Modules Installer**, and then choose **Action**, **Properties**.

1. On the **General** tab, for **Startup type**, choose **Manual** or **Automatic**.

1. Choose **OK**.<a name="tips_disable_ssm"></a>

#### Amazon SSM Agent must be disabled
<a name="tips_disable_ssm"></a>

The Create Image process requires the Amazon SSM Agent service to be disabled.

**To disable the Amazon SSM Agent service**

1. In the Windows search box, enter **services.msc** to open the Windows Services Manager.

1. In the **Name** column, find **Amazon SSM Agent**.

1. Select **Amazon SSM Agent**, and then choose **Action**, **Properties**.

1. On the **General** tab, for **Startup type**, choose **Disabled**.

1. Choose **OK**.<a name="tips_enable_ssl_tls"></a>

#### SSL and TLS version 1.2 must be enabled
<a name="tips_enable_ssl_tls"></a>

To configure SSL/TLS for Windows, see [ How to Enable TLS 1.2](https://docs.microsoft.com/configmgr/core/plan-design/security/enable-tls-1-2) in the Microsoft Windows documentation. <a name="tips_remove_extra_profiles"></a>

#### Only one user profile can exist on the WorkSpace
<a name="tips_remove_extra_profiles"></a>

There can be only one WorkSpaces user profile (`D:\Users\username`) on the WorkSpace that you're using to create images. Delete any user profiles that don't belong to the intended user of the WorkSpace.

For image creation to work, your WorkSpace can have only three user profiles on it:
+ The user profile of the intended user of the WorkSpace (`D:\Users\username`)
+ The default user profile (also known as Default Profile)
+ The Administrator user profile

If there are additional user profiles, you can delete them through the advanced system properties in the Windows Control Panel.

**To delete a user profile**

1. To access the advanced system properties, do one of the following:
   + Press the **Windows key\$1Pause Break**, and then choose **Advanced system settings** in the left pane of the **Control Panel** > **System and Security** > **System** dialog box.
   + In the Windows search box, enter **control panel**. In the Control Panel, choose **System and Security**, then choose System, and then choose **Advanced system settings** in the left pane of the **Control Panel** > **System and Security** > **System** dialog box.

1. In the **System Properties** dialog box, on the **Advanced** tab, choose **Settings** under **User Profiles**.

1. If any profile is listed other than the Administrator profile, the Default Profile, and the profile of the intended WorkSpaces user, select that additional profile and choose **Delete**.

1. When asked if you want to delete the profile, choose **Yes**.

1. If necessary, repeat Steps 3 and 4 to remove any other profiles that don't belong on the WorkSpace.

1. Choose **OK** twice and close the Control Panel.

1. Restart the WorkSpace.<a name="tips_unstage_appx"></a>

#### No AppX packages can be in a staged state
<a name="tips_unstage_appx"></a>

One or more AppX packages are in a staged state. This might cause a Sysprep error during image creation.

**To remove all staged AppX packages**

1. In the Windows search box, enter **powershell**. Choose **Run as Administrator**.

1. When asked "Do you want to allow this app to make changes to your device?", choose **Yes**.

1. In the Windows PowerShell window, enter the following commands to list all staged AppX packages, and press Enter after each one.

   ```
   $workSpaceUserName = $env:username
   ```

   ```
   $allAppxPackages = Get-AppxPackage -AllUsers
   ```

   ```
   $packages = $allAppxPackages |    Where-Object { `
                                   (($_.PackageUserInformation -like "*S-1-5-18*" -and !($_.PackageUserInformation -like "*$workSpaceUserName*")) -and `
                                   ($_.PackageUserInformation -like "*Staged*" -or $_.PackageUserInformation -like "*Installed*")) -or `
                                   ((!($_.PackageUserInformation -like "*S-1-5-18*") -and $_.PackageUserInformation -like "*$workSpaceUserName*") -and `
                                   $_.PackageUserInformation -like "*Staged*")
                                   }
   ```

1. Execute the following command with elevated SYSTEM privileges to remove all staged AppX package provisioning entries, and press Enter.

   ```
   $packages | Remove-AppxPackage -ErrorAction SilentlyContinue
   ```

1. Run the Image Checker again. If this test still fails, enter the following commands to remove all AppX packages, and press Enter after each one.

   ```
   Get-AppxProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
   ```

   ```
   Get-AppxPackage -AllUsers | Remove-AppxPackage -ErrorAction SilentlyContinue
   ```<a name="tips_version_upgrade"></a>

#### Windows must not have been upgraded from a previous version
<a name="tips_version_upgrade"></a>

Image creation is not supported on Windows systems that have been upgraded from one version of Windows 10 to a newer version of Windows 10 (a Windows feature/version upgrade).

To create images, use a WorkSpace that has not undergone a Windows feature/version upgrade.<a name="tips_reset_rearm_count"></a>

#### The Windows rearm count must not be 0
<a name="tips_reset_rearm_count"></a>

The rearm feature allows you to extend the activation period for the trial version of Windows. The Create Image process requires that the rearm count be a value other than 0.

**To check the Windows rearm count**

1. On the Windows **Start** menu, choose **Windows System**, then choose **Command Prompt**.

1. In the Command Prompt window, enter the following command, and then press Enter.

   `cscript C:\Windows\System32\slmgr.vbs /dlv`

To reset the rearm count to a value other than 0, see [ Sysprep (Generalize) a Windows installation](https://docs.microsoft.com/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation) in the Microsoft Windows documentation.

#### Other troubleshooting tips
<a name="images_troubleshooting_tips"></a>

If your WorkSpace passes all of the tests run by the Image Checker, but you are still unable to create an image from the WorkSpace, check for the following issues:
+ Make sure that the WorkSpace isn't assigned to a user within a **Domain Guests** group. To check if there are any domain accounts, run the following PowerShell command.

  ```
  Get-WmiObject -Class Win32_Service | Where-Object { $_.StartName -like "*$env:USERDOMAIN*" }
  ```
+ For Windows 7 WorkSpaces only: If problems occur while the user profile is being copied during image creation, check for the following issues:
  + Long profile paths can cause image creation errors. Make sure that the paths of all folders within the user profile are less than 261 characters.
  + Make sure to grant full permissions on the profile folder to the system and all application packages.
  + If any files in the user profile are locked by a process or are in use during image creation, copying the profile might fail.
+ Some Group Policy Objects (GPOs) restrict access to the RDP certificate thumbprint when it is requested by the EC2Config service or the EC2Launch scripts during Windows instance configuration. Before you try to create an image, move the WorkSpace to a new organizational unit (OU) with blocked inheritance and no GPOs applied.
+ Make sure that the Windows Remote Management (WinRM) service is configured to start automatically. Do the following:

  1. In the Windows search box, enter **services.msc** to open the Windows Services Manager.

  1. In the **Name** column, find **Windows Remote Management (WS-Management)**. 

  1. Select **Windows Remote Management (WS-Management)**, and then choose **Action**, **Properties**.

  1. On the **General** tab, for **Startup type**, choose **Automatic**.

  1. Choose **OK**.

## Step 3: Create a custom image and custom bundle
<a name="create_custom_image_bundle"></a>

After you have validated your WorkSpace image, you can proceed with creating your custom image and custom bundle.

**To create a custom image and custom bundle**

1. If you are still connected to the WorkSpace, disconnect by choosing **Amazon WorkSpaces** and **Disconnect** in the WorkSpaces client application.

1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home).

1. In the navigation pane, choose **WorkSpaces**.

1. <a name="step_create_image"></a>Select the WorkSpace to open its details page and choose **Create image**. If the status of the WorkSpace is **Stopped**, you must start it first (choose **Actions**, **Start WorkSpaces**) before you can choose **Actions**, **Create Image**.
**Note**  
To create an image programmatically, use the CreateWorkspaceImage API action. For more information, see [ CreateWorkspaceImage](https://docs.aws.amazon.com/workspaces/latest/api/API_CreateWorkspaceImage.html) in the *Amazon WorkSpaces API Reference*.

1. A message displays, prompting you to reboot (restart) your WorkSpace before continuing. Rebooting your WorkSpace updates your Amazon WorkSpaces software to the latest version.

   Reboot your WorkSpace by closing the message and following the steps in [Reboot a WorkSpace in WorkSpaces Personal](reboot-workspaces.md). When you're done, repeat [Step 4](#step_create_image) of this procedure, but this time choose **Next** when the reboot message appears. To create an image, the status of the WorkSpace must be **Available** and its modification state must be **None**.

1. Enter an image name and a description that will help you identify the image, and then choose **Create Image**. While the image is being created, the status of the WorkSpace is **Suspended** and the WorkSpace is unavailable.
**Note**  
When entering an image description, make sure you don't use the special character "-" or you will get an error.

1. In the navigation pane, choose **Images**. The image is complete when the status of the WorkSpace changes to **Available** (this can take up to 45 minutes).

1. Select the image and choose **Actions**, **Create bundle**.
**Note**  
To create a bundle programmatically, use the **CreateWorkspaceBundle** API action. For more information, see [ CreateWorkspaceBundle](https://docs.aws.amazon.com/workspaces/latest/api/API_CreateWorkspaceBundle.html) in the *Amazon WorkSpaces API Reference*.

1. Enter a bundle name and a description, and then do the following: 
   + For **Bundle hardware type**, choose the hardware to use when launching WorkSpaces from this custom bundle.
   + For **Storage settings**, select one of the default combinations for the root volume and user volume size, or select **Custom**, and then enter values (up to 2000 GB) for **Root volume size** and **User volume size**.

     The default available size combinations for the root volume (for Microsoft Windows, the `C` drive, for Linux, /) and the user volume (for Windows, the `D` drive; for Linux, /home) are as follows: 
     + Root: 80 GB, User: 10 GB, 50 GB, or 100 GB
     + Root: 175 GB, User: 100 GB
     + Storage requirements for GPU-enabled WorkSpaces scale proportionally with instance sizing. As you select larger GPU-enabled WorkSpaces configurations, you must allocate correspondingly larger storage volumes to maintain optimal performance and accommodate increased workload demands. For the smallest instance size, begin with the following storage allocation: Root: 100 GB, User: 100 GB

     Alternatively, you can expand the root and user volumes up to 2000 GB each.
**Note**  
To ensure that your data is preserved, you cannot decrease the size of the root or user volumes after you launch a WorkSpace. Instead, make sure that you specify the minimum sizes for these volumes when launching a WorkSpace.  
You can launch a Value, Standard, Performance, Power, or PowerPro WorkSpace with a minimum of 80 GB for the root volume and 10 GB for the user volume.
You can launch a GeneralPurpose.4xlarge or GeneralPurpose.8xlarge WorkSpace with a minimum of 175GB for the root volume and 100 GB for the user volume.

1. Choose **Create bundle**.

1. To confirm that your bundle has been created, choose **Bundles** and verify that the bundle is listed.

## What's included with Windows WorkSpaces custom images
<a name="image_creation_windows"></a>

When you create an image from a Windows 7, Windows 10, or Windows 11 WorkSpace, the entire contents of the `C` drive are included.

For Windows 10 or 11 WorkSpaces, the user profile in `D:\Users\username` is not included in the custom image.

For Windows 7 WorkSpaces, the entire contents of the user profile in `D:\Users\username` are included, except for the following:
+ Contacts
+ Downloads
+ Music
+ Pictures
+ Saved games
+ Videos
+ Podcasts
+ Virtual machines
+ .virtualbox
+ Tracing
+ appdata\$1local\$1temp
+ appdata\$1roaming\$1apple computer\$1mobilesync\$1
+ appdata\$1roaming\$1apple computer\$1logs\$1
+ appdata\$1roaming\$1apple computer\$1itunes\$1iphone software updates\$1
+ appdata\$1roaming\$1macromedia\$1flash player\$1macromedia.com\$1support\$1flashplayer\$1sys\$1
+ appdata\$1roaming\$1macromedia\$1flash player\$1\$1sharedobjects\$1
+ appdata\$1roaming\$1adobe\$1flash player\$1assetcache\$1
+ appdata\$1roaming\$1microsoft\$1windows\$1recent\$1
+ appdata\$1roaming\$1microsoft\$1office\$1recent\$1
+ appdata\$1roaming\$1microsoft office\$1live meeting
+ appdata\$1roaming\$1microsoft shared\$1livemeeting shared\$1
+ appdata\$1roaming\$1mozilla\$1firefox\$1crash reports\$1
+ appdata\$1roaming\$1mcafee\$1common framework\$1
+ appdata\$1local\$1microsoft\$1feeds cache
+ appdata\$1local\$1microsoft\$1windows\$1temporary internet files\$1
+ appdata\$1local\$1microsoft\$1windows\$1history\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1domstore\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1imagestore\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1iconcache\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1domstore\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1imagestore\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1recovery\$1
+ appdata\$1local\$1mozilla\$1firefox\$1profiles\$1

## What's included with Linux WorkSpace custom images
<a name="image_creation_linux"></a>

When you create an image from an Amazon Linux WorkSpace, the entire contents of the user volume (/home) are removed. The contents of the root volume (/) are included, except the following applicable folders and keys, which are removed:
+ /tmp
+ /var/spool/mail
+ /var/tmp
+ /var/lib/dhcp
+ /var/lib/cloud
+ /var/cache
+ /var/backups
+ /etc/sudoers.d
+ /etc/udev/rules.d/70-persistent-net.rules
+ /etc/network/interfaces.d/50-cloud-init.cfg
+ /var/log/amazon/ssm
+ /var/log/pcoip-agent
+ /var/log/skylight
+ /var/lock/.skylight.domain-join.lock
+ /var/lib/skylight/domain-join-status
+ /var/lib/skylight/configuration-data
+ /var/lib/skylight/config-data.json
+ /home
+ /etc/default/grub.d/zz-hibernation.cfg
+ /etc/netplan/zz-workspaces-domain.yaml
+ /etc/netplan/yy-workspaces-base.yaml
+ /var/lib/AccountsService/users

The following keys are shredded during custom image creation:
+ /etc/ssh/ssh\$1host\$1\$1\$1key
+ /etc/ssh/ssh\$1host\$1\$1\$1key.pub
+ /var/lib/skylight/tls.\$1
+ /var/lib/skylight/private.key
+ /var/lib/skylight/public.key

# Update a custom bundle for WorkSpaces Personal
<a name="update-custom-bundle"></a>

You can update an existing custom WorkSpaces bundle by modifying a WorkSpace that is based on the bundle, creating an image from the WorkSpace, and updating the bundle with the new image. You can then launch new WorkSpaces using the updated bundle.

**Important**  
Existing WorkSpaces aren't automatically updated when you update the bundle that they're based on. To update existing WorkSpaces that are based on a bundle that you've updated, you must either rebuild the WorkSpaces or delete and recreate them.

**To update a bundle using the console**

1. Connect to a WorkSpace that is based on the bundle and make the changes that you want. For example, you can apply the latest operating system and application patches and install additional applications.

   Alternatively, you can create a new WorkSpace with the same base software package (Plus or Standard) as the image used to create the bundle, and make changes.

1. If you are still connected to the WorkSpace, disconnect by choosing **Amazon WorkSpaces** and **Disconnect** in the WorkSpaces client application.

1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home).

1. In the navigation pane, choose **WorkSpaces**.

1. Select the WorkSpace and choose **Actions**, **Create Image**. If the status of the WorkSpace is `STOPPED`, you must start it first (choose **Actions**, **Start WorkSpaces**) before you can choose **Actions**, **Create Image**.

1. Enter an image name and a description, and then choose **Create Image**. The WorkSpace is unavailable while the image is being created. For detailed information about the image creation process, see [Create a custom WorkSpaces image and bundle for WorkSpaces Personal](create-custom-bundle.md).

1. In the navigation pane, choose **Bundles**.

1. Choose the bundle to open its details page, and then under **Source image**, choose **Edit**.

1. On the **Update source image** page, select the image that you created and choose **Update bundle**.

1. As needed, update any existing WorkSpaces that are based on the bundle by rebuilding the WorkSpaces or deleting and recreating them. For more information, see [Rebuild a WorkSpace in WorkSpaces Personal](rebuild-workspace.md).

**To update a bundle programmatically**  
To update a bundle programmatically, use the **UpdateWorkspaceBundle** API action. For more information, see [ UpdateWorkspaceBundle](https://docs.aws.amazon.com/workspaces/latest/api/API_UpdateWorkspaceBundle.html) in the *Amazon WorkSpaces API Reference*.

# Copy a custom image in WorkSpaces Personal
<a name="copy-custom-image"></a>

You can copy a custom WorkSpaces image within or across AWS Regions. Copying an image results in the creation of an identical image with its own unique identifier.

You can copy a Bring Your Own License (BYOL) image to another Region as long as the destination Region is enabled for BYOL. Ensure that BYOL is enabled for all accounts and Regions involved.

**Note**  
In the China (Ningxia) Region, you can copy images only within the same Region.  
In the AWS GovCloud (US) Regions, to copy images to and from other AWS Regions, contact AWS Support.  
In Opt-in Regions, to copy images to other Regions, contact AWS Support. For more information about Opt-in Regions, see [ Available Regions](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions).

You can also copy an image that has been shared with you by another AWS account. For more information about shared images, see [Share or unshare a custom image in WorkSpaces Personal](share-custom-image.md).

There are no additional charges for copying an image within or across Regions. However, the quota for the number of images in the destination Region applies. For more information about Amazon WorkSpaces quotas, see [Amazon WorkSpaces quotas](workspaces-limits.md).

**IAM Permissions to copy an image**  
If you use an IAM user to copy an image, the user must have permissions for `workspaces:DescribeWorkspaceImages` and `workspaces:CopyWorkspaceImage`.

The following example policy allows the user to copy the specified image to the specified account in the specified Region.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "workspaces:DescribeWorkspaceImages",
        "workspaces:CopyWorkspaceImage"
      ],
      "Resource": [
          "arn:aws:workspaces:us-east-1:123456789012:workspaceimage/wsi-a1bcd2efg"
      ]
    }
  ]
}
```

------

**Important**  
If you are creating an IAM policy for copying shared images for accounts that don't own the images, you cannot specify an account ID in the ARN. Instead, you must use `*` for the account ID, as shown in the following example policy.  

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "workspaces:DescribeWorkspaceImages",
        "workspaces:CopyWorkspaceImage"
      ],
      "Resource": [
          "arn:aws:workspaces:us-east-1:*:workspaceimage/wsi-a1bcd2efg"
      ]
    }
  ]
}
```
You can specify an account ID in the ARN only when that account owns the images to be copied.

For more information about working with IAM, see [Identity and access management for WorkSpaces](workspaces-access-control.md).

**Bulk copy images**  
You can copy images one by one using the console. To bulk copy images, use the **CopyWorkspaceImage** API operation or the **copy-workspace-image** command in the AWS Command Line Interface (AWS CLI). For more information, see [ CopyWorkspaceImage](https://docs.aws.amazon.com/workspaces/latest/api/API_CopyWorkspaceImage.html) in the *Amazon WorkSpaces API Reference* or see [ copy-workspace-image](https://docs.aws.amazon.com/cli/latest/reference/workspaces/copy-workspace-image.html) in the *AWS CLI Command Reference*.

**Important**  
Before copying a shared image, be sure to verify that it has been shared from the correct AWS account. To determine if an image has been shared and to see the AWS account ID that owns an image, use the [DescribeWorkSpaceImages](https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImages.html) and [DescribeWorkspaceImagePermissions](https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImagePermissions.html) API operations or the [describe-workspace-images](https://docs.aws.amazon.com/cli/latest/reference/workspaces/describe-workspace-images.html) and [describe-workspace-image-permissions](https://docs.aws.amazon.com/cli/latest/reference/workspaces/describe-workspace-image-permissions.html) commands in the AWS CLI.

**To copy an image using the console**

1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home).

1. In the navigation pane, choose **Images**.

1. Select the image and choose **Actions**, **Copy image**.

1. For **Select destination**, select the AWS Region that you want to copy the image to.

1. For **Name of the copy**, enter the new name for the copied image, and for **Description**, enter a description for the copied image.

1. (Optional) Under **Tags**, enter tags for the copied image. For more information, see [Tag resources in WorkSpaces Personal](tag-workspaces-resources.md).

1. Choose **Copy image**.

# Share or unshare a custom image in WorkSpaces Personal
<a name="share-custom-image"></a>

You can share custom WorkSpaces images across AWS accounts within the same AWS Region. After an image has been shared, the recipient account can copy the image to other AWS Regions as needed. For more information about copying images, see [Copy a custom image in WorkSpaces Personal](copy-custom-image.md).

**Note**  
In the China (Ningxia) Region, you can copy images only within the same Region.  
In the AWS GovCloud (US) Regions, to copy images to and from other AWS Regions, contact AWS Support.

There are no additional charges for sharing an image. However, the quota for the number of images in the AWS Region applies. A shared image doesn't count against the recipient account's quota until the recipient copies the image. For more information about Amazon WorkSpaces quotas, see [Amazon WorkSpaces quotas](workspaces-limits.md).

To delete a shared image, you must unshare the image before you can delete it.

**Share Bring Your Own License images**  
You can share Bring Your Own License (BYOL) images only with AWS accounts that are enabled for BYOL. The AWS account that you want to share BYOL images with must also be part of your organization (under the same payer account).

**Note**  
Sharing BYOL images across AWS accounts isn't supported at this time in the AWS GovCloud (US-West) and AWS GovCloud (US-East) Regions. To share BYOL images across accounts in the AWS GovCloud (US-West) and AWS GovCloud (US-East) Regions, contact AWS Support. 

**Images shared with you**  
If images are shared with you, you can copy them. You can then use your copies of the shared images to create bundles for launching new WorkSpaces.

**Important**  
Before copying a shared image, be sure to verify that it has been shared from the correct AWS account. To programmatically determine if an image has been shared, use the [DescribeWorkSpaceImages](https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImages.html) and [DescribeWorkspaceImagePermissions](https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImagePermissions.html) API operations or the [describe-workspace-images](https://docs.aws.amazon.com/cli/latest/reference/workspaces/describe-workspace-images.html) and [describe-workspace-image-permissions](https://docs.aws.amazon.com/cli/latest/reference/workspaces/describe-workspace-image-permissions.html) commands in the AWS command line interface (CLI). 

The creation date shown for an image that has been shared with you is the date that the image was originally created, not the date that the image was shared with you.

If an image has been shared with you, you can't further share that image with other accounts.

**To share an image**

1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home).

1. In the navigation pane, choose **Images**.

1. Choose the image to open its details page.

1. On the image detail page, in the **Shared accounts** section, choose **Add account**.

1. On the **Add account** page, under **Add account to share with**, enter the account ID of the account that you want to share the image with.
**Important**  
Before sharing the image, confirm that you are sharing to the correct AWS account ID.

1. Choose **Share image**.
**Note**  
To use the shared image, the recipient account must first [ copy the image](copy-custom-image.md). The recipient account can then use its copy of the shared image to create bundles for launching new WorkSpaces.

**To stop sharing an image**

1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home).

1. In the navigation pane, choose **Images**.

1. Choose the image to open its details page.

1. On the image detail page, in the **Shared accounts** section, select the AWS account that you want to stop sharing with, and then choose **Unshare**.

1. When prompted to confirm unsharing the image, choose **Unshare**.
**Note**  
If you want to delete the image after unsharing it, you must first unshare it from all of the accounts that it has been shared with.

After you stop sharing an image, the recipient account can no longer make copies of the image. However, any copies of shared images that are already in the recipient account remain in that account, and new WorkSpaces can be launched from those copies.

**To share or unshare images programmatically**  
To share or unshare images programmatically, use the [UpdateWorkspaceImagePermission](https://docs.aws.amazon.com/workspaces/latest/api/API_UpdateWorkspaceImagePermission.html) API operation or the [update-workspace-image-permission](https://docs.aws.amazon.com/cli/latest/reference/workspaces/update-workspace-image-permission.html) AWS Command Line Interface (AWS CLI) command. To determine if an image has been shared, use the [DescribeWorkspaceImagePermissions](https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImagePermissions.html) API operation or the [describe-workspace-image-permissions](https://docs.aws.amazon.com/cli/latest/reference/workspaces/describe-workspace-image-permissions.html) CLI command. 

# Delete a custom bundle or image in WorkSpaces Personal
<a name="delete_bundle"></a>

You can delete unused custom bundles or custom images as needed.

## Delete a bundle
<a name="delete_bundle_console"></a>

To delete a bundle, you must first delete all of the WorkSpaces that are based on the bundle.

**To delete a bundle using the console**

1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home).

1. In the navigation pane, choose **Bundles**.

1. Select the bundle and choose **Delete**.

1. When prompted for confirmation, choose **Delete**.

**To delete a bundle programmatically**  
To delete a bundle programmatically, use the **DeleteWorkspaceBundle** API action. For more information, see [ DeleteWorkspaceBundle](https://docs.aws.amazon.com/workspaces/latest/api/API_DeleteWorkspaceBundle.html) in the *Amazon WorkSpaces API Reference*.

**Note**  
Ensure you wait at least 2 hours after deleting a bundle before creating a new bundle with the same name.

## Delete an image
<a name="delete_images"></a>

After you delete a custom bundle, you can delete the image that you used to create or update the bundle.

To delete an image, you must first either delete any bundles that are associated with the image, or you must update those bundles to use another source image. You must also unshare the image if it is shared with other accounts. The image also can't be in the **Pending** or **Validating** state.

**To delete an image using the console**

1. Open the WorkSpaces console at [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home).

1. In the navigation pane, choose **Images**.

1. Select the image and choose **Delete**.

1. When prompted for confirmation, choose **Delete**.

**To delete an image programmatically**  
To delete an image programmatically, use the **DeleteWorkspaceImage** API action. For more information, see [ DeleteWorkspaceImage](https://docs.aws.amazon.com/workspaces/latest/api/API_DeleteWorkspaceImage.html) in the *Amazon WorkSpaces API Reference*.