Template de Cloudformation para crear outbound endpoints y rules en Route53
Hola!
Hago uso de !ImportValue, una funcionalidad excelente que me permite importar de otros stacks que estén en la misma región algunos valores que necesito para crear el mío.
Referencias: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html
Les comparto un template de Cloudformation que tuve que escribir para crear outbound endpoints y sus correspondientes rules. Todo esto corresponde al servicio Route53.
Hago uso de !ImportValue, una funcionalidad excelente que me permite importar de otros stacks que estén en la misma región algunos valores que necesito para crear el mío.
Seguramente necesita pulirse algunos detalles, como agregar parámetros para las direcciones IP y así evitar que estén harcodeadas. Espero que les resulte útil y aguardo sus sugerencias.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | --- AWSTemplateFormatVersion: '2010-09-09' Description: 'Template used to create outbound endpoints and rules to reach external DNS servers' Parameters: Resources: OutboundEndpoint: Type: "AWS::Route53Resolver::ResolverEndpoint" Properties: Direction: Outbound IpAddresses: - SubnetId: !ImportValue 'VPCStack-SubnetA' - SubnetId: !ImportValue 'VPCStack-SubnetB' Name: OutboundEndpoint SecurityGroupIds: - Ref: OutboundSecurityGroup Tags: - Key: 'Name' Value: 'OutboundEndpoint' OutboundSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Allow outbound traffic SecurityGroupEgress: - IpProtocol: udp FromPort: '0' ToPort: '53' CidrIp: '0.0.0.0/0' VpcId: !ImportValue 'VPCStack-VpcId' Tags: - Key: 'Name' Value: 'OutboundSecurityGroup' OutboundResolverRules: Type: "AWS::Route53Resolver::ResolverRule" Properties: DomainName: 'domain.net' Name: 'DomainNetRules' ResolverEndpointId: !GetAtt OutboundEndpoint.ResolverEndpointId RuleType: 'FORWARD' Tags: - Key: 'Name' Value: 'DomainNetRules' TargetIps: - Ip: '' Port: '53' - Ip: '' Port: '53' DependsOn: OutboundEndpoint ResolverVPC: Type: "AWS::Route53Resolver::ResolverRuleAssociation" Properties: Name: ResolverRuleDNS ResolverRuleId: !GetAtt OutboundResolverRules.ResolverRuleId VPCId: !ImportValue 'VPCStack-VpcId' DependsOn: OutboundResolverRules Outputs: ResolverEndpointId: Description: Resolver endpoint ID Value: !GetAtt OutboundEndpoint.ResolverEndpointId Export: Name: !Sub '${AWS::StackName}-ResolverEndpointId' ResolverRuleId: Description: Resolver rule ID Value: !GetAtt OutboundResolverRules.ResolverRuleId Export: Name: !Sub '${AWS::StackName}-ResolverRuleId' ... |
Referencias: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html
Comentarios
Publicar un comentario