Skip to content

BYOCデプロイメントの作成 ​

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

前提条件 ​

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

byoc_permission

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

デプロイメントの作成 ​

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

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

  3. コンソールの概要ページでNew Deploymentをクリックして作成を開始するか、デプロイメントを作成したいプロジェクトカードをクリックし、プロジェクトページでNew Deploymentをクリックして進めます。

  4. Choose PlanでBYOCを選択します。

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

    BYOCSpecification

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

    • Choose Cloud Platform:AWS、Google Cloud、またはAzureを選択します。

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

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

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

    設定(EMQXクラスター用):

    TIP

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

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

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

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

      新規BYOCデプロイメントに適用される最小インスタンスタイプは以下の通りです:

      クラウドプロバイダー最小インスタンスタイプvCPUメモリ
      AWSm7i.large28 GiB
      Google Cloudc4-standard-227 GiB
      AzureStandard_D2s_v528 GiB

      ワークロード要件に応じてより大きなインスタンスタイプを選択できます。既存のデプロイメントは自動的にこれらのインスタンスタイプに移行されません。選択したリージョンで必要なインスタンスタイプが利用できない場合、最小インスタンスタイプ以下のインスタンスを使用せずにデプロイ作成は失敗します。

    • EMQX Node Quantity:Sessions 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認証が使用されます。

コンソール生成パラメーター ​

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ダッシュボードのユーザー名とパスワードは管理コンソールへのログインおよびクラスター管理に使用するため、安全に保存してください。この情報は今後再表示されません。

BYOCデプロイメントの稼働を確認した後は、ご利用のクラウドプロバイダー向けにBYOCデプロイメントの強化を実施してください。

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

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

byoc

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

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

接続情報:

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

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

ライセンス情報:

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

高度なネットワーク設定 ​

VPCピアリング設定 ​

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

NATゲートウェイ設定 ​

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

デプロイメントへの接続 ​

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