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.
Trabajar con grupos de seguridad en Amazon EC2
Requisitos previos
Antes de comenzar, le recomendamos que lea Primeros pasos con el AWS SDK para C++.
Descargue el código de ejemplo y compile la solución tal y como se describe en Introducción a los ejemplos de código.
Para ejecutar los ejemplos, el perfil de usuario que utiliza tu código para realizar las solicitudes debe tener los permisos adecuados AWS (para el servicio y la acción). Para obtener más información, consulte Proporcionar AWS credenciales.
Creación de un grupo de seguridad
Para crear un grupo de seguridad, llame a la CreateSecurityGroup función del EC2 cliente con un nombre CreateSecurityGroupRequestque contenga el nombre de la clave.
Incluye
#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/CreateSecurityGroupRequest.h>
Código
Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::CreateSecurityGroupRequest request; request.SetGroupName(groupName); request.SetDescription(description); request.SetVpcId(vpcID); const Aws::EC2::Model::CreateSecurityGroupOutcome outcome = ec2Client.CreateSecurityGroup(request); if (!outcome.IsSuccess()) { std::cerr << "Failed to create security group:" << outcome.GetError().GetMessage() << std::endl; return false; } std::cout << "Successfully created security group named " << groupName << std::endl;
Consulte el ejemplo completo
Configuración de un grupo de seguridad
Un grupo de seguridad puede controlar el tráfico de entrada y salida a sus instancias de Amazon EC2.
Para añadir reglas de entrada a su grupo de seguridad, utilice la AuthorizeSecurityGroupIngress función del EC2 cliente, proporcionando el nombre del grupo de seguridad y las reglas de acceso (IpPermission) que desee asignarle dentro de un AuthorizeSecurityGroupIngressRequestobjeto. El siguiente ejemplo muestra cómo añadir permisos de IP a un grupo de seguridad.
Incluye
#include <aws/ec2/model/AuthorizeSecurityGroupIngressRequest.h>
Código
Aws::EC2::Model::AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest; authorizeSecurityGroupIngressRequest.SetGroupId(groupID);
Aws::String ingressIPRange = "203.0.113.0/24"; // Configure this for your allowed IP range. Aws::EC2::Model::IpRange ip_range; ip_range.SetCidrIp(ingressIPRange); Aws::EC2::Model::IpPermission permission1; permission1.SetIpProtocol("tcp"); permission1.SetToPort(80); permission1.SetFromPort(80); permission1.AddIpRanges(ip_range); authorize_request.AddIpPermissions(permission1); Aws::EC2::Model::IpPermission permission2; permission2.SetIpProtocol("tcp"); permission2.SetToPort(22); permission2.SetFromPort(22); permission2.AddIpRanges(ip_range); authorize_request.AddIpPermissions(permission2);
Aws::EC2::Model::AuthorizeSecurityGroupIngressOutcome authorizeSecurityGroupIngressOutcome = ec2Client.AuthorizeSecurityGroupIngress(authorizeSecurityGroupIngressRequest); if (authorizeSecurityGroupIngressOutcome.IsSuccess()) { std::cout << "Successfully authorized security group ingress." << std::endl; } else { std::cerr << "Error authorizing security group ingress: " << authorizeSecurityGroupIngressOutcome.GetError().GetMessage() << std::endl; }
Para añadir una regla de salida al grupo de seguridad, proporcione datos similares en y AuthorizeSecurityGroupEgressRequesta la AuthorizeSecurityGroupEgress función del EC2 cliente.
Consulte el ejemplo completo
Describir grupos de seguridad
Para describir sus grupos de seguridad u obtener información sobre ellos, llame a la DescribeSecurityGroups función del EC2 cliente con un DescribeSecurityGroupsRequest.
DescribeSecurityGroupsResponseEn el resultado recibirá un objeto que podrá utilizar para acceder a la lista de grupos de seguridad llamando a su GetSecurityGroups función, que devuelve una lista de SecurityGroupobjetos.
Incluye
#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/DescribeSecurityGroupsRequest.h> #include <aws/ec2/model/DescribeSecurityGroupsResponse.h> #include <iomanip> #include <iostream>
Código
Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::DescribeSecurityGroupsRequest request; if (!groupID.empty()) { request.AddGroupIds(groupID); } Aws::String nextToken; do { if (!nextToken.empty()) { request.SetNextToken(nextToken); } Aws::EC2::Model::DescribeSecurityGroupsOutcome outcome = ec2Client.DescribeSecurityGroups(request); if (outcome.IsSuccess()) { std::cout << std::left << std::setw(32) << "Name" << std::setw(30) << "GroupId" << std::setw(30) << "VpcId" << std::setw(64) << "Description" << std::endl; const std::vector<Aws::EC2::Model::SecurityGroup> &securityGroups = outcome.GetResult().GetSecurityGroups(); for (const auto &securityGroup: securityGroups) { std::cout << std::left << std::setw(32) << securityGroup.GetGroupName() << std::setw(30) << securityGroup.GetGroupId() << std::setw(30) << securityGroup.GetVpcId() << std::setw(64) << securityGroup.GetDescription() << std::endl; } } else { std::cerr << "Failed to describe security groups:" << outcome.GetError().GetMessage() << std::endl; return false; } nextToken = outcome.GetResult().GetNextToken(); } while (!nextToken.empty());
Consulte el ejemplo completo
Eliminación de un grupo de seguridad
Para eliminar un grupo de seguridad, llame a la DeleteSecurityGroup función del EC2 cliente y pásele una DeleteSecurityGroupRequestque contenga el ID del grupo de seguridad que desee eliminar.
Incluye
#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/DeleteSecurityGroupRequest.h> #include <iostream>
Código
Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::DeleteSecurityGroupRequest request; request.SetGroupId(securityGroupID); Aws::EC2::Model::DeleteSecurityGroupOutcome outcome = ec2Client.DeleteSecurityGroup(request); if (!outcome.IsSuccess()) { std::cerr << "Failed to delete security group " << securityGroupID << ":" << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully deleted security group " << securityGroupID << std::endl; }
Consulte el ejemplo completo
Más información
-
Grupos de seguridad de Amazon EC2 en la Guía del usuario de Amazon EC2
-
Autorización del tráfico de entrada para sus instancias de Linux en la Guía del usuario de Amazon EC2
-
CreateSecurityGroupen la referencia de la API de Amazon EC2
-
DescribeSecurityGroupsen la referencia de la API de Amazon EC2
-
DeleteSecurityGroupen la referencia de la API de Amazon EC2
-
AuthorizeSecurityGroupIngressen la referencia de la API de Amazon EC2