検索
ホームページシステムチュートリアルLinuxUbuntuのHaproxy:回復力のあるインフラストラクチャのロードバランシングとフェールオーバー

HAProxy on Ubuntu: Load Balancing and Failover for Resilient Infrastructure

はじめに

今日のペースの速いデジタル環境では、アプリケーションの可用性とパフォーマンスが重要であることを確認します。最新のインフラストラクチャには、サーバーの障害がある場合でもサービスの可用性を維持し、トラフィックを効率的に割り当てるために強力なソリューションが必要です。 haproxy高性能負荷分散とフェールオーバーの実際の標準として、それは生まれました。

この記事では、最も人気のあるLinux分布の1つであるHaproxyとUbuntuの相乗効果について説明します。インストールから高度な構成まで、Haproxyがロードバランスとフェールオーバー機能でインフラストラクチャをどのように変換できるかについて飛び込みます。

荷重バランスの詳細な説明

ロードバランシングは、受信ネットワークトラフィックを複数のサーバーに割り当てるプロセスです。負荷のバランスをとることにより、単一のサーバーが圧倒されず、パフォーマンス、信頼性、フォールトトレランスが向上することが保証されます。

主な利点:

  • スケーラビリティ:サーバーを追加することでトラフィックの増加をトレーニングします。
  • 信頼性:トラフィックを通常のサーバーにルーティングすることで、サーバーの障害の影響を容易にします。
  • パフォーマンス:ワークロードを均等に分配することにより、遅延を減らします。

負荷分散タイプ:

  • レイヤー4(輸送レイヤー):IPおよびポート情報に従ってトラフィックを配布します。
  • レイヤー7(アプリケーションレイヤー):アプリケーションレベルのデータ(HTTPヘッダーなど)に基づいてルーティング決定を行います。

フェイルオーバーコンセプト

フェイルオーバーは、主要なリソースの障害が発生した場合にトラフィックをバックアップリソースに自動的にリダイレクトすることにより、継続性を保証します。これは、

高可用性(ha)セットアップの基礎です。

Haproxyを使用すると、フェイルオーバーはシームレスです:

    バックエンドサーバーが使用できない場合、Haproxyは健康チェックを通じてそれを検出します。
  • トラフィックは他の利用可能なサーバーに再ルーティングされ、途切れないサービスが維持されます。

ubuntu でhaproxyを設定します

ubuntuにHaproxyをインストールして構成することから始めましょう。

前提条件:

    ubuntuサーバー(20.04以上を使用することをお勧めします)。
  • 負荷分散をテストするための複数のバックエンドサーバー。
  • 基本的なLinuxコマンドラインスキル。
ステップ1:Haproxy システムの更新:
    Haproxyのインストール:
  1. sudo apt update && sudo apt upgrade -y
  2. インストールの確認:
  3. sudo apt install haproxy -y
  4. haproxy -vステップ2:haproxyを構成
  5. 編集
構成ファイル:

<code>global
    log /dev/log local0
    log /dev/log local1 notice
    maxconn 2048
    daemon
defaults
    log global
    option httplog
    option dontlognull
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms
frontend http_front
    bind *:80
    default_backend http_back
backend http_back
    balance roundrobin
    server server1 192.168.1.101:80 check
    server server2 192.168.1.102:80 check</code>
  1. 変更を適用するにはhaproxyを再起動します:sudo systemctl restart haproxy
  2. サーバーのIPアドレスにアクセスして、
  3. テストします。 Haproxyは、バックエンド間でリクエストを割り当てます。

Advanced configuration

ロードバランシングアルゴリズム:

  • 世論調査:順次リクエストを順次割り当てます。
  • 接続の数:アクティブな接続が最も少ないサーバーにルーティングされます。
  • 出典:クライアントが常に同じサーバーにルーティングされていることを確認してください。

それに応じて、バックエンドのbalanceディレクティブを更新します。

ヘルスチェック:ヘルスチェックにより、トラフィックが通常のサーバーにのみ送信されることが保証されます。 check命令は定期的な健康チェックを実行します。

ssl終了:トラフィックを保護するには、SSL終了を処理するようにHaproxyを構成します。

  1. SSL証明書を取得します。
  2. https:frontend https_front bind *:443 ssl crt /etc/haproxy/certs/example.pem default_backend http_back
  3. を使用するように構成を更新します

アクセスコントロールリスト(ACL):ACLを使用したフィルタートラフィック:

<code>frontend http_front
    acl is_api path_beg /api
    use_backend api_back if is_api</code>

高可用性を有効にします

KeepAlivedを備えた

vrrp:フェールオーバーを有効にするには、keepAlivedをhaproxyと統合します。

  1. KeepAlivedのインストール:sudo apt install keepalived -y
  2. 構成KeepAlived(/etc/keepalived/keepalived.conf
<code>vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass mypassword
    }
    virtual_ipaddress {
        192.168.1.100
    }
}</code>
    再起動KeepAlived:
  1. sudo systemctl restart keepalived
KeepAlivedは、プライマリサーバーが失敗したときにセカンダリサーバーがシームレスに引き継がれることを保証します。

監視とパフォーマンスチューニング

haproxy統計パネル:リアルタイムの監視のためにパネルを有効にする:

<code>listen stats
    bind *:8404
    stats enable
    stats uri /stats
    stats auth admin:password</code>

にアクセスしてください。 http://<server-ip>:8404/stats</server-ip>

最適化スキル:

  • およびmaxconn設定を調整します。 timeout
  • HTTPトラフィックにGZIP圧縮を使用します。
  • ログの例外を監視します。

ユーザーケースと実際のシナリオ

  • マイクロサービス:APIリクエストを複数のサービスに割り当てます。
  • Webアプリケーション:バックエンドサーバーを拡張してトラフィックスパイクを処理します。
  • データベースロードバランシング:読み取りおよび書き込み操作を最適化します。
  • FAQSのトラブルシューティング

接続の問題:

ファイアウォールルールを確認します。

    サーバーの健康チェックを確認します。
  • パフォーマンスボトルネック:

ファイル記述子のulimitを追加します。

    バックエンドサーバーの構成を最適化します。
  • メンテナンス:

  • 常にバックアップ構成。
  • 交通量の少ない時期に更新を適用します。

結論

HaproxyとUbuntuを組み合わせることにより、トラフィックを管理し、稼働時間を確保するための強力な組み合わせが得られます。上記の手順を使用すると、高い負荷とサーバーの障害を処理できる回復力のあるインフラストラクチャを構築できます。

今すぐHaproxyを試してみて、Ubuntuシステム機能の最大限の可能性を解き放ちます。

以上がUbuntuのHaproxy:回復力のあるインフラストラクチャのロードバランシングとフェールオーバーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

Linuxオペレーティングシステムのコアは、コマンドラインインターフェイスで、コマンドラインを介してさまざまな操作を実行できます。 1.ファイルおよびディレクトリ操作は、ファイルとディレクトリを管理するために、LS、CD、MKDIR、RM、その他のコマンドを使用します。 2。ユーザーおよび許可管理は、useradd、passwd、chmod、その他のコマンドを介してシステムのセキュリティとリソースの割り当てを保証します。 3。プロセス管理は、PS、Kill、およびその他のコマンドを使用して、システムプロセスを監視および制御します。 4。ネットワーク操作には、Ping、Ifconfig、SSH、およびネットワーク接続を構成および管理するためのその他のコマンドが含まれます。 5.システムの監視とメンテナンスは、TOP、DF、DUなどのコマンドを使用して、システムの動作ステータスとリソースの使用を理解します。

Linuxエイリアスを使用したカスタムコマンドショートカットで生産性を高めますLinuxエイリアスを使用したカスタムコマンドショートカットで生産性を高めますApr 12, 2025 am 11:43 AM

導入 Linuxは、柔軟性と効率性により、開発者、システム管理者、およびパワーユーザーが好む強力なオペレーティングシステムです。しかし、頻繁に長く複雑なコマンドを使用することは退屈でERです

Linuxは実際に何に適していますか?Linuxは実際に何に適していますか?Apr 12, 2025 am 12:20 AM

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

Linuxで倫理的ハッキングを習得するための必須ツールとフレームワークLinuxで倫理的ハッキングを習得するための必須ツールとフレームワークApr 11, 2025 am 09:11 AM

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

Linuxの基本を学ぶ方法は?Linuxの基本を学ぶ方法は?Apr 10, 2025 am 09:32 AM

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxの最も使用は何ですか?Linuxの最も使用は何ですか?Apr 09, 2025 am 12:02 AM

Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

Linuxの欠点は何ですか?Linuxの欠点は何ですか?Apr 08, 2025 am 12:01 AM

Linuxの欠点には、ユーザーエクスペリエンス、ソフトウェア互換性、ハードウェアサポート、学習曲線が含まれます。 1.ユーザーエクスペリエンスは、WindowsやMacOほどフレンドリーではなく、コマンドラインインターフェイスに依存しています。 2。ソフトウェアの互換性は他のシステムほど良くなく、多くの商用ソフトウェアのネイティブバージョンがありません。 3.ハードウェアサポートはWindowsほど包括的ではなく、ドライバーは手動でコンパイルされる場合があります。 4.学習曲線は急で、コマンドラインの操作をマスターするには時間と忍耐が必要です。

Linuxは学ぶのが難しいですか?Linuxは学ぶのが難しいですか?Apr 07, 2025 am 12:01 AM

linuxisnothardtolearn、butthedifficultydependsonyourbackgroundandgoals.forthosewithosexperience、特にcommand-llinefamparsition、linuxisaneasyytransition.beginnersmayteeper relearningcurvebutcanagewithpersources.linux'sopen-sourcenature

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

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