Instance ​
The Instance resource lets you manage AWS Lightsail Instances and their configuration settings.
Minimal Example ​
Create a basic Lightsail Instance with required properties and one optional property.
ts
import AWS from "alchemy/aws/control";
const basicInstance = await AWS.Lightsail.Instance("myBasicInstance", {
InstanceName: "MyFirstInstance",
BundleId: "micro_1_0",
BlueprintId: "os_debian_10",
KeyPairName: "myKeyPair"
});
Advanced Configuration ​
Configure an instance with additional properties like networking and user data for custom initial setup.
ts
const advancedInstance = await AWS.Lightsail.Instance("myAdvancedInstance", {
InstanceName: "MyAdvancedInstance",
BundleId: "nano_1_0",
BlueprintId: "os_ubuntu_20_04",
KeyPairName: "myKeyPair",
UserData: "#!/bin/bash\nyum update -y\n",
Networking: {
Ports: [{
fromPort: 22,
toPort: 22,
protocol: "tcp",
cidr: "0.0.0.0/0"
}]
}
});
Instance with Tags and Add-Ons ​
Create an instance with tags for better management and enable add-ons for additional features.
ts
const taggedInstance = await AWS.Lightsail.Instance("myTaggedInstance", {
InstanceName: "MyTaggedInstance",
BundleId: "small_1_0",
BlueprintId: "os_windows_2019",
KeyPairName: "myKeyPair",
Tags: [{
Key: "Environment",
Value: "Development"
}, {
Key: "Project",
Value: "WebApp"
}],
AddOns: [{
Key: "Monitoring",
Value: "Enabled"
}]
});
Instance with Specific Availability Zone ​
Deploy an instance in a specific availability zone for regional redundancy.
ts
const zonedInstance = await AWS.Lightsail.Instance("myZonedInstance", {
InstanceName: "MyZonedInstance",
BundleId: "medium_1_0",
BlueprintId: "os_centos_8",
AvailabilityZone: "us-east-1a",
KeyPairName: "myKeyPair"
});