Como posso usar um runbook SAW para solucionar problemas do meu nome de domínio personalizado no API Gateway?
Quero solucionar problemas da minha configuração de nome de domínio personalizado no Amazon API Gateway usando o runbook de fluxo de trabalho de automação (SAW) do AEWS Support AWSSupport-TroubleshootAPIGatewayCustomDomainConfig.
Breve descrição
O runbook AWSSupport-TroubleshootAPIGatewayCustomDomainConfig fornece uma solução automatizada para verificar sua configuração de nome de domínio personalizado no API Gateway. Esse runbook verifica se o nome de domínio personalizado está configurado no API Gateway com as configurações corretas para o registro DNS e os mapeamentos da API.
Para obter mais informações sobre o SAW, consulte Fluxos de trabalho de automação do AWS Support (SAW).
Resolução
O runbook AWSSupport-TroubleshootAPIGatewayCustomDomainConfig valida as seguintes características:
- Se o nome de domínio personalizado existe no API Gateway.
- Se existem mapeamentos entre o nome de domínio personalizado e qualquer API.
- Se a lista de mapeamentos anterior contém um mapeamento entre o nome de domínio personalizado e as APIs especificadas.
- Se há um registro DNS existente para o nome de domínio personalizado.
- Se o registro DNS aponta para o valor-alvo correto, conforme gerado pelo API Gateway durante a criação do nome de domínio personalizado.
O usuário atual ou o perfil de serviço assumidos do AWS Identity and Access Management (IAM) que executa a automação deve ter as seguintes permissões:
- apigateway:GET
- iam:ListRoles
- iam:PassRole
- route53:ListResourceRecordSets
- ssm:DescribeAutomationExecutions
- ssm:GetAutomationExecution
- ssm:DescribeAutomationStepExecutions
- ssm:StartAutomationExecution
- ssm:DescribeDocument
- ssm:GetDocument
- ssm:ListDocuments
Pré-requisitos
Antes de executar o runbook, certifique-se de que seu perfil ou usuário do IAM tenha as permissões corretas. Essas permissões incluem permissões específicas do AWS Systems Manager e as permissões adicionais específicas dos serviços abordadas nas seções anteriores deste artigo.
Execute a automação AWSSupport-TroubleshootAPIGatewayCustomDomainConfig
-
Abra o runbook AWSSupport-TroubleshootAPIGatewayCustomDomainConfig.
Observação: o runbook está na região da AWS us-east-1. -
Selecione Executar automação.
Para parâmetros de entrada, insira o seguinte:
- **AutomationAssumeRole (opcional):**O nome do recurso da Amazon (ARN) do perfil do IAM que permite que a Automation, um recurso do Systems Manager, realize as ações em seu nome. Se nenhum perfil for especificado, a Automação usará as permissões do usuário que inicia o runbook.
- DomainName (obrigatório): o nome de domínio personalizado da sua API.
- ApiId (obrigatório): o ID da sua API.
- DNSServerIp (opcional): um servidor DNS para resolver o nome de domínio personalizado. Quando o valor não é especificado, o AWS DNS Server é usado.
- HostedZoneId (opcional): o ID da zona hospedada pública que contém o registro DNS para o nome de domínio personalizado. Isso não é necessário quando o Route 53 não é usado para DNS.
-
Selecione Executar. A automação é iniciada.
-
Depois que a automação terminar, revise a seção Saídas para obter resultados detalhados.
Se as verificações do runbook forem executadas com êxito, sua saída mostrará os detalhes de configuração do nome de domínio personalizado.
Se a configuração do nome de domínio personalizado não passar em uma das verificações do runbook, o runbook falhará na etapa apropriada. As recomendações de solução de problemas estão disponíveis na saída do runbook.
Exemplos de saídas para o runbook AWSSupport-TroubleshootAPIGatewayCustomDomainConfig
Exemplo de saída para verificações de configuração bem-sucedidas:
{ "Result": "The custom domain name is configured correctly", "DomainDetails": { "DomainName": "<<CUSTOM DOMAIN NAME>>", "APIGatewayDomainName": "d-XXXXXXXX.execute-api.<<REGION>>.amazonaws.com", "Status": "XXXXXX", "EndpointType": "XXXXXX" }, "MappingDetails": [ { "API": "XXXXXX", "MappingId": "XXXXXX", "MappingKey": "XXXXXX", "Stage": "XXXXXX", "Status": "ApiHasMappings" } ], "DNSDetails": { "<<RECORD TYPE>>": [ "XXX.XXX.XXX.XXX", "XXX.XXX.XXX.XXX", "XXX.XXX.XXX.XXX" ] } }
Exemplo de saída para quando o nome de domínio personalizado não está no API Gateway:
" Check (1/5): Check custom domain name exists. Status: Failed. Troubleshooting Recommendations: - Custom domain name: <<CUSTOM DOMAIN NAME>> is not configured in API gateway. - Please see the link below for information on how to setup a custom domain for API Gateway: > https://aws.amazon.com/pt/premiumsupport/knowledge-center/custom-domain-name-amazon-api-gateway/ - The remaining checks have not been run at this point hence there may be other errors in the current configuration. - After resolving the error above, please check that your custom domain name has: > A mapping to the API you are trying to reach > A DNS record pointing to the generated API Gateway domain name. - You can run this automation again to confirm the changes have been made correctly. - More details for this particular error can be found within the individual step details. Check (2/5): List mappings. Status: Skipped Check (3/5): Check mapping exists to API Id: <<API ID>>. Status: Skipped Check (4/5): Check DNS record exists for custom domain name. Status: Skipped Check (5/5): Validate DNS record. Status: Skipped "
Exemplo de saída para quando o nome de domínio personalizado não tem nenhum mapeamento:
" Check (1/5): Check custom domain name exists. Status: Complete Check (2/5): List mappings. Status: Failed Troubleshooting Recommendations: - <<CUSTOM DOMAIN NAME>> does not contain any mappings. - Please see the documentation to create one here: > https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-mappings.html - The remaining checks have not been run at this point hence there may be other errors in the current configuration. - After resolving the error above, please check that your custom domain name has: > A mapping to the API you are trying to reach > A DNS record pointing to the generated API Gateway domain name. - You can run this automation again to confirm the changes have been made correctly. - More details for this particular error can be found within the individual step details. Check (3/5): Check mapping exists to API Id: <<API ID>>. Status: Skipped Check (4/5): Check DNS record exists for custom domain name. Status: Skipped Check (5/5): Validate DNS record. Status: Skipped "
Exemplo de saída para quando o nome de domínio personalizado não tem mapeamento para o ID de API especificado:
" Check (1/5): Check custom domain name exists. Status: Complete Check (2/5): List mappings. Status: Complete Check (3/5): Check mapping exists to API Id: <<API ID>>. Status: Failed Troubleshooting Recommendations: - A base path mapping does not exist between API Id: <<API ID>> and custom domain name: <<CUSTOM DOMAIN NAME>>. - Please see the documentation to create one here: > https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-mappings.html - The remaining checks have not been run at this point hence there may be other errors in the current configuration. - After resolving the error above, please check that your custom domain name has: > A mapping to the API you are trying to reach > A DNS record pointing to the generated API Gateway domain name. - You can run this automation again to confirm the changes have been made correctly. - More details for this particular error can be found within the individual step details. Check (4/5): Check DNS record exists for custom domain name. Status: Not Run Check (5/5): Validate DNS record. Status: Skipped "
Exemplo de saída para quando não há registro DNS para o nome de domínio personalizado:
" Check (1/5): Check custom domain name exists. Status: Complete Check (2/5): List mappings. Status: Complete Check (3/5): Check mapping exists to API Id: <<API ID>>. Status: Complete Check (4/5): Check DNS record exists for custom domain name. Status: Failed Troubleshooting Recommendations: - There is no DNS record for the custom domain name: <<CUSTOM DOMAIN NAME>> or the domain could not be resolved. - Please check your DNS server for a record for this domain and ensure it can be resolved. - The remaining checks have not been run at this point hence there may be other errors in the current configuration. - After resolving the error above, please check that your custom domain name has: > A DNS record pointing to the generated API Gateway domain name. - You can run this automation again to confirm the changes have been made correctly. - More details for this particular error can be found within the individual step details. Check (5/5): Validate DNS record. Status: Skipped "
Exemplo de saída para quando o registro DNS não está apontando para o destino correto:
" Check (1/5): Check custom domain name exists. Status: Complete Check (2/5): List mappings. Status: Complete Check (3/5): Check mapping exists to API Id: <<API ID>>. Status: Complete Check (4/5): Check DNS record exists for custom domain name. Status: Complete Check (5/5): Validate DNS record. Status: Failed Troubleshooting Recommendations: - The DNS record for the custom domain name: <<CUSTOM DOMAIN NAME>> may not be pointing to the correct target. - The API Gateway domain name generated for this custom domain name is: <<API GATEWAY DOMAIN NAME>> which should be the target of the DNS record created for the custom domain name. - Please check your DNS record for this domain and ensure it is pointing to the API Gateway domain name: <<API GATEWAY DOMAIN NAME>>. - After resolving the error above, you can run this automation again to confirm the changes have been made correctly. - More details for this particular error can be found within the individual step details."
Observação: para ajudar você a solucionar problemas, remediar, gerenciar e reduzir custos em seus recursos da AWS, o AWS Support mantém um subconjunto dos runbooks predefinidos fornecidos pela AWS. Os prefixos do runbook são AWS Support- e AWSPremiumSupport-.
Informações relacionadas
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos