掘悪皆と掘恰岳艶姻稼温鉛禽鰻皆でドメイン兆を譜協する

峻さん、こんにちは。室宝蝕kグル`プの稼-看噛温敬温稼です。
菩いですね。何塁の嶄にいても犯嶄屏になる裡がありますので、聾朕に邦蛍温公するようにしましょう。

云籾です。
掘悪皆で更廏されたアプリケ`ションにしてドメインを摘原ける圭隈として掘恰岳艶姻稼温鉛禽鰻皆があります。掘恰岳艶姻稼温鉛禽鰻皆を旋喘すると、徭強議に悪顎恢艶姻稼艶岳艶壊の鴛稼乙姻艶壊壊で峺協したホスト兆で禽鰻皆ホストゾ`ンの粥レコ`ドを鞠hしてくれるので宴旋です。

ExternalDNS

ExternalDNSはKubernetesのクラスタで嘛するPODで、翌何に巷_するKubernetesのアプリケ`ションとDNSプロバイダ`を揖豚してくれます。鬉靴討いDNSプロバイダ`はAWS Route53やGoogle Cloud DNS、Azure DNSなどのクラウドの麿、謹くのDNSプロバイダ`に鬉靴討い泙后Tはを歌孚してください。

書指はAWSのEKSでBされたh廠と、AWS Route53と揖豚するやり圭をB初したいと房います。

ゴ`ル

掘恰岳艶姻稼温鉛禽鰻皆を堰掘晦珂でインスト`ルします。また、掘恰岳艶姻稼温鉛禽鰻皆から檎看顎岳艶53へのアクセス慙泙駅勣ですので、ポリシ`の協吶と皆艶姻厩庄界艶粥界界看顎稼岳の恬撹が駅勣になります。ここまでを意艶姻姻温韓看姻馨で更廏します。恷朔に悪顎恢艶姻稼艶岳艶壊の鴛稼乙姻艶壊壊のマニフェストを協吶します。

サ`ビスアカウントの恬撹

掘恰岳艶姻稼温鉛禽鰻皆から檎看顎岳艶53への荷恬を佩えるようにするためにサ`ビスアカウントを恬撹する駅勣があります。恬撹返乏については、參念の芝並仝掘悪皆でロ`ドバランサ`を更廏する々で芝墮した仝サ`ビスアカウントの恬撹々と揖じです。參念の芝並と呟なるのはポリシ`の協吶だけですので、云後ではポリシ`の協吶を府初します。

resource "aws_iam_policy" "external_dns" {
  name       = "external-dns-policy"
  policy     = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "route53:ChangeResourceRecordSets"
      ],
      "Resource": [
        "arn:aws:route53:::hostedzone/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "route53:ListHostedZones",
        "route53:ListResourceRecordSets"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
POLICY
}

檎看顎岳艶53のホストゾ`ンの歌孚と、そのホストゾ`ンのリソ`スレコ`ドの筝および歌孚を俯辛しています。

掘恰岳艶姻稼温鉛禽鰻皆のインスト`ル

掘恰岳艶姻稼温鉛禽鰻皆を堰掘晦珂でインスト`ルします。

resource "helm_release" "external_dns" {
  name            = "external-dns"
  chart           = "external-dns"
  repository      = "https://kubernetes-sigs.github.io/external-dns/"
  namespace       = "kube-system"

  dynamic "set" {
    for_each = {
      "serviceAccount.create" = false
      "serviceAccount.name" = "external-dns-service-account"
    }
    content {
      name = set.key
      value = set.value
    }
  }
}

chartは”艶恰岳艶姻稼温鉛-糸稼壊”で、repositoryには”鞄岳岳沿壊://一顎恢艶姻稼艶岳艶壊-壊庄乙壊.乙庄岳鞄顎恢.庄看/艶恰岳艶姻稼温鉛-糸稼壊/”を峺協します。

掘恰岳艶姻稼温鉛禽鰻皆は、デフォルトでサ`ビスアカウントを恬撹します。書指は徭念で喘吭したサ`ビスアカウントを旋喘しますので、serviceAccount.createを”韓温鉛壊艶”に峺協して、サ`ビスアカウントを恬撹しないようにします。また、serviceAccount.nameに枠ほど恬撹したサ`ビスアカウントの兆念を峺協します。

鴛稼乙姻艶壊壊の協吶

悪顎恢艶姻稼艶岳艶壊の鴛稼乙姻艶壊壊を協吶します。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: http-ingress
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
spec:
  rules:
  - host: www.ios-eks-example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: http-service
            port:
              number: 80

metadata.annotationsで峺協しているのはALBApplication Load BalancerとB亊するためのO協です。書指のExternalDNSとはvSありませんが、翌何へ巷_するためには駅勣なO協となります。

掘恰岳艶姻稼温鉛禽鰻皆にvSするのはspec.rules.hostになります。クラスタに鴛稼乙姻艶壊壊リソ`スを郡啌した縞に、spec.rules.hostに峺協したホスト兆で、檎看顎岳艶53のホストゾ`ンに粥レコ`ドが鞠hされます。

spec.rules.httpには鞭け函ったトラフィックを、どの鰻看糸艶永看姻岳へ僕るのかを峺協します。

おわりに

鴛稼乙姻艶壊壊の協吶でAレコ`ドまで鞠hしてくれるExternalDNSは宴旋ではあります。ただ、ホスト兆はl訓に筝するものではないので、栽によってはExternalDNSをわざわざBする駅勣はないかもしれません。そのxはM喘森をてBした圭が措いでしょう。

ではまた。


Recommendおすすめブログ