検索
ホームページシステムチュートリアル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 までご連絡ください。
AIとは何ですか? Linuxユーザー向けの初心者ガイドAIとは何ですか? Linuxユーザー向けの初心者ガイドMay 07, 2025 am 11:23 AM

人工知能(AI)は、自動運転車からSiriやAlexaなどの音声アシスタントまで、しばらくの間賑わっている用語です。AIは私たちの日常生活の一部になりつつあります。 しかし、正確にAIは何ですか、そしてなぜLinuxユーザーがABを気にするべきなのか

初心者とsysadminsの50の必須Linuxコマンド初心者とsysadminsの50の必須LinuxコマンドMay 07, 2025 am 11:12 AM

Linuxを初めて使用する人にとって、UbuntuやMintなどのユーザーフレンドリーな分布を使用しても、Linuxを使用することで、依然として挑戦的に感じることがあります。 これらの分布は多くのタスクを簡素化しますが、いくつかの手動構成が必要ですが、Lの力を完全に活用しています

AI開発用のLinuxシステムをセットアップする方法AI開発用のLinuxシステムをセットアップする方法May 07, 2025 am 10:55 AM

前の記事では、AIの基本とLinuxの世界にどのように適合するかを紹介しました。今度は、より深く潜り、Linuxシステムをセットアップして、最初のAIモデルの構築を開始する時が来ました。 あなたが完全な初心者であろうと、ある程度の経験があるかどうか

LinuxにKloxo Webホスティングコントロールパネルをインストールする方法LinuxにKloxo Webホスティングコントロールパネルをインストールする方法May 07, 2025 am 10:52 AM

サーバーを簡単に管理したい場合は、Kloxoは無料でオープンソースのWebホスティングコントロールパネルであり、シンプルでユーザーフレンドリーなインターフェイスでサーバーとWebサイトを管理できるため、優れたオプションです。 このガイドでは、歩きます

Linuxのスペースでファイルとフォルダーを移動する方法Linuxのスペースでファイルとフォルダーを移動する方法May 07, 2025 am 10:17 AM

たくさんのファイルとフォルダーを移動しようとしている状況に陥ったことがある場合、フォルダー名のスペースによって困惑するだけで、あなたは一人ではありません。 ファイル名またはフォルダー名のスペースはすぐに欲求不満になる可能性があります

2025年のKDEプラズマファンのための7つの最高のLinuxディストリビューション2025年のKDEプラズマファンのための7つの最高のLinuxディストリビューションMay 07, 2025 am 10:06 AM

KDEプラズマデスクトップは、洗練されたデザイン、広範なカスタマイズオプション、印象的なパフォーマンスで有名です。すべての詳細を微調整する柔軟性を備えた洗練されたモダンなインターフェースを高く評価しているユーザーにとって、プラズマは夢が叶います。 しかし、w

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

Video Face Swap

Video Face Swap

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

ホットツール

DVWA

DVWA

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

メモ帳++7.3.1

メモ帳++7.3.1

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

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。