Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CloudMapとService Connectの名前解決方法を比較してみた

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Tsuyataku Tsuyataku
September 04, 2025
910

CloudMapとService Connectの名前解決方法を比較してみた

Avatar for Tsuyataku

Tsuyataku

September 04, 2025

Transcript

  1. ⽬次 2 • ⾃⼰紹介(30秒) • CloudMapとServiceConnectの名前解決を⽐較する ◦ CloudMapとは?(1分) ◦ CloudMapの名前解決の仕組みは?(2分)

    ◦ ServiceConnectとは?(1分) ◦ ServiceConnectの名前解決の仕組みは?(2分) ◦ まとめ(30秒)
  2. ⾃⼰紹介 3 • 2023年4⽉ 独⽴系Slerに新卒⼊社  AWS、Azure、GCPを使ったWebアプリのインフラ 基盤の構築⽀援  【当時の⾃分】   クラウドの⾯⽩さを知る。   家でひたすらAWSコンソールを触る。   TerraformやAnsibleなどのIaCツールを齧る。

    • 2025年7⽉ クラスメソッド株式会社に中途⼊社 AWSのコンサル⽀援‧構築⽀援を担当  【今の⾃分】  より、モダンな構成を実装したい。   (コンテナ‧CICD‧サーバレス)   ブログ執筆とかAIを使ったIaC開発楽しい。 • 所属 ◦ クラスメソッド株式会社 • 名前(ニックネーム) ◦ 津⾕拓郎(つやたく) • 出⾝‧住まい ◦ 東京都⼤⽥区 • 好きな技術 ◦ AWS‧GCP‧Terraform • 趣味 ◦ 社交ダンス‧サウナ‧ポケモン
  3. Service Connectとは? 12 Service ConnectはECSに特化したマイクロシステム間の通信設定の管理サービスです。 通信設定を⾃動化してくれるという観点では、CloudMapと機能は似ているように思いま すが通信の仕⽅は異なります。 CloudMapみたいに、サービスを⾃動検出し て、DNSクエリでクライアントから名前解決す るんじゃないの?

    Service ConnectはDNSクエリによる名前解決はしません。サービスの短縮名を作成し、 そのサービス名を使ってそのまま通信させることができます。 それだと、CloudMapの機能と変わらないので は?DNSクエリ以外でどうやって通信を成功さ せるの?
  4. Service Connectの名前解決の仕組みは? 15 frontend→backendに名前解決するた めにクラスターを2つ作りました。 ‧test-frontend ‧test-backend Service Connectの設定は、サービス検出(Service Discovery)同様、ECSサービスの設定画⾯から⾏うこ

    とができます。CloudMapの名前空間は事前に登録しておきます。 frontend backend backendは、frontendからの通信を待ち受けるために、「ポートエイリアス」「検出」「DNS」を登録 する必要があります。
  5. CloudMapの名前解決の仕組みは? 18 実際にECS Execでfrontendコンテナに接続して、名前解決の仕⽅を確認していきます。 aws ecs execute-command --cluster test-frontend --task

    (タスクID)--container wordpress(コンテ ナ名)--interactive --command "/bin/sh" 「/etc/hosts」を確認すると、下記のように表⽰されていました。 mysqlに名前解決するためのエントリが⽤意されていました。 「mysql-dns」は先ほどBackend側のServiceConnectで設定した「dns」名であり、 このホスト名を利⽤して名前解決をしているようです。 「127.255.0.1」がEnvoyプロキシを⽰しており、同じ名前空間にあるリソースへの名前解決は⾃動的に Hostファイルに書き込まれる仕組みのようです。