Skip to content

BYOCデプロイメントの作成

EMQX CloudのBring Your Own Cloud(BYOC)プランは、お客様自身のクラウドインフラストラクチャ上にデプロイメントを作成できる機能を提供し、データをお客様の環境内に保持することを可能にします。このデプロイメントにより、データのセキュリティと管理が向上し、データ漏洩などのリスクを回避できます。さらに、EMQX BYOCデプロイメントは、さまざまなシナリオのニーズに応じたパフォーマンスとスケーラビリティの向上も実現します。本ページでは、BYOCデプロイメントの作成および利用方法について説明します。

前提条件

BYOCデプロイメントを作成する前に、ConsoleでBYOC作成ステータスを確認してください。デプロイメント作成ページでBYOCを選択し、右側のボタンを確認します:Contact Usは承認が必要であることを示し、New Deploymentはアカウントが承認されていることを示します。

byoc_permission

また、対応するパブリッククラウドのアカウント準備、クラウドリソースの計画、EMQX BYOC製品ライセンスの申請も必要です。詳細はデプロイメントの前提条件をご参照ください。

デプロイメントの作成

  1. アカウントにログインし、EMQX Cloud Consoleにアクセスします。

  2. 初めてプラットフォームを利用する場合は、まずプロジェクトを作成する必要があります。詳細な手順はプロジェクトの作成を参照してください。すでにプロジェクトを作成済みの場合は、このステップをスキップできます。

  3. ConsoleのOverviewページでNew Deploymentをクリックして直接作成プロセスを開始するか、デプロイメントを作成したいプロジェクトカードをクリックし、プロジェクトページでNew Deploymentをクリックして進めます。

  4. Choose PlanBYOCを選択します。

  5. BYOCプランの設定をニーズに応じて構成します。

    BYOCSpecification

    クラウドプロバイダー&リージョンの設定

    • Choose Cloud PlatformAWSGoogle Cloud、またはAzureを選択します。

      他のクラウドプラットフォームでのデプロイを希望する場合は、チケットまたはメールでお問い合わせください。

    • Choose Region:デプロイするリージョンを選択します。

      他のリージョンでのデプロイを希望する場合も、チケットまたはメールでお問い合わせください。

    設定(EMQXクラスター用)

    TIP

    最大セッション数は、申請したEMQX BYOCライセンスに記載された数と一致している必要があります。デプロイ完了後にセッション数の上限を変更する場合は、チケットよりお問い合わせください。

    • Sessions Limit:任意の時点で接続されるMQTTデバイスの最大同時セッション数を指定します。

    • Pub&Sub TPS:送受信されるメッセージの最大トランザクション数(TPS)を指定します。

    • EMQX Node Instance TypeSessions LimitおよびPub&Sub TPSに基づいて自動選択されます。実際のビジネスニーズに応じてインスタンスタイプを変更することも可能です。

    • EMQX Node QuantitySessions LimitおよびPub&Sub TPSに基づいて自動入力されます。実際のビジネスニーズに応じてノード数(2〜5ノード)を変更可能です。

    • VPC CIDR Block:仮想プライベートクラウド(VPC)作成に使用するプライベートIPアドレス範囲を選択します。

    デプロイメント名&プロジェクト

    • Deployment Name:ビジネス上の意味を持つデプロイメント名を入力します。
    • Project:適切なプロジェクトを選択します。プロジェクトは最後にアクセスしたものがデフォルトで選択されます。ページ上部のプロジェクト名をクリックして別のプロジェクトに切り替えることも可能です。なお、デプロイメント作成後はプロジェクトの変更はできません。

    タグ(任意):リソース管理のためにクラウドリソースタグを最大10個まで追加できます。

  6. デプロイメント情報を確認後、右側のボタンを使用します:

    • Contact Us:BYOC作成の承認がアカウントに対してされていません。このボタンをクリックし、事前入力されたチケット画面でConfirmをクリックしてください。承認後にこのページに戻り、BYOCデプロイメントの作成を続行できます。
    • New Deployment:BYOC作成が承認されています。このボタンをクリックして続行します。
  7. 表示されるBYOC Deployment Guideを確認し、Get Startedをクリックします。

続いて、Run Deploymentセクションの手順に従いデプロイメントを開始します。

デプロイメントの実行

BYOCデプロイメントを作成すると、そのステータスはWaiting to be Deployedとなり、MQTT Connection Informationにはデプロイメントの詳細が表示されません。以下の手順でデプロイメントを完了してください。

  1. Deployment OverviewページでDeployをクリックします。
  2. Deployment Guideパネルで、作成時に選択したクラウドプロバイダーの手順に従います。
  3. ガイドの指示に従い、インターネット接続があるUbuntu 22.04(AMD64)環境を準備し、必要なTLS/SSL証明書およびBYOCライセンスファイルをこの環境にコピーします。ガイドで必要な値の説明はコマンドパラメーターを参照してください。
  4. 現在のデプロイメント用に生成されたコマンドをコピーし、Ubuntuのコマンドラインインターフェースで指定された順序で実行します。クラウド認証情報、ドメイン、証明書パスのプレースホルダーのみを置き換え、EMQX Cloudが自動生成した値は変更しないでください。
  5. 作成されるクラウドリソースの確認を求められたら、yesと入力します。

クラウドリソースの作成が完了したら、DNSレコードの追加に進みます。

コマンドパラメーター

Deployment Guideで生成されるコマンドには、クラウドプロバイダー認証情報、MQTTサービスドメイン、TLS/SSL証明書、EMQX Cloudアクセス用のパラメーターが含まれます。コマンド実行前に、以下の説明に従い入力が必要なプレースホルダーを置き換えてください。

クラウドプロバイダー認証情報

パラメータークラウドプロバイダー説明
--accessKeyAWSAWS IAMユーザーのアクセスキーID。
--secretKeyAWSAWS IAMユーザーのシークレットアクセスキー。
--projectIDGoogle CloudGoogle CloudプロジェクトID。Google Cloud Consoleのプロジェクトセレクターで確認可能。
--authJSONPathGoogle CloudGoogle CloudサービスアカウントキーのJSONファイルの絶対パス。
--tenantIDAzureMicrosoft Entraディレクトリ(テナント)ID。
--subscriptionIDAzure対象リソースグループを含むAzureサブスクリプションのID。
--resourceGroupNameAzure準備済みのリソースグループ名。ツールキットはこのリソースグループの作成・削除は行いません。
--accessKeyAzureサービスプリンシパルのアプリケーション(クライアント)ID。
--secretKeyAzureサービスプリンシパルのクライアントシークレット値。

Azureの場合、ツールキットはサービスプリンシパルの認証情報をローカルで使用し、EMQX Cloudには送信しません。

ドメインおよび証明書パラメーター

パラメーター説明
--domainMQTTクライアントがデプロイメントにアクセスするためのドメイン名(例:your.domain.com)。
--sslCertPathCA署名済みTLS/SSL証明書の絶対パス。証明書フォーマットの要件はBYOCプランのTLS/SSL設定を参照してください。
--sslKeyPathTLS/SSL証明書に対応する秘密鍵の絶対パス。秘密鍵フォーマットの要件はBYOCプランのTLS/SSL設定を参照してください。
--clientCaPath任意のクライアントCA証明書の絶対パス。このパラメーターを指定すると双方向TLS/SSL認証が有効になります。詳細はBYOCプランのTLS/SSL設定を参照してください。

--clientCaPathが不要な場合は、コマンドからこのパラメーターを削除してください。指定しない場合は一方向TLS/SSL認証が使用されます。

Console生成パラメーター

Deployment Guideで自動生成される以下の値は変更しないでください。

パラメーター説明
--platformデプロイメントで選択されたクラウドプロバイダー。
--byocEndpointツールキットが使用するEMQX Cloudアクセスアドレス。
--byocKey現在のBYOCデプロイメントの認証キー。キーは1時間有効で、コマンド生成後速やかに使用してください。

DNSレコードの追加

デプロイメントリソースが作成されると、以下の情報が返されます。返されたIPアドレスを基に、DNSサービスにドメイン名解決レコードを追加し、デプロイされたパブリックIPアドレスをドメイン名に紐付けます。DNSやドメイン名解決の基本概念についてはDNSの概念を参照してください。

bash
Apply complete! Resources: 45 added, 0 changed, 0 destroyed.

Outputs:

cloud_register_data = <sensitive>
jwt_token = <sensitive>
lb_address = "<Your Deployment IP>"
password = "<EMQX Dashboard Password>"
username = "<EMQX Dashboard Username>"
vpc_id = "vpc-bp1n1dwiv2srgkgle4rlu"
*****************************
You need add a record to your DNS service provider.
IP address: 112.124.9.12
Domain: <Your Custom Domain>
*****************************
Checking if <Your Custom Domain> is resolved to the 112.124.9.12 of the load balancer

クラウドプラットフォームが提供するDNS解決サービスや、その他のマネージドDNSプロバイダーを利用可能です。Google Cloud PlatformのCloud DNSを例にすると、以下の手順に従えます:レコードの追加、変更、削除 | Cloud DNS | Google Cloud

DNSレコードが有効になると、システムはHTTPS listener is readyを返します。

bash
HTTPS listener is ready

デプロイメントの完了

ドメイン名解決が完了すると、Ubuntuのコマンドラインインターフェースに以下が出力され、デプロイメント成功を示します。

bash
Deployment successful! Here is the service information:
--------------------------------------------------------
EMQX service connection address: <Your Custom Doamin>
EMQX Dashboard address: https://<Your Custom Doamin>:18084
EMQX Dashboard username: <EMQX Dashboard Username>
EMQX Dashboard password: <EMQX Dashboard Password>
You can log in to the EMQX Cloud Console(https://cloud.emqx.com/console) to manage your deployment.
--------------------------------------------------------
Thank you for choosing our service. Happy IoT!

EMQX Dashboardのユーザー名とパスワードは管理コンソールへのログインおよびクラスター管理に使用するため、安全に保管してください。この情報は今後再表示されません。

デプロイメント情報の確認

デプロイメント概要ページに戻り、ページを更新するとリアルタイムのステータスおよび接続情報を取得できます。

byoc

リアルタイムステータス:

  • Deployment Name:デプロイメント名。クラウドリソースのプレフィックスとしても使用され、パブリッククラウドコンソールでの迅速な検索に役立ちます。
  • Instance Status:稼働状況および作成日時。
  • Sessions:現在の接続数と最大許容数。
  • Pub&Sub TPS:デプロイメント内での1秒あたりの送受信メッセージ数とTPS制限。

接続情報:

  • Address:デプロイ時にユーザーが指定したドメイン名。
  • Connection Ports:デフォルトで、MQTTプロトコルアクセス用にポート1883(mqtt)、8883(mqtts)、8083(ws)、8084(wss)が開放されています。DashboardログインおよびREST APIアクセスにはそれぞれ18084(https)、8443(https)が使用されます。

ポートのカスタマイズを希望する場合は、サポートチケットまたはメール(cloud-support@emqx.io)でお問い合わせください。

ライセンス情報:

基本的なライセンス情報と有効期限が含まれます。詳細はBYOCライセンスを参照してください。

高度なネットワーク設定

VPCピアリング設定

仮想プライベートクラウド(VPC)ピアリングは、異なるネットワーク内の2つのVPC間で通信を可能にするネットワーク接続です。この機能はクラウドサービスプロバイダーによって提供され、BYOCがデプロイされたVPCと同じクラウドサービスプロバイダー内の他のVPC間のピアリング接続をサポートします。VPCピアリングの設定については、各パブリッククラウドのVPCピアリングドキュメントを参照してください:Working with VPC Peering - Amazon Web ServiceVPC Network Peering - Google Cloud

NATゲートウェイ設定

パブリッククラウドプラットフォームが提供するNATゲートウェイはネットワークアドレス変換サービスを提供し、VPCピアリング接続なしでBYOCデプロイメントがパブリックネットワークリソースにアクセスできるようにします。BYOCがデプロイされたVPCにNATゲートウェイを追加できます。詳細はパブリッククラウドのNATゲートウェイドキュメントを参照してください:NAT Gateways - Amazon Web ServiceCloud NAT - Google Cloud

デプロイメントへの接続

テスト用に任意のMQTTクライアントツールを使用してデプロイメントに接続できます。推奨ツールはMQTTXです。