big-nail-28315
10/07/2019, 3:08 PMbroad-dog-22463
10/07/2019, 6:33 PMbig-nail-28315
10/07/2019, 7:03 PMbroad-dog-22463
10/07/2019, 8:16 PMimport {Config} from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new Config();
const secondaryRegion = config.require("secondaryRegion");
const globalCluster = new aws.rds.GlobalCluster("global-cluster", {
globalClusterIdentifier: "my-test-global-cluster",
engine: "aurora",
engineVersion: "5.6.10a",
});
let instanceEndpoints = new Map();
const cluster = new aws.rds.Cluster("primary-cluster", {
globalClusterIdentifier: globalCluster.globalClusterIdentifier,
engineMode: "global",
engine: "aurora",
engineVersion: "5.6.10a",
masterUsername: "MyMasterUser",
masterPassword: "MyPassword1234!",
skipFinalSnapshot: true,
});
const clusterInstance = new aws.rds.ClusterInstance("primary-cluster-instance", {
engine: "aurora",
instanceClass: aws.rds.InstanceTypes.R5_Large,
clusterIdentifier: cluster.clusterIdentifier,
});
// Get the primary cluster endpoint - this is used for writes
instanceEndpoints.set("primary", clusterInstance.endpoint);
const provider = new aws.Provider(`${secondaryRegion}-provider`, {
region: secondaryRegion as aws.Region,
});
const secondaryCluster = new aws.rds.Cluster(`${secondaryRegion}-cluster`, {
globalClusterIdentifier: globalCluster.globalClusterIdentifier,
engineMode: "global",
engine: "aurora",
skipFinalSnapshot: true,
}, {
provider: provider,
dependsOn: [provider, cluster],
});
const secondaryClusterInstance = new aws.rds.ClusterInstance(`${secondaryRegion}-cluster-instance`, {
engine: "aurora",
instanceClass: aws.rds.InstanceTypes.R5_Large,
clusterIdentifier: secondaryCluster.clusterIdentifier,
}, {
provider: provider,
dependsOn: [secondaryCluster],
});
// Get the secondary cluster endpoint
instanceEndpoints.set(`secondary-${secondaryRegion}`, secondaryClusterInstance.endpoint);
export const endpointUrls = instanceEndpoints.values();
big-nail-28315
10/08/2019, 12:52 PMbroad-dog-22463
10/08/2019, 12:53 PMacceptable-army-69872
10/08/2019, 1:24 PM