Skip to content
GitHubXDiscord

LandingZone

The LandingZone resource allows you to create, manage, and configure AWS ControlTower LandingZones for your AWS accounts, providing a secure and compliant environment for governance.

Create a basic LandingZone with required properties and a few common optional tags.

import AWS from "alchemy/aws/control";
const landingZone = await AWS.ControlTower.LandingZone("myLandingZone", {
Version: "1.0.0",
Manifest: {
accounts: [],
organizationalUnits: []
},
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Project", Value: "CloudMigration" }
]
});

Configure a LandingZone with an adoption flag to allow existing resources to be adopted.

const advancedLandingZone = await AWS.ControlTower.LandingZone("advancedLandingZone", {
Version: "1.0.0",
Manifest: {
accounts: [
{ accountId: "123456789012", accountName: "DevAccount" }
],
organizationalUnits: [
{ unitName: "DevOU", accounts: ["123456789012"] }
]
},
Tags: [
{ Key: "Team", Value: "DevOps" }
],
adopt: true
});

Create a LandingZone with a detailed manifest structure including multiple accounts and organizational units.

const detailedLandingZone = await AWS.ControlTower.LandingZone("detailedLandingZone", {
Version: "1.0.0",
Manifest: {
accounts: [
{ accountId: "111111111111", accountName: "ProductionAccount" },
{ accountId: "222222222222", accountName: "StagingAccount" }
],
organizationalUnits: [
{
unitName: "SecurityOU",
accounts: ["111111111111"]
},
{
unitName: "DevelopmentOU",
accounts: ["222222222222"]
}
]
},
Tags: [
{ Key: "Owner", Value: "CloudOps" }
]
});

Create a LandingZone while specifying a version for better resource management.

const versionedLandingZone = await AWS.ControlTower.LandingZone("versionedLandingZone", {
Version: "2.0.0",
Manifest: {
accounts: [],
organizationalUnits: []
},
Tags: [
{ Key: "Version", Value: "2.0" },
{ Key: "Status", Value: "Active" }
]
});