クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

アクセスを分散させる(プロキシ、ロードバランサー)

レッスンの全文をここで読めます。無料アカウントを作ると、コマンドをラボで実行し、クイズと課題に取り組めます。

45分のレッスンコマンドなし

間に立つ機器

愛知の自動車部品メーカーでは、社員のパソコンが外のサイトを見るとき、必ず社内のプロキシを通ります。

一方、この会社の部品注文サイトには、毎朝たくさんの取引先が来ます。その入り口にも、注文を受けて後ろのサーバーに渡す機器があります。

どちらも「間に立つ」機器です。けれども、誰の側に立つかが違います。

このレッスンのゴール

メモ

プロキシ、リバースプロキシ、ロードバランサーの役割を説明できる。

キーワード

ことばいみ
プロキシ社内の利用者の代わりに外へつなぐ仲介役
リバースプロキシサーバーの代わりに外からの頼みを受ける仲介役
ロードバランサー頼みごとを複数のサーバーに分ける機器
バックエンド仲介役の後ろで実際に仕事をするサーバー
ヘルスチェックサーバーが動いているかの定期的な確認

学生が入力するセルは、このプレビューでは空白です。

プロキシは利用者の側に立つ

プロキシは、社内の利用者の代わりに外のサイトへつなぎます。外から見えるのは、プロキシの住所だけです。

会社は、プロキシで危ないサイトを止めたり、記録を残したりします。

リバースプロキシは逆です。サーバーの側に立ち、外からの頼みを受けます。利用者からは、後ろのサーバーが見えません。

よくある思い違い

注意

プロキシとリバースプロキシは同じものだ、と思う人が多いです。使う技術は似ていても、守る側が違います。利用者の側ならプロキシ、サーバーの側ならリバースプロキシです。

ロードバランサーは仕事を分ける

年末の大きな注文の日には、一台のサーバーでは追いつきません。

ロードバランサーは、届いた頼みを何台かのサーバーに分けます。いちばん簡単な分け方は、順番に一つずつ回す方法です。これをラウンドロビンと言います。

ヘルスチェックで止まったサーバーを見つけると、そこには配りません。

例: web2が止まったときの配り方

リクエスト全部動いているweb2が止まった
1番目web1web1
2番目web2web3
3番目web3web1
4番目web1web3
5番目web2web1

学生が入力するセルは、このプレビューでは空白です。

やってみよう: 順番に配る

コード: python
servers = ["web1", "web2", "web3"]

# 届いた順に、サーバーへ一つずつ回して配ります
for number in range(7):
    server = servers[number % len(servers)]
    print("リクエスト", number + 1, "→", server)

# servers に "web4" を足して、配り方がどう変わるか見ましょう

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。