

# Creación, configuración y eliminación de grupos de seguridad de Amazon EC2 en la AWS CLI
<a name="cli-services-ec2-sg"></a>

Puede crear un grupo de seguridad para las instancias Amazon Elastic Compute Cloud (Amazon EC2) que básicamente funciona como un firewall, con reglas que determinan el tráfico de red que puede entrar y salir. 

Utilice AWS Command Line Interface (AWS CLI) para crear un nuevo grupo de seguridad, añadir reglas a grupos de seguridad existentes y eliminar grupos de seguridad. 

**nota**  
Para ver ejemplos de comandos adicionales, consulte la [Guía de la referencia de la AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [Requisitos previos](#cli-services-ec2-sg-prereqs)
+ [Creación de un grupo de seguridad](#creating-a-security-group)
+ [Agregar reglas al grupo de seguridad](#configuring-a-security-group)
+ [Eliminación de un grupo de seguridad](#deleting-a-security-group)
+ [Referencias](#cli-services-ec2-sg-references)

## Requisitos previos
<a name="cli-services-ec2-sg-prereqs"></a>

Para ejecutar los comandos de `ec2`, debe:
+ Instalar y configurar la AWS CLI. Para obtener más información, consulte [Instalación o actualización de la versión más reciente de AWS CLI](getting-started-install.md) y [Credenciales de autenticación y acceso para la AWS CLI](cli-chap-authentication.md).
+ Establezca sus permisos de IAM para permitir el acceso a Amazon EC2. Para obtener más información sobre los permisos de IAM para Amazon EC2, consulte [Políticas de IAM para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html) en la *Guía del usuario de Amazon EC2*.

## Creación de un grupo de seguridad
<a name="creating-a-security-group"></a>

Puede crear grupos de seguridad asociados a nubes privadas virtuales (VPC).

En el siguiente ejemplo de `[aws ec2 create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)` se muestra cómo crear un grupo de seguridad para una VPC especificada.

```
$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d
{
    "GroupId": "sg-903004f8"
}
```

Para ver la información inicial para un grupo de seguridad, ejecute el comando de `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)`. Solo puede hacer referencia a un grupo de seguridad de EC2-VPC por su `vpc-id`, no por su nombre.

```
$ aws ec2 describe-security-groups --group-ids sg-903004f8
{
    "SecurityGroups": [
        {
            "IpPermissionsEgress": [
                {
                    "IpProtocol": "-1",
                    "IpRanges": [
                        {
                            "CidrIp": "0.0.0.0/0"
                        }
                    ],
                    "UserIdGroupPairs": []
                }
            ],
            "Description": "My security group"
            "IpPermissions": [],
            "GroupName": "my-sg",
            "VpcId": "vpc-1a2b3c4d",
            "OwnerId": "123456789012",
            "GroupId": "sg-903004f8"
        }
    ]
}
```

## Agregar reglas al grupo de seguridad
<a name="configuring-a-security-group"></a>

Cuando ejecute una instancia de Amazon EC2, debe habilitar reglas en el grupo de seguridad para permitir el tráfico de red entrante en el medio que utilice para conectarse a la imagen. 

Por ejemplo, si lanza una instancia de Windows, normalmente debe añadir una regla para permitir el tráfico entrante en el puerto TCP 3389 (RDP) para dar soporte al protocolo de escritorio remoto (RDP). Si lanza una instancia de Linux, normalmente debe añadir una regla para permitir el tráfico entrante en el puerto TCP 22 (SSH) para dar soporte a las conexiones de SSH. 

Use el comando `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)` para añadir una regla a un grupo de seguridad. Uno de los parámetros obligatorios de este comando es la dirección IP pública de su equipo, o la red (en forma de un intervalo de direcciones) al que su equipo está asociada, en notación [CIDR](https://wikipedia.org/wiki/Classless_Inter-Domain_Routing).

**nota**  
Proporcionamos el siguiente servicio, [https://checkip.global.api.aws/](https://checkip.global.api.aws/), para determinar su dirección IP pública. Para encontrar otros servicios que puedan ayudarle a identificar su dirección IP, utilice el navegador para buscar"*cuál es mi dirección IP*". Si se conecta a través de un ISP o protegido por su firewall mediante una dirección IP dinámica (a través de una gateway NAT desde una red privada), su dirección puede cambiar de forma periódica. En ese caso, debe averiguar el rango de direcciones IP que utilizan los equipos cliente.

En el siguiente ejemplo se muestra cómo añadir una regla para RDP (puerto TCP 3389) a un grupo de seguridad EC2-VPC con el ID `sg-903004f8` utilizando su dirección IP.

Para empezar, busque su dirección IP.

```
$ curl https://checkip.amazonaws.com
x.x.x.x
```

Luego, puede agregar la dirección IP a su grupo de seguridad mediante la ejecución del comando `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)`.

```
$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr x.x.x.x/x
```

El siguiente comando añade otra regla para habilitar SSH en instancias en el mismo grupo de seguridad.

```
$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr x.x.x.x/x
```

Para ver los cambios realizados en el grupo de seguridad, ejecute el comando `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)`.

```
$ aws ec2 describe-security-groups --group-ids sg-903004f8
{
    "SecurityGroups": [
        {
            "IpPermissionsEgress": [
                {
                    "IpProtocol": "-1",
                    "IpRanges": [
                        {
                            "CidrIp": "0.0.0.0/0"
                        }
                    ],
                    "UserIdGroupPairs": []
                }
            ],
            "Description": "My security group"
            "IpPermissions": [
                {
                    "ToPort": 22,
                    "IpProtocol": "tcp",
                    "IpRanges": [
                        {
                            "CidrIp": "x.x.x.x/x"
                        }
                    ]
                    "UserIdGroupPairs": [],
                    "FromPort": 22
                }
            ],
            "GroupName": "my-sg",
            "OwnerId": "123456789012",
            "GroupId": "sg-903004f8"
        }
    ]
}
```

## Eliminación de un grupo de seguridad
<a name="deleting-a-security-group"></a>

Para eliminar un grupo de seguridad, ejecute el comando `[aws ec2 delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html)`. 

**nota**  
No puede eliminar un grupo de seguridad que esté conectado actualmente a un entorno.

El siguiente ejemplo de comando elimina un grupo de seguridad EC2-VPC.

```
$ aws ec2 delete-security-group --group-id sg-903004f8
```

## Referencias
<a name="cli-services-ec2-sg-references"></a>

**AWS CLI referencia de:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)`
+ `[aws ec2 create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)`
+ `[aws ec2 delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html)`
+ `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)`

**Otra referencia:**
+ [Documentación de Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/ec2/)
+ Para ver y contribuir al SDK de AWS y los ejemplos de código de AWS CLI, consulte el [Repositorio de ejemplos de código de AWS](https://github.com/awsdocs/aws-doc-sdk-examples/) en *GitHub*.