AWS Amazon Redshift Snapshot Copy Grant
This page shows how to write Terraform and CloudFormation for Amazon Redshift Snapshot Copy Grant and write them securely.
aws_redshift_snapshot_copy_grant (Terraform)
The Snapshot Copy Grant in Amazon Redshift can be configured in Terraform with the resource name aws_redshift_snapshot_copy_grant
. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
An example could not be found in GitHub.
Parameters
-
arn
optional computed - string -
id
optional computed - string -
kms_key_id
optional computed - string -
snapshot_copy_grant_name
required - string -
tags
optional - map from string to string
Explanation in Terraform Registry
Creates a snapshot copy grant that allows AWS Redshift to encrypt copied snapshots with a customer master key from AWS KMS in a destination region. Note that the grant must exist in the destination region, and not in the region of the cluster.
AWS::Redshift::Cluster (CloudFormation)
The Cluster in Redshift can be configured in CloudFormation with the resource name AWS::Redshift::Cluster
. The following sections describe 10 examples of how to use the resource and its parameters.
Example Usage from GitHub
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 5
AvailabilityZone: us-east-1a
ClusterIdentifier: my-redshift-cluster
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 5
AvailabilityZone: us-east-1a
ClusterIdentifier: meu-cluster-redshift
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 5
AvailabilityZone: us-east-1a
ClusterIdentifier: my-redshift-cluster
Type: "AWS::Redshift::Cluster"
Properties:
DBName: "mydb"
MasterUsername: "master"
MasterUserPassword:
Ref: "MasterUserPassword"
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 30
AvailabilityZone: us-east-1a
ClusterIdentifier: cluster-belisco
"resourceType": "AWS::Redshift::Cluster",
"resourceId": "cluster-with-kms",
"resourceName": "cluster-with-kms",
"awsRegion": "us-west-2",
"availabilityZone": "us-west-2c",
"resourceCreationTime": "2016-10-13T22:26:39.723Z",
"resourceType": "AWS::Redshift::Cluster",
"resourceId": "cluster-with-kms",
"resourceName": "cluster-with-kms",
"awsRegion": "us-west-2",
"availabilityZone": "us-west-2c",
"resourceCreationTime": "2016-10-13T22:26:39.723Z",
"Type": "AWS::Redshift::ClusterSecurityGroup",
"Properties": {
"Description" : "Security group to determine where connections to the Amazon Redshift cluster can come from"
}
},
"redshiftSecurityGroupIngress" : {
"Type": "AWS::Redshift::ClusterSecurityGroup",
"Properties": {
"Description" : "Security group to determine where connections to the Amazon Redshift cluster can come from"
}
},
"redshiftSecurityGroupIngress" : {
"resourceType" : "AWS::Redshift::Cluster",
"properties" : [ {
"propertyName" : "AllowVersionUpgrade",
"propertyType" : "Boolean",
"required" : false
}, {
Parameters
-
ClusterIdentifier
optional - String -
MasterUsername
required - String -
MasterUserPassword
required - String -
NodeType
required - String -
AllowVersionUpgrade
optional - Boolean -
AutomatedSnapshotRetentionPeriod
optional - Integer -
AvailabilityZone
optional - String -
ClusterParameterGroupName
optional - String -
ClusterType
required - String -
ClusterVersion
optional - String -
ClusterSubnetGroupName
optional - String -
DBName
required - String -
ElasticIp
optional - String -
Encrypted
optional - Boolean -
HsmClientCertificateIdentifier
optional - String -
HsmConfigurationIdentifier
optional - String -
KmsKeyId
optional - String -
NumberOfNodes
optional - Integer -
Port
optional - Integer -
PreferredMaintenanceWindow
optional - String -
PubliclyAccessible
optional - Boolean -
ClusterSecurityGroups
optional - List -
IamRoles
optional - List -
Tags
optional - List of Tag -
VpcSecurityGroupIds
optional - List -
SnapshotClusterIdentifier
optional - String -
SnapshotIdentifier
optional - String -
OwnerAccount
optional - String -
LoggingProperties
optional - LoggingProperties -
Endpoint
optional - Endpoint -
DestinationRegion
optional - String -
SnapshotCopyRetentionPeriod
optional - Integer -
SnapshotCopyGrantName
optional - String -
ManualSnapshotRetentionPeriod
optional - Integer -
SnapshotCopyManual
optional - Boolean -
AvailabilityZoneRelocation
optional - Boolean -
AvailabilityZoneRelocationStatus
optional - String -
AquaConfigurationStatus
optional - String -
Classic
optional - Boolean -
EnhancedVpcRouting
optional - Boolean -
MaintenanceTrackName
optional - String -
DeferMaintenance
optional - Boolean -
DeferMaintenanceStartTime
optional - String -
DeferMaintenanceEndTime
optional - String -
DeferMaintenanceDuration
optional - Integer -
RevisionTarget
optional - String -
ResourceAction
optional - String -
RotateEncryptionKey
optional - Boolean
Explanation in CloudFormation Registry
Specifies a cluster. A cluster is a fully managed data warehouse that consists of a set of compute nodes.
To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.
Frequently asked questions
What is AWS Amazon Redshift Snapshot Copy Grant?
AWS Amazon Redshift Snapshot Copy Grant is a resource for Amazon Redshift of Amazon Web Service. Settings can be wrote in Terraform and CloudFormation.
Where can I find the example code for the AWS Amazon Redshift Snapshot Copy Grant?
For CloudFormation, the gabrielosluz/engenharia-de-dados, andresionek91/bootcamp_eng_dados_turma2 and msantosfelipe/eng-dados source code examples are useful. See the CloudFormation Example section for further details.