Crear un grupo Amazon EC2 de seguridad - AWS SDK for Java 1.x

La AWS SDK for Java versión 1.x entró en modo de mantenimiento el 31 de julio de 2024 y estará disponible el 31 de end-of-supportdiciembre de 2025. Le recomendamos que migre al para AWS SDK for Java 2.xseguir recibiendo nuevas funciones, mejoras de disponibilidad y actualizaciones de seguridad.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear un grupo Amazon EC2 de seguridad

aviso

Nos retiraremos de EC2 -Classic el 15 de agosto de 2022. Le recomendamos que migre de EC2 -Classic a. VPC Para obtener más información, consulte la entrada del blog EC2-Classic-Classic Networking is Retiring: aquí le mostramos cómo prepararse.

Cree un grupo de seguridad que actúe como un firewall virtual que controle el tráfico de la red en una o más instancias. EC2 De forma predeterminada, Amazon EC2 asocia las instancias a un grupo de seguridad que no permita el tráfico entrante. Puedes crear un grupo de seguridad que permita que tus EC2 instancias acepten cierto tráfico. Por ejemplo, si necesita conectarse a una instancia de Linux, debe configurar el grupo de seguridad para permitir el SSH tráfico. Puede crear un grupo de seguridad mediante la Amazon EC2 consola o el AWS SDK for Java.

Puede crear un grupo de seguridad para usarlo en EC2 -Classic o EC2 -VPC. Para obtener más información acerca de EC2 -Classic y EC2 -VPC, consulte las plataformas compatibles en la Guía del Amazon EC2 usuario de instancias de Linux.

Para obtener más información sobre la creación de un grupo de seguridad mediante la Amazon EC2 consola, consulte Grupos Amazon EC2 de seguridad en la Guía del Amazon EC2 usuario de instancias de Linux.

  1. Cree e inicialice una CreateSecurityGroupRequestinstancia. Use el withGroupNamemétodo para establecer el nombre del grupo de seguridad y el withDescriptionmétodo para configurar la descripción del grupo de seguridad, de la siguiente manera:

    CreateSecurityGroupRequest csgr = new CreateSecurityGroupRequest(); csgr.withGroupName("JavaSecurityGroup").withDescription("My security group");

    El nombre del grupo de seguridad debe ser único en la AWS región en la que se inicializa el Amazon EC2 cliente. Debe utilizar ASCII caracteres estadounidenses para el nombre y la descripción del grupo de seguridad.

  2. Pase el objeto de solicitud como parámetro al createSecurityGroupmétodo. El método devuelve un CreateSecurityGroupResultobjeto, de la siguiente manera:

    CreateSecurityGroupResult createSecurityGroupResult = amazonEC2Client.createSecurityGroup(csgr);

    Si intenta crear un grupo de seguridad con el mismo nombre que un grupo de seguridad existente, se produce una excepción createSecurityGroup.

De forma predeterminada, un nuevo grupo de seguridad no permite ningún tráfico entrante a la Amazon EC2 instancia. Para permitir el tráfico entrante, debe autorizarlo de forma explícita en el grupo de seguridad. Puede autorizar la entrada de direcciones IP individuales, de un rango de direcciones IP, de un protocolo específico y de puertosTCP/UDP.

  1. Crea e inicializa una IpPermissioninstancia. Usa el método withIpv4Ranges para establecer el rango de direcciones IP para las que se debe autorizar la entrada y usa el withIpProtocolmétodo para configurar el protocolo IP. Utilice los withToPortmétodos withFromPorty para especificar el rango de puertos para los que se debe autorizar la entrada, de la siguiente manera:

    IpPermission ipPermission = new IpPermission(); IpRange ipRange1 = new IpRange().withCidrIp("111.111.111.111/32"); IpRange ipRange2 = new IpRange().withCidrIp("150.150.150.150/32"); ipPermission.withIpv4Ranges(Arrays.asList(new IpRange[] {ipRange1, ipRange2})) .withIpProtocol("tcp") .withFromPort(22) .withToPort(22);

    Todas las condiciones que especifique en el objeto IpPermission se deben cumplir para permitir el tráfico entrante.

    Especifique la dirección IP mediante CIDR notación. Si especifica el protocolo comoTCP/UDP, debe proporcionar un puerto de origen y un puerto de destino. Puede autorizar los puertos solo si especifica TCP oUDP.

  2. Crea e inicializa una AuthorizeSecurityGroupIngressRequestinstancia. Use el withGroupName método para especificar el nombre del grupo de seguridad y pase el IpPermission objeto que inicializó anteriormente al withIpPermissionsmétodo, de la siguiente manera:

    AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest = new AuthorizeSecurityGroupIngressRequest(); authorizeSecurityGroupIngressRequest.withGroupName("JavaSecurityGroup") .withIpPermissions(ipPermission);
  3. Pase el objeto de solicitud al método authorizeSecurityGroupIngress de la siguiente manera:

    amazonEC2Client.authorizeSecurityGroupIngress(authorizeSecurityGroupIngressRequest);

    Si llama a authorizeSecurityGroupIngress con direcciones IP para las que ya se ha autorizado el tráfico entrante, el método produce una excepción. Cree e inicialice un IpPermission objeto nuevo para autorizar la entrada de diferentes puertos y protocolos IPs antes de realizar la llamada. AuthorizeSecurityGroupIngress

Siempre que llame a los métodos authorizeSecurityGroupde entrada o authorizeSecurityGroupsalida, se agrega una regla a su grupo de seguridad.