User guide

By default, when a new cluster security group is created, it has no ingress rules.This example modifies
a new cluster security group by adding two ingress rules. One ingress rule is added by specifying a
CIDR/IP range; the other is added by specifying an owner ID and Amazon EC2 security group combination.
For step-by-step instructions to run the following example, see Running Java Examples for Amazon
Redshift Using Eclipse (p. 130).You need to update the code and provide a cluster identifier and AWS
account number.
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.redshift.AmazonRedshiftClient;
import com.amazonaws.services.redshift.model.*;
public class CreateAndModifyClusterSecurityGroup {
public static AmazonRedshiftClient client;
public static String clusterSecurityGroupName = "securitygroup1";
public static String clusterIdentifier = "***provide cluster identifier***";
public static String ownerID = "***provide account id****";
public static void main(String[] args) throws IOException {
AWSCredentials credentials = new PropertiesCredentials(
CreateAndModifyClusterSecurityGroup.class
.getResourceAsStream("AwsCredentials.properties"));
client = new AmazonRedshiftClient(credentials);
try {
createClusterSecurityGroup();
describeClusterSecurityGroups();
addIngressRules();
associateSecurityGroupWithCluster();
} catch (Exception e) {
System.err.println("Operation failed: " + e.getMessage());
}
}
private static void createClusterSecurityGroup() {
CreateClusterSecurityGroupRequest request = new CreateClusterSecurity
GroupRequest()
.withDescription("my cluster security group")
.withClusterSecurityGroupName(clusterSecurityGroupName);
client.createClusterSecurityGroup(request);
System.out.format("Created cluster security group: '%s'\n", clusterSe
curityGroupName);
}
private static void addIngressRules() {
AuthorizeClusterSecurityGroupIngressRequest request = new Authorize
ClusterSecurityGroupIngressRequest()
API Version 2012-12-01
53
Amazon Redshift Management Guide
Managing Cluster Security Groups Using the AWS SDK
for Java