List of usage examples for com.amazonaws.services.rds.model CreateDBSecurityGroupRequest CreateDBSecurityGroupRequest
public CreateDBSecurityGroupRequest()
From source file:RDSManager.java
public void createRDSSecurityGroup() { try {/*from w w w . j a v a2 s . c om*/ System.out.println("Creating RDS Security Group"); CreateDBSecurityGroupRequest d = new CreateDBSecurityGroupRequest(); d.setDBSecurityGroupName(SECURITY_GROUP_NAME); d.setDBSecurityGroupDescription(SECURITY_GROUP_DESC); rds.createDBSecurityGroup(d); AuthorizeDBSecurityGroupIngressRequest auth = new AuthorizeDBSecurityGroupIngressRequest(); auth.setDBSecurityGroupName(SECURITY_GROUP_NAME); auth.setCIDRIP("0.0.0.0/0"); //auth.setEC2SecurityGroupName(groupName); //auth.setEC2SecurityGroupOwnerId(OwnerId); DBSecurityGroup dbsecuritygroup = rds.authorizeDBSecurityGroupIngress(auth); } catch (Exception e) { e.printStackTrace(); System.exit(0); } }
From source file:com.amazon.aws.myyoutube.videoUtil.GetRDSInstance.java
License:Open Source License
public static void main(String[] args) throws Exception { credentials = new PropertiesCredentials( GetRDSInstance.class.getResourceAsStream("AwsCredentials.properties")); try {/*from ww w . ja v a2 s. co m*/ rds = new AmazonRDSClient(credentials); /********************************************* * RDS DB *********************************************/ System.out.println("Creating a database instance"); CreateDBSecurityGroupRequest d = new CreateDBSecurityGroupRequest() .withDBSecurityGroupName("javaSecurityGroup1") .withDBSecurityGroupDescription("DB security group1"); rds.createDBSecurityGroup(d); AuthorizeDBSecurityGroupIngressRequest auth = new AuthorizeDBSecurityGroupIngressRequest() .withDBSecurityGroupName("javaSecurityGroup1") // .withEC2SecurityGroupName("javaSecurityGroup") .withCIDRIP("0.0.0.0/0"); // .withCIDRIP("216.165.95.69/32"); DBSecurityGroup dbsecuritygroup = rds.authorizeDBSecurityGroupIngress(auth); String[] dBSecurityGroups = { dbsecuritygroup.getDBSecurityGroupName() }; CreateDBInstanceRequest createDBInstanceRequest = new CreateDBInstanceRequest().withEngine("MySQL") .withLicenseModel("general-public-license").withEngineVersion("5.6.13") .withDBInstanceClass("db.t1.micro").withMultiAZ(false).withAutoMinorVersionUpgrade(true) .withAllocatedStorage(5).withDBInstanceIdentifier("mydbinstance1").withMasterUsername("awsuser") .withMasterUserPassword("mypassword").withDBName("dbname1").withPort(3306) .withAvailabilityZone(null).withDBSecurityGroups(dBSecurityGroups); ArrayList<String> arrDbSecur = new ArrayList<String>(); arrDbSecur.add("javaSecurityGroup1"); createDBInstanceRequest.setDBSecurityGroups(arrDbSecur); DBInstance dbInstance = rds.createDBInstance(createDBInstanceRequest); Thread.sleep(600000); DescribeDBInstancesRequest instRequest = new DescribeDBInstancesRequest() .withDBInstanceIdentifier("mydbinstance1"); DescribeDBInstancesResult instres = rds.describeDBInstances(instRequest); Endpoint e = instres.getDBInstances().get(0).getEndpoint(); System.out.println("ENd point " + e.getAddress() + " " + e.getPort()); System.out.println("Database Created"); System.out.println("Creating a table"); //connection java.sql.Connection con = null; Statement st = null; // Format "jdbc:mysql://" + hostname + ":" + port + "/" + dbName + "?user=" + userName + "&password=" + password; String url = "jdbc:mysql://" + e.getAddress() + ":" + e.getPort() + "/dbname1?user=awsuser&password=mypassword"; // "jdbc:mysql://master:password@"+e+"/dbname"; System.out.println("Url is " + url); String user = "awsuser"; String password = "mypassword"; con = DriverManager.getConnection(url, user, password); System.out.println("Connection created"); java.sql.Statement stat = con.createStatement(); String query = "CREATE TABLE Items ( item_id VARCHAR(200), type INTEGER, quantity INTEGER, user VARCHAR(100), price FLOAT(5,2) );"; stat.execute(query); String query1 = "CREATE TABLE WishList ( user VARCHAR(200), wishlistId VARCHAR(100) );"; stat.execute(query1); } catch (AmazonServiceException ase) { System.out.println("Caught Exception: " + ase.getMessage()); System.out.println("Response Status Code: " + ase.getStatusCode()); System.out.println("Error Code: " + ase.getErrorCode()); System.out.println("Request ID: " + ase.getRequestId()); } }
From source file:com.jaspersoft.jasperserver.api.engine.jasperreports.util.AwsDataSourceRecovery.java
License:Open Source License
private void createRDSSecurityGroup(AwsReportDataSource awsReportDataSource) throws Exception { AWSCredentials awsCredentials = AwsCredentialUtil.getAWSCredentials(awsReportDataSource.getAWSAccessKey(), awsReportDataSource.getAWSSecretKey(), awsReportDataSource.getRoleARN()); AmazonRDSClient rdsClient = new AmazonRDSClient(awsCredentials); DescribeDBInstancesRequest describeDBInstancesRequest = new DescribeDBInstancesRequest() .withDBInstanceIdentifier(awsReportDataSource.getDbInstanceIdentifier()); String endpoint = awsReportDataSource.getAWSRegion(); if (endpoint != null) { rdsClient.setEndpoint(RDS + "." + endpoint); }/*from ww w. j av a 2 s. co m*/ DBInstance dbInstance; DescribeDBInstancesResult describeInstancesResult = rdsClient .describeDBInstances(describeDBInstancesRequest); if (describeInstancesResult != null && describeInstancesResult.getDBInstances() != null && describeInstancesResult.getDBInstances().size() > 0) { dbInstance = describeInstancesResult.getDBInstances().get(0); if (!dbInstance.getDBInstanceStatus().equals(awsDataSourceActiveStatus)) { throw new JSException( messageSource.getMessage("aws.exception.datasource.recovery.instance.not.active", null, LocaleContextHolder.getLocale())); } Map<String, String> awsDSInstanceDetails = new HashMap<String, String>(); awsDSInstanceDetails.put(DB_REGION, parseRegionFromSubRegion(dbInstance.getAvailabilityZone())); DBSubnetGroup dbSubnetGroup = dbInstance.getDBSubnetGroup(); if (dbSubnetGroup != null) { awsDSInstanceDetails.put(DB_VPC_ID, dbSubnetGroup.getVpcId()); } else { awsDSInstanceDetails.put(DB_VPC_ID, null); } String instanceSourceIp = determineSourceIpAddress(awsDSInstanceDetails); if (!isNotEmpty(instanceSourceIp)) { throw new JSException( getErrorMessage("aws.exception.datasource.recovery.public.ip.not.determined")); } //IP that should be added in CIDRIP of JS DB Security Group String ingressIpMask = instanceSourceIp + ingressIpPermission; String vpcSecurityGroupId = null; if (awsDSInstanceDetails.get(DB_VPC_ID) != null) { //Recover VPC Security Group. vpcSecurityGroupId = recoverVpcSecurityGroup(awsReportDataSource, awsDSInstanceDetails.get(DB_VPC_ID), ingressIpMask); } else { //Recover Db Security Group //Fount existing JS DB Security Group Boolean jsSecurityGroupMembershipFount = true; DBSecurityGroup dbSecurityGroup = null; try { DescribeDBSecurityGroupsRequest describeDBSecurityGroupsRequest = new DescribeDBSecurityGroupsRequest() .withDBSecurityGroupName(awsProperties.getSecurityGroupName()); DescribeDBSecurityGroupsResult describeDBSecurityGroupsResult = rdsClient .describeDBSecurityGroups(describeDBSecurityGroupsRequest); dbSecurityGroup = describeDBSecurityGroupsResult.getDBSecurityGroups().get(0); } catch (DBSecurityGroupNotFoundException ex) { jsSecurityGroupMembershipFount = false; } boolean ingressIpMaskExist = false; if (jsSecurityGroupMembershipFount) { List<IPRange> ipRanges = dbSecurityGroup.getIPRanges(); for (IPRange ipRange : ipRanges) { if (ipRange.getCIDRIP().contains(ingressIpMask)) { ingressIpMaskExist = true; break; } } if (!ingressIpMaskExist) { //Remove old ingress Ips for (IPRange ipRange : ipRanges) { RevokeDBSecurityGroupIngressRequest revokeDBSecurityGroupIngressRequest = new RevokeDBSecurityGroupIngressRequest() .withDBSecurityGroupName(awsProperties.getSecurityGroupName()) .withCIDRIP(ipRange.getCIDRIP()); rdsClient.revokeDBSecurityGroupIngress(revokeDBSecurityGroupIngressRequest); } } } else { dbSecurityGroup = rdsClient.createDBSecurityGroup(new CreateDBSecurityGroupRequest() .withDBSecurityGroupName(awsProperties.getSecurityGroupName()) .withDBSecurityGroupDescription(awsProperties.getSecurityGroupDescription())); } //Authorize new ingress Ip if (!ingressIpMaskExist) { rdsClient.authorizeDBSecurityGroupIngress(new AuthorizeDBSecurityGroupIngressRequest() .withDBSecurityGroupName(dbSecurityGroup.getDBSecurityGroupName()) .withCIDRIP(ingressIpMask)); } } if (vpcSecurityGroupId == null) { List<DBSecurityGroupMembership> dbSecurityGroupMemberships = dbInstance.getDBSecurityGroups(); List<String> dbSecurityGroupNames = new ArrayList<String>(); for (DBSecurityGroupMembership dbSecurityGroupMembership : dbSecurityGroupMemberships) { dbSecurityGroupNames.add(dbSecurityGroupMembership.getDBSecurityGroupName()); } //If RDS Instance does not contain JSSecurityGroup that we should assign it to. if (!dbSecurityGroupNames.contains(awsProperties.getSecurityGroupName())) { dbSecurityGroupNames.add(awsProperties.getSecurityGroupName()); ModifyDBInstanceRequest modifyDBInstanceRequest = new ModifyDBInstanceRequest() .withDBSecurityGroups(dbSecurityGroupNames) .withDBInstanceIdentifier(dbInstance.getDBInstanceIdentifier()); modifyDBInstanceRequest.setApplyImmediately(true); rdsClient.modifyDBInstance(modifyDBInstanceRequest); } } else { List<VpcSecurityGroupMembership> vpcSecurityGroupMemberships = dbInstance.getVpcSecurityGroups(); List<String> vpcSecurityGroupIds = new ArrayList<String>(); for (VpcSecurityGroupMembership vpcSecurityGroupMembership : vpcSecurityGroupMemberships) { vpcSecurityGroupIds.add(vpcSecurityGroupMembership.getVpcSecurityGroupId()); } //If RDS Instance does not contain VPC Security Group that we should assign it to. if (!vpcSecurityGroupIds.contains(vpcSecurityGroupId)) { vpcSecurityGroupIds.add(vpcSecurityGroupId); ModifyDBInstanceRequest modifyDBInstanceRequest = new ModifyDBInstanceRequest() .withVpcSecurityGroupIds(vpcSecurityGroupIds) .withDBInstanceIdentifier(dbInstance.getDBInstanceIdentifier()); modifyDBInstanceRequest.setApplyImmediately(true); rdsClient.modifyDBInstance(modifyDBInstanceRequest); } } } }
From source file:com.kpbird.aws.Main.java
public void createRDSSecurityGroup() { try {/*from w ww .j a va2 s. c om*/ log.Info("About to Launch RDS"); CreateDBSecurityGroupRequest d = new CreateDBSecurityGroupRequest(); d.setDBSecurityGroupName(DBSecurityGroupName); d.setDBSecurityGroupDescription(DBSsecurityGroupDescription); rdsclient.createDBSecurityGroup(d); AuthorizeDBSecurityGroupIngressRequest auth = new AuthorizeDBSecurityGroupIngressRequest(); auth.setDBSecurityGroupName(DBSecurityGroupName); auth.setEC2SecurityGroupName(groupName); auth.setEC2SecurityGroupOwnerId(OwnerId); DBSecurityGroup dbsecuritygroup = rdsclient.authorizeDBSecurityGroupIngress(auth); } catch (Exception e) { e.printStackTrace(); System.exit(0); } }
From source file:org.cloudml.connectors.BeanstalkConnector.java
License:Open Source License
public void createDBInstance(String engine, String version, String dbInstanceIdentifier, String dbName, String username, String password, Integer allocatedSize, String dbInstanceClass, String securityGroup) { if (allocatedSize <= 0) //default minimal size for rds allocatedSize = 5;//from w ww .j a va2 s . c o m String groupName = dbInstanceIdentifier + "-security-group"; CreateDBSecurityGroupRequest csg = new CreateDBSecurityGroupRequest().withDBSecurityGroupName(groupName) .withDBSecurityGroupDescription(groupName); try { rdsClient.createDBSecurityGroup(csg); } catch (Exception e) { journal.log(Level.INFO, ">> Security Group " + groupName + " already exists."); } CreateDBInstanceRequest request = new CreateDBInstanceRequest().withDBName(null) .withAllocatedStorage(allocatedSize).withDBInstanceIdentifier(dbInstanceIdentifier) .withDBName(dbName).withMasterUsername(username).withMasterUserPassword(password).withEngine(engine) .withPubliclyAccessible(true).withEngineVersion(version); request.getDBSecurityGroups().add(groupName); if (!securityGroup.equals("")) request.getDBSecurityGroups().add(securityGroup); previousRequests.put(dbInstanceIdentifier, request); if (dbInstanceClass == null || dbInstanceClass.length() == 0) { request.setDBInstanceClass("db.t1.micro"); } else { request.setDBInstanceClass(dbInstanceClass); } DBInstance instance = rdsClient.createDBInstance(request); journal.log(Level.INFO, String.format(">> RDS instance created: %s, at %s", instance.toString(), instance.getEndpoint())); createdInstances.put(dbInstanceIdentifier, instance); }
From source file:org.cloudml.connectors.BeanstalkConnector.java
License:Open Source License
/** * Not used yet!/* w w w.j ava 2 s .c om*/ * * @param dbInstanceIdentifier * @param group * @param owner */ public void setSecuretGroup(String dbInstanceIdentifier, String group, String owner) { String groupName = dbInstanceIdentifier + "-security-group"; CreateDBSecurityGroupRequest csg = new CreateDBSecurityGroupRequest(); csg.setDBSecurityGroupName(groupName); csg.setDBSecurityGroupDescription(groupName); rdsClient.createDBSecurityGroup(csg); RevokeDBSecurityGroupIngressRequest rsgi = new RevokeDBSecurityGroupIngressRequest(); rsgi.setDBSecurityGroupName(groupName); rsgi.setEC2SecurityGroupId(group); rsgi.setEC2SecurityGroupOwnerId(owner); rsgi.setRequestCredentials(awsCredentials); //rsgi.set rdsClient.revokeDBSecurityGroupIngress(rsgi); ModifyDBInstanceRequest request = new ModifyDBInstanceRequest(); Collection<String> groups = new ArrayList(); groups.add(groupName); request.setDBSecurityGroups(groups); request.setDBInstanceIdentifier(dbInstanceIdentifier); rdsClient.modifyDBInstance(request); }