RabbitMQ Messaging & Async Systems · レッスン

マルチテナント分離のためのVirtual Host

RabbitMQのVirtual Hostを使って、チームや環境間でexchange、queue、権限を分離します。安全なマルチテナントデプロイの基盤となる方法です。

レッスン 4/413 ステップ

「マルチテナント分離のためのVirtual Host」はCoddyKit上の無料RabbitMQ Messaging & Async Systemsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRabbitMQ Messaging & Async Systems学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 RabbitMQ Messaging & Async Systemsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Why Isolation Matters

Sharing one broker across teams or environments risks name clashes and accidental cross-access. Virtual hosts (vhosts) partition a broker into isolated namespaces.

What Is a Virtual Host?

A vhost is a logical grouping of exchanges, queues, bindings, and permissions. Resources in one vhost are invisible to another, even with identical names.

The Default Vhost

RabbitMQ ships with a default vhost named /. Production setups usually create dedicated vhosts instead of using the default for everything.

Creating a Vhost

Create vhosts via the CLI.

rabbitmqctl add_vhost team-payments

Granting Permissions per Vhost

Permissions are scoped to a vhost. Grant a user configure, write, and read access with regex patterns.

rabbitmqctl set_permissions -p team-payments alice '.*' '.*' '.*'

Connecting to a Vhost

Clients select a vhost in the connection parameters; the same credentials may have different rights in different vhosts.

params = pika.ConnectionParameters(host='localhost', virtual_host='team-payments')

Isolation in Practice

  • Queue orders in vhost A is separate from orders in vhost B
  • A user without permission on a vhost cannot even see it
  • Resource limits can be applied per vhost

Vhost vs Separate Brokers

Vhosts give logical isolation on shared infrastructure, cheaper than running many brokers, but they share the same node resources (CPU, memory, disk).

Per-Vhost Limits

You can cap the number of connections and queues per vhost to stop one tenant from starving others.

rabbitmqctl set_vhost_limits -p team-payments '{"max-connections": 100, "max-queues": 50}'

Monitoring per Vhost

The management plugin shows metrics broken down by vhost, so you can track each tenant's message rates, queue depths, and connection counts independently.

Security Best Practices

  • One vhost per team or environment
  • Least-privilege permission regexes
  • Avoid the default vhost for real workloads
  • Apply per-vhost limits

Quick Check

Test your vhost understanding.

Recap

Virtual hosts partition a single broker into isolated namespaces with their own resources, permissions, and limits.

Use one vhost per team or environment, apply least-privilege permissions and per-vhost limits, and avoid the default vhost for production traffic.

無料で開始

AI チューターと学ぶ RabbitMQ Messaging & Async Systems — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
11
レッスン
44

よくある質問

「マルチテナント分離のためのVirtual Host」レッスンは無料ですか?

はい。「マルチテナント分離のためのVirtual Host」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、RabbitMQ Messaging & Async Systemsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 RabbitMQ Messaging & Async Systemsコースには全4レッスンが含まれています。

「マルチテナント分離のためのVirtual Host」で何を学びますか?

RabbitMQのVirtual Hostを使って、チームや環境間でexchange、queue、権限を分離します。安全なマルチテナントデプロイの基盤となる方法です。 ブラウザで直接実行するハンズオンコードでRabbitMQ Messaging & Async Systemsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

RabbitMQ Messaging & Async Systemsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのRabbitMQ Messaging & Async Systemsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「マルチテナント分離のためのVirtual Host」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このRabbitMQ Messaging & Async Systemsレッスンでコードを書いて実行できますか?

はい。すべてのRabbitMQ Messaging & Async Systemsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. RabbitMQのユーザーと権限
  2. 安全な接続のためのSSL/TLS
  3. RabbitMQ Managementプラグインとメトリクス
  4. マルチテナント分離のためのVirtual Host
← RabbitMQ Messaging & Async Systemsに戻る