Deploy SQL Server to a new or existing VPC (Amazon CLI)
You can use the Amazon Launch Wizard CreateDeployment API operation to deploy SQL Server. To create a deployment, you must provide values for various specifications. Specifications are a collection of settings that define how your deployment should be created and configured. A workload will have one or more deployment patterns with differing required and optional specifications.
Note
If you want to use the Clone deployment action on your deployment, you need to create your deployment in the Launch Wizard console.
Prerequisites for deploying SQL Server with the Amazon CLI
Before deploying SQL Server with the Amazon CLI, ensure you have met the following prerequisites:
-
Install and configure the Amazon CLI. For more information, see Install or update to the latest version of the Amazon CLI.
-
Complete the steps in the previous section titled Set up. Some deployment patterns have requirements that must be met for a deployment to be successful.
Create a SQL Server deployment with the Amazon CLI
You can create a deployment for your SQL Server application using the
CreateDeployment
Launch Wizard API operation.
To create a deployment for SQL Server using the Amazon CLI
-
List the available workload names using the ListWorkloads Launch Wizard API operation.
The following example shows listing the available workloads:
aws launchwizard list-workloads --region
us-east-1
{ "workloads": [ { "displayName": "Remote Desktop Gateway", "workloadName": "RDGW" }, { "displayName": "MS SQL Server", "workloadName": "SQL" }, { "displayName": "SAP", "workloadName": "SAP" }, { "displayName": "Microsoft Active Directory", "workloadName": "MicrosoftActiveDirectory" } ... ] }
-
Specify the desired workload name with the ListWorkloadDeploymentPatterns operation to describe the supported values for the deployment pattern names.
The following example lists the available workload patterns for a given workload:
aws launch-wizard list-workload-deployment-patterns --workload-name
SQL
--regionus-east-1
{ "workloadDeploymentPatterns": [ { "deploymentPatternName": "SQLHAAlwaysOn", "description": "Example description.", "displayName": "ExampleDisplayName", "status": "ACTIVE", "workloadName": "SQL", "workloadVersionName": "2024-05-03-00-00-00" }, ... ] }
-
Use the workload and deployment pattern names you discovered with the GetWorkloadDeploymentPattern operation to list the specification details.
The following example lists the workload specifications of a given workload and deployment pattern:
aws launchwizard get-workload-deployment-pattern --workload-name
SQL
--deployment-pattern-nameSQLHAAlwaysOn
--regionus-east-1
{ "workloadDeploymentPattern": { "deploymentPatternName": "SQLHAAlwaysOn", "description": "Example description.", "displayName": "ExampleDisplayName", "specifications": [ { "description": "Enter an SNS topic for AWS Launch Wizard to send notifications and alerts.", "name": "AWS:LaunchWizard:TopicArn", "required": "No" }, { "description": "When a deployment fails, your provisioned resources will be deleted/rolled back by default. If deactivated, the provisioned resources will be deleted when you delete your deployment from the Launch Wizard console.", "name": "AWS:LaunchWizard:DisableRollbackFlag", "required": "No" }, { "allowedValues": [ "true", "false" ], "description": "Cloud Watch Application Insights monitoring", "name": "SetupAppInsightsMonitoring", "required": "Yes" }, ... ] } }
-
With the workload specifications retrieved, you must provide values for any specification
name
with arequired
value ofYes
. You can also provide any optional specifications you require for your deployment. We recommend that you pass inputs to thespecifications
parameter for your deployment as a file for easier usage.Your JSON file's format should resemble the following:
{ "
ExampleName1
": "ExampleValue1
", "ExampleName2
": "ExampleValue2
", "ExampleName3
": "ExampleValue3
" } -
With the specifications file created, you can create a deployment for your chosen workload and deployment pattern.
The following example creates a deployment with specifications defined in a file:
aws launch-wizard create-deployment --workload-name
SQL
--deployment-pattern-nameSQLHAAlwaysOn
--nameExampleDeploymentName
--regionus-east-1
--specifications file://specifications.json