【GKE】Serviceリソースの外部IPアドレスに対してroute53で名前解決する方法


GKEの外部IPアドレスについて知っておきたい予備知識

※本記事は、GKE上にコンテナをデプロイしてServiceリソースを作成した前提でお話を進めます。(GKEの公式ドキュメントが分かりやすすぎるので、あえてドキュメントを書くまでもないと思っています。)

Dockerfileの作成方法については以下にまとめたので参考にしていただけると幸いです。
参考:https://qiita.com/arthur_foreign/items/fca369c1d9bde1701e38

ただ、前提の前にGKEにおいて知っておきたい知識も、Google公式から引用しておきます。

デフォルトで、Kubernetes Engine 上で実行するコンテナは、外部 IP アドレスを持たないため、インターネットからアクセスできません。

アプリケーションのポッドにネットワーキングと IP サポートを提供する Service リソースを作成します。Kubernetes Engine は、アプリケーションの外部 IP とロードバランサ(課金対象)を作成します。
引用:https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app?hl=ja#step_6_expose_your_application_to_the_internet

この外部IPアドレスに対して、route53で名前解決するのが本記事でやることです。

GKEで作成したServiceリソースの外部IPアドレスの確認

$ kubectl get service
NAME         TYPE           CLUSTER-IP   EXTERNAL-IP      PORT(S)        AGE
app_name     LoadBalancer   11.1.11.11   11.111.111.111   80:22222/TCP   4d
※IPアドレスやServiceの外部IPアドレスは適当にぼかしています。

EXTERNAL-IPIPアドレス(11.111.111.111)に対して、route53で名前解決してあげましょう。

GKEのServiceリソースの外部IPアドレスに対してroute53で名前解決する

※ホストゾーンは設定されている前提で話を進めます。

kubectl get serviceで確認した外部IPアドレス(11.111.111.111)を「」に入力しましょう。

入力したら「作成」を押してあげてください。

これで名前解決は完了です。

IPアドレス周りの知識に関して参考にしておきたい記事

AレコードとCNAMEレコードの違いについては以下が参考になりました。
参考1:https://qiita.com/PharaohKJ/items/b6a933b7f79afe8a32e1
参考2:https://jprs.jp/glossary/index.php?ID=0212
参考3:http://fujiike.hateblo.jp/entry/2015/09/14/191934