3

Python で CDK を使用して DNS 証明書の検証を設定しようとしています。

私のコードは次のようになります。

class ApiService(core.Construct):
  def __init__(self, scope: core.Construct, id: str, env: str) -> None:
# set up hosted zone for existing Domain in Route53
    hosted_zone = aws_route53.HostedZone(self, "devHostedZone", zone_name="example.com")
# Create validation from DNS with hosted zone
    cert_validation = CertificateValidation.from_dns(hosted_zone)
    subj_alt_names = ['example.com', '*.example.com']
# DNS Validated certificate in zone, for domain and alternate names in specified region (for edge enabled APIs)
    cert_dns_val = DnsValidatedCertificate(
      self,
      'DnsValidation',
      hosted_zone=hosted_zone,
      domain_name='example.com',
      subject_alternative_names=subj_alt_names,
      region='us-east-1', 
      validation=cert_validation)
# Set up the gateway with domain name settings
    api = apigateway.RestApi(
      self, 
      "My-api", 
      rest_api_name="My API", 
      description="A Lambda that contains the REST API for My API.", 
      domain_name=apigateway.DomainNameOptions(certificate=cert_dns_val, domain_name=env+".example.com")
      )
# Finally create A Record to route incoming requests internally to the API Gateway that was just created
    target = aws_route53.RecordTarget.from_alias(alias.ApiGateway(api))
    record = ARecord(self, 'ARecord', target=target, zone=hosted_zone, record_name=env+".example.com")

頭が回らないように見える問題は

  1. 証明書を検証し、
  2. デフォルトで TLS 1.2 に設定する方法 (TLS 1.0 ではありません)

これを使用して私が見る問題:

  1. コンソールの ACM (AWS Certificate Manager) で生成された 3 つの証明書があります。-> これは間違っています。1 つのみ生成する必要があります。
  2. CDK は CNAME レコードを自動的に追加しないようなので、CloudFormation の進行中に手動で追加してみました。しかし、それもうまくいきませんでした。

ここに画像の説明を入力

生成された 6 つの CNAME レコードはすべて同一であることを追加することが重要であるため、Route53 のホスト ゾーン構成で常に 1 つの CNAME レコードのみが必要になります (これを設定しましたが、違いはないようです)。

4

1 に答える 1