ホームページ システムチュートリアル Linux OctoDNS および DNS 分割権限構成の使用方法

OctoDNS および DNS 分割権限構成の使用方法

Jan 02, 2024 pm 08:30 PM
linux Linuxチュートリアル レッドハット Linuxシステム Linuxコマンド Linux 認定 レッドハットリナックス Linuxビデオ

###導入### 堅牢なシステムを構築するには、障害を想定した設計が必要です。 GitHub のサイト信頼性エンジニア (SRE) として、私たちは冗長性を通じて問題を軽減できるよう常に努めています。今日は、DNS 経由でのサーバーの検索をサポートするために行った最近の取り組みについて説明します。 大規模な DNS プロバイダーは、サービスに複数のレベルの冗長性を組み込んでおり、機能停止を引き起こす問題が発生した場合、その影響を軽減するための措置を講じることができます。最良のオプションの 1 つは、地域の信頼できるサービスを複数のサービス プロバイダーに分割することです。分割権限を有効にすることは、ドメイン レジストラーでゾーンの 2 つ以上のネーム サーバーのセットを構成するのと同じくらい簡単で、DNS 要求はリスト全体で分割されます。ただし、これらの領域の記録は複数のプロバイダー間で同期しておく必要があり、状況に応じて、これは設定が複雑になるか、完全に手動のプロセスになる可能性があります。
リーリー

上記のクエリは、TLD ネーム サーバーに github.com の NS レコードを要求するものです。ドメイン レジストラーで構成した値が返されます。この場合、それぞれ 4 つのレコードを持つ 2 つの DNS サービス プロバイダーがあります。プロバイダーの 1 つが停止した場合でも、他のプロバイダーが引き続きリクエストを処理できる可能性があります。どこでもレコードを同期し、古いデータや間違った状態を心配することなく、安全にレコードを変更できます。

分割権限を完全に構成する最後の部分は、両方の DNS サービス プロバイダーのすべてのネーム サーバーをトップレベルの NS レコードとしてゾーンのルートに追加することです。

リーリー

GitHub には数十の領域と数千のレコードがありますが、これらの領域のほとんどは冗長性が必要になるほど重要ではないため、サブセットのみを扱う必要があります。私たちは、これらのレコードを複数の DNS サービス プロバイダー間で同期し、より一般的には内部および外部のすべての DNS レコードを管理できるソリューションを実現したいと考えています。そこで今日、OctoDNS を発表します。

###構成###

OctoDNS を使用すると、DNS ワークフローを再発明できます。リージョンとレコードは、Git リポジトリの構成ファイルに保存されます。 GitHub フローを使用して変更を加え、サイトと同様にブランチを使用してデプロイします。 「空の」デプロイメントを作成して、変更によってどのレコードが変更されるかをプレビューすることもできます。構成ファイルは yaml ディクショナリであり、リージョンごとに 1 つあり、その最上位キーはレコード名で、キー値は ttl、type、およびタイプ固有のデータです。たとえば、ゾーン ファイル github.com.yaml に含まれている場合、次の設定により octodns.github.com の A レコードが作成されます。

リーリー 構成の 2 番目の部分では、レコード データのソースを DNS サービス プロバイダーにマップします。次のコード スニペットは、構成プロバイダーからゾーン github.com をロードし、その結果を dyn および Route53 に同期するように OctoDNS に指示します。 リーリー

同期

構成が完了すると、OctoDNS は現在の状態を評価し、ターゲットの状態をソースに一致させるために必要な一連の変更の概要を示す計画を構築できます。以下の例では、octodns.github.com は新しいレコードであるため、必要なアクションは両方にレコードを作成することです。

リーリー デフォルトでは、octodns-sync はシミュレートされた実行モードになっているため、アクションは実行されません。変更を確認して問題がなければ、「--doit」フラグを追加してコマンドを再度実行できます。 OctoDNS は処理フローを継続し、今回は Route53 と Dynect に必要な変更を加えて新しいレコードを作成します。 リーリー

現時点では、両方の DNS サービス プロバイダーに同じデータ レコードがあり、正確な結果が得られることがわかっているので、DNS リクエストをそれらの間で簡単に分割できます。上記の OctoDNS コマンドを直接実行すると、内部ワークフローは展開スクリプトと Chatops に依存します。詳細については、README のワークフロー セクションを参照してください。

要約

私たちは、ほとんどの Web サイトが権限を分割することで恩恵を受けることができると考えており、OctoDNS によって最大のハードルが取り除かれることを願っています。権限の分割に興味がない場合でも、コードとしてのインフラストラクチャの利点を DNS にもたらす OctoDNS は一見の価値があります。

GitHub SRE チームが興味深い問題を解決するのを手伝いたいですか?ぜひご参加ください。こちらからお申し込みください。

以上がOctoDNS および DNS 分割権限構成の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

Linuxアーキテクチャ:5つの基本コンポーネントを発表します Linuxアーキテクチャ:5つの基本コンポーネントを発表します Apr 20, 2025 am 12:04 AM

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

Apr 16, 2025 pm 07:39 PM

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

vscode端子使用チュートリアル vscode端子使用チュートリアル Apr 15, 2025 pm 10:09 PM

VSCODEビルトインターミナルは、エディター内でコマンドとスクリプトを実行して開発プロセスを簡素化できるようにする開発ツールです。 VSCODE端子の使用方法:ショートカットキー(CTRL/CMD)で端子を開きます。コマンドを入力するか、スクリプトを実行します。 Hotkeys(Ctrl Lなどの端子をクリアするなど)を使用します。作業ディレクトリ(CDコマンドなど)を変更します。高度な機能には、デバッグモード、自動コードスニペット完了、およびインタラクティブコマンド履歴が含まれます。

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

vscodeでコードを書く場所 vscodeでコードを書く場所 Apr 15, 2025 pm 09:54 PM

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

vscodeはMacに使用できますか vscodeはMacに使用できますか Apr 15, 2025 pm 07:36 PM

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

See all articles