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

(みんなやっているはずなのに情報が少ない)DNSレコード管理の改善

 (みんなやっているはずなのに情報が少ない)DNSレコード管理の改善

2025/04/04(金)開催の ゆるSRE #10 での発表資料
https://yuru-sre.connpass.com/event/348136/

coconala_engineer

April 06, 2025
Tweet

More Decks by coconala_engineer

Other Decks in Technology

Transcript

  1. Copyright coconala Inc. All Rights Reserved. 1 - インフラ・SREチームで全社のDNSレコードを一元管理 -

    DNSレコード編集時の構成ドラフトチェック・デプロイ時に 全ホストゾーンの全DNSレコードを対象にとる 3 ココナラの、これまでの DNSレコード管理
  2. Copyright coconala Inc. All Rights Reserved. 1 - プラットフォームチームで全社のDNSレコードを一元管理 •

    [課題] ◦ -> DNSレコード編集作業のトイル性が高まる ◦ -> 依頼のリードタイムで開発がスピード低下する 4 ココナラの、これまでの DNSレコード管理
  3. Copyright coconala Inc. All Rights Reserved. 1 - DNSレコード編集時の構成ドラフトチェック・デプロイ に全ホストゾーンの全DNSレコードを対象にとる

    • 管理が漏れないという点で、↑はGoodポイント ◦ 手動で登録されたDNSレコードをマイナス差分で検知できる • [課題] ◦ 依頼が重なった場合に、タイミングや PR統合の調整が必要 ▪ 調整が面倒 -> 直接変更 -> マイナス差分が増加 -> 調整が面倒 -> 直接変更 -> ……… のBadなフィードバックループ 5 ココナラの、これまでの DNSレコード管理
  4. Copyright coconala Inc. All Rights Reserved. 2 • 全ホストゾーンの全DNSレコードを集中管理による運用性低下 ◦

    -> DNSレコード管理の分散による運用性向上 • DNSレコード管理のトイル性上昇 • リードタイムによる開発スピード低下 ◦ -> DNSレコード編集のセルフサービス化 6 課題へのアプローチ
  5. Copyright coconala Inc. All Rights Reserved. 2 • DNSレコードがインフラリソースに紐づくかどうかで分類 ◦

    紐づく ▪ DNSレコードに対応するリソースと一緒に Terraform管理 ▪ ステート分割の思想ともシナジーする ◦ 紐づかない ▪ ドメイン認証用レコード、PaaSのAレコード...etc ▪ 開発者の依頼駆動で編集することが多い -> セルフサービス化の対象 7 課題へのアプローチ - DNSレコード管理の分散による運用性向上
  6. Copyright coconala Inc. All Rights Reserved. 2 • セルフサービス対象のDNSレコードもTerraformで管理 ◦

    yamldecode 関数と file 関数の組み合わせで DNSレコードのファイルとTerraformコードのディレクトリを分離 -> 開発者の認知負荷を下げる ◦ ホストゾーン * 環境ごとにステートを分離 -> 作業範囲重複の可能性を下げる 8 課題へのアプローチ - DNSレコード編集のセルフサービス化
  7. Copyright coconala Inc. All Rights Reserved. 2 • Terraform ×

    GitHub Actions × Slack でセルフサービス化 ◦ PRレビューを開発者に移譲し、デプロイはCI/CDで実現 9 課題へのアプローチ - DNSレコード編集のセルフサービス化
  8. Copyright coconala Inc. All Rights Reserved. 3 • まだ改善は必要 ◦

    開発者にDNS知識をEnabling ▪ セルフサービスは(みんなに)使われないと意味がない ◦ ChatOpsによる運用のさらなる省力化 ▪ Slackで通知・Plan確認・デプロイ承認を完結させる 10 これから