Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

268
Visualizações
AWS CDK - Creación de un grupo de seguridad Mecanografiado

Estoy tratando de migrar el siguiente recurso de CloudFormation a CDK usando mecanografiado:

 ALBSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: VpcId: !Ref VPCId GroupDescription: !Sub "${Application}-${Environment}-alb-sg" SecurityGroupIngress: - IpProtocol: tcp FromPort: 443 ToPort: 443 CidrIp: !Ref SecurityGroupIngressCidr

He intentado con esto (no sé cómo crear las propiedades necesarias):

 const albSecurityGroup = new SecurityGroup(this, "ALBSecurityGroup", { vpc: Vpc.fromLookup(this, id, { vpcId: props.vpcId.stringValue }), description: appEnv + "-alb-sg" })

Y usando un constructor de Cfn como este (no sé cómo unirme a CfnSecurityGroup con CfnSecurityGroupIngress):

 const x = new CfnSecurityGroupIngress(this, id, { ipProtocol: "tcp", fromPort: 443, toPort: 443, cidrIp: props.securityGroupIngressCidr }); const albSecurityGroupCfn = new CfnSecurityGroup(this, id, { vpcId: props.vpcId.stringValue, groupDescription: appEnv + "-alb-sg" });

Aprecio tu ayuda.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Su respuesta parece más clara al usar CfnSecurityGroup , pero solo para completar y para mostrar el enfoque que se puede tomar para lograr lo mismo usando una construcción de orden superior SecurityGroup sería la siguiente:

 import { SecurityGroup, Peer, Port, Vpc } from '@aws-cdk/aws-ec2'; .... const vpc = Vpc.fromLookup(this, id, { vpcId: props.vpcId.stringValue }); const albSecurityGroup = new SecurityGroup(this, 'MyALBSG', { vpc, description: appEnv + "-alb-sg", allowAllOutbound: true }); albSecurityGroup.addIngressRule( Peer.ipv4(props.securityGroupIngressCidr), Port.tcp(443), "Allow HTTPS traffic from CIDR IPs" ); ....

Sugeriría encarecidamente que revise la sección de descripción general de cualquier módulo de servicio que planee usar en CDK. Aquí está el de aws-ec2 que muestra cómo se puede escribir SecurityGroup .

También podría usar loadBalancer.connections.allowFrom() directamente en lugar de crear explícitamente un grupo de seguridad para su ALB. Suponiendo que su construcción ALB se llame loadBalancer , se vería así:

 loadBalancer.connections.allowFrom( Peer.ipv4(props.securityGroupIngressCidr), Port.tcp(443), 'Allow inbound HTTPS from CIDR IPs' );
over 4 years ago · Santiago Trujillo Relatório

0

Hoy me di cuenta de que era una solución fácil.

 const albSecurityGroupCfn = new CfnSecurityGroup(this, id, { vpcId: props.vpcId.stringValue, groupDescription: appEnv + "-alb-sg", securityGroupIngress: [ new CfnSecurityGroupIngress(this, id, { ipProtocol: "tcp", fromPort: 443, toPort: 443, cidrIp: props.securityGroupIngressCidr }) ] });

¡Gracias!

ACTUALIZACIÓN : (dmahapatro)

Con el enfoque anterior, recibiría un error de tiempo de compilación que muestra que necesita un tipo apropiado. Aquí hay un ajuste menor a la solución anterior:

 const albSecurityGroupCfn = new CfnSecurityGroup(this, id, { vpcId: props.vpcId.stringValue, groupDescription: appEnv + "-alb-sg", securityGroupIngress: [{ ipProtocol: "tcp", fromPort: 443, toPort: 443, cidrIp: props.securityGroupIngressCidr }] });

securityGroupIngress espera los siguientes tipos:

 Type: Array<CfnSecurityGroup.IngressProperty | cdk.IResolvable> | cdk.IResolvable

Cuando proporciona una matriz de CfnSecurityGroupIngress , no se resuelve en ninguno de esos tipos. Una mejor manera de manejarlo es usar una matriz de objetos que coaccionarán a Array<CfnSecurityGroup.IngressProperty> de forma predeterminada. La última respuesta muestra que no necesita crear una instancia de CfnSecurityGroupIngress para securityGroupIngress .

En una nota al margen, si VS Code se usa como IDE para CDK, detecta esos errores de tiempo de compilación de antemano.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda