Skip to content

DomainConfiguration ​

The DomainConfiguration resource allows you to manage AWS IoT DomainConfigurations, enabling you to set up custom domains for your AWS IoT endpoints.

Minimal Example ​

Create a basic DomainConfiguration with required properties and one common optional property:

ts
import AWS from "alchemy/aws/control";

const domainConfig = await AWS.IoT.DomainConfiguration("myDomainConfig", {
  DomainConfigurationName: "myIoTDomains",
  DomainName: "iot.mydomain.com",
  ApplicationProtocol: "http",
  Tags: [{
    Key: "Environment",
    Value: "Production"
  }]
});

Advanced Configuration ​

Configure a DomainConfiguration with additional security settings, including custom certificates:

ts
const secureDomainConfig = await AWS.IoT.DomainConfiguration("secureDomainConfig", {
  DomainConfigurationName: "secureIoTDomains",
  DomainName: "secure.iot.mydomain.com",
  ApplicationProtocol: "mqtts",
  ClientCertificateConfig: {
    // Example of client certificate configuration
    CertificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcdef12-3456-7890-abcd-ef1234567890",
    Status: "ACTIVE"
  },
  ServerCertificateConfig: {
    // Example of server certificate configuration
    ServerCertificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcdef12-3456-7890-abcd-ef1234567890",
    Status: "ACTIVE"
  }
});

Custom TLS Configuration ​

Set up a DomainConfiguration with specific TLS settings to enhance security:

ts
const tlsDomainConfig = await AWS.IoT.DomainConfiguration("tlsDomainConfig", {
  DomainConfigurationName: "tlsIoTDomains",
  DomainName: "tls.iot.mydomain.com",
  TlsConfig: {
    InsecureSkipVerification: false,
    ServerCertificateArns: [
      "arn:aws:iot:us-west-2:123456789012:cert/abcdef12-3456-7890-abcd-ef1234567890"
    ]
  },
  ValidationCertificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcdef12-3456-7890-abcd-ef1234567890"
});

Using Tags for Organization ​

Create a DomainConfiguration with multiple tags for better resource organization:

ts
const taggedDomainConfig = await AWS.IoT.DomainConfiguration("taggedDomainConfig", {
  DomainConfigurationName: "taggedIoTDomains",
  DomainName: "tagged.iot.mydomain.com",
  Tags: [
    { Key: "Project", Value: "IoTProject" },
    { Key: "Owner", Value: "DevTeam" },
    { Key: "Department", Value: "Engineering" }
  ]
});