Skip to content

Instantly share code, notes, and snippets.

@svenhornberg
Created January 22, 2014 15:16
Show Gist options
  • Save svenhornberg/8560467 to your computer and use it in GitHub Desktop.
Save svenhornberg/8560467 to your computer and use it in GitHub Desktop.
Java example for createing a rds instance with ec2 VPC group
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2Client;
import com.amazonaws.services.ec2.model.DescribeSecurityGroupsResult;
import com.amazonaws.services.ec2.model.SecurityGroup;
import com.amazonaws.services.rds.AmazonRDS;
import com.amazonaws.services.rds.AmazonRDSClient;
import com.amazonaws.services.rds.model.CreateDBInstanceRequest;
import java.util.ArrayList;
import java.util.List;
public class Deploy {
private static String awsAccessKey = "";
private static String awsSecretKey = "";
public static void main(String args[]) {
System.out.println("Start Deploy");
try {
Region region = Region.getRegion(Regions.EU_WEST_1);
AWSCredentials awsCredentials = new BasicAWSCredentials(awsAccessKey, awsSecretKey);
AmazonRDS amazonRDSClient = new AmazonRDSClient(awsCredentials);
amazonRDSClient.setRegion(region);
AmazonEC2 amazonEC2 = new AmazonEC2Client(awsCredentials);
amazonEC2.setRegion(region);
DescribeSecurityGroupsResult describeSecurityGroupsResult = amazonEC2.describeSecurityGroups();
List<SecurityGroup> securityGroups =describeSecurityGroupsResult.getSecurityGroups();
SecurityGroup web106ec2 = null;
for(SecurityGroup securityGroup : securityGroups){
if(securityGroup.getGroupName().equals("ec2groupname")){
web106ec2 = securityGroup;
}
}
if(web106ec2 != null) {
List<String> ids = new ArrayList<String>();
ids.add(web106ec2.getGroupId());
CreateDBInstanceRequest createDBInstanceRequest = new CreateDBInstanceRequest();
createDBInstanceRequest
.withDBName("database")
.withAllocatedStorage(5)
.withDBInstanceClass("db.t1.micro")
.withEngine("mysql")
.withMasterUsername("username")
.withMasterUserPassword("password")
.withDBInstanceIdentifier("database")
.withMultiAZ(false)
.withVpcSecurityGroupIds(ids);
amazonRDSClient.createDBInstance(createDBInstanceRequest);
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment