Skip to content

Oracle CloudとのVPCピアリング接続

本ドキュメントでは、ローカルピアリングゲートウェイ(LPG)を使用して、EMQX CloudとOracle Cloud Infrastructure(OCI)間でVPCピアリング接続を作成する方法について説明します。

この構成では:

  • Oracle Cloudリソースが存在する仮想クラウドネットワーク(VCN)がリクエスター側として機能します。
  • EMQX Cloudのデプロイメントが存在するVCNがピアリング接続のアクセプター側として機能します。

前提条件

開始する前に、以下を確認してください:

  • Oracle CloudのVCNとEMQX Cloudのデプロイメントが同じリージョンにあること。
  • Oracle CloudのVCNのCIDRブロックがEMQX CloudのVCNのCIDRブロックと重複していないこと。
  • Oracle CloudでVCN、ローカルピアリングゲートウェイ、ルートテーブル、およびセキュリティルールを管理する十分な権限を持っていること。

VPCピアリング接続の作成

ステップ1:Oracle Cloudから必要なOCIDを収集する

ピアリング接続を開始する前に、Oracle Cloudアカウントから以下のOCIDを収集してください。これらはEMQX Cloudコンソールで接続リクエストを送信する際に必要です。

グループOCIDの取得

  1. Oracle Cloudコンソールで、Identity & Security -> Identity -> Domains に移動します。

  2. 既存のドメイン(例:Default)を開くか、新規作成します。

    domains

  3. ドメイン内で、User Management -> Groups に移動し、既存のグループを選択するか、Create group をクリックして新規作成します。

    ピアリング接続を確立するユーザーがグループに含まれていることを確認してください。

    user_groups

  4. グループを開き、グループ詳細に表示されているOCIDをコピーします。

    group_ocid

コンパートメントOCIDの取得

  1. Identity & Security -> Identity -> Compartments に移動します。

  2. EMQX CloudとピアリングするVCNが含まれるコンパートメントを選択します。

  3. コンパートメント詳細ページからOCIDをコピーします。

    compartment_ocid

テナンシーOCIDの取得

  1. Governance & Administration -> Account Management -> Tenancy Details に移動します。

  2. General Information セクションからOCIDをコピーします。

    tenancy_ocid

OCI識別子の確認

続行前に、各OCI識別子が正しい用途に使用されているか確認してください:

用途必須値例の形式
リクエスターグループグループOCIDocid1.group.oc1...
リクエスターコンパートメントコンパートメントOCIDocid1.compartment.oc1...
リクエスターテナンシーテナンシーOCIDocid1.tenancy.oc1...

リクエスターコンパートメントIDとしてグループOCIDやテナンシーOCIDを使用しないでください。リクエスターコンパートメントIDはOracle CloudのVCNおよびローカルピアリングゲートウェイを含むコンパートメントのOCIDでなければなりません。

ステップ2:EMQX Cloudでピアリング接続を開始する

  1. EMQX Cloudコンソールにログインし、対象デプロイメントのDeployment Overviewページに移動します。

  2. 左側のナビゲーションメニューからNetwork Managementをクリックします。

  3. VPC Peering Connectionセクションで、+ VPC Peering Connectionをクリックします。

    ダイアログページでRegion of Deploymentを確認し、Oracle CloudのVCNのリージョンと一致していることを確認してください。

    region_of_deployment
  4. ステップ1で収集したRequestor Tenancy OCIDRequestor Group OCIDを入力し、Confirmをクリックします。

  5. 認証が完了したら、Create Local Peering Gatewayをクリックします。

    EMQX Cloudは自動的に自身のVCNにローカルピアリングゲートウェイを作成し、以下の情報を表示します:

    • Local Peering Gateway OCID
    • Acceptor Tenancy OCID
    • Region of Deployment
    • EMQX Cloud VCNのCIDR

    次のステップでこれらの値を使用するため、このダイアログは開いたままにしてください。

    vpc_guidelines

ステップ3:Oracle CloudでIAMポリシーを設定する

クロステナンシーピアリング接続を許可するため、Oracle CloudでIAMポリシーを作成する必要があります。ポリシーはルートコンパートメント(テナンシー)レベルで作成してください。

  1. Oracle Cloudコンソールで、Identity & Security -> Policiesに移動します。

  2. Create Policyをクリックします。

  3. Policy Builderセクションで、Show manual editorをクリックします。

    policy_builder

  4. 以下のポリシーステートメントを入力し、プレースホルダーを実際の値に置き換えます:

    Define tenancy Acceptor as <Acceptor Tenancy OCID>
    Define group RequestorGroup as <Requestor Group OCID>
    Define compartment RequestorCompartment as id <Requestor Compartment OCID>
    
    Allow group RequestorGroup to manage local-peering-from in compartment RequestorCompartment
    Endorse group RequestorGroup to manage local-peering-to in tenancy Acceptor
    Endorse group RequestorGroup to associate local-peering-gateways in compartment RequestorCompartment with local-peering-gateways in tenancy Acceptor
    • <Acceptor Tenancy OCID>:ステップ2のEMQX Cloudダイアログで取得したAcceptor Tenancy OCID
    • <Requestor Group OCID>:ステップ1で収集したグループOCID
    • <Requestor Compartment OCID>:ステップ1で収集したコンパートメントOCID

    RequestorGroupおよびRequestorCompartmentはIAMポリシー内のローカルエイリアスです。これらのラベルはそのままにし、OCIDのみ置き換えてください。

  5. ポリシーを保存します。

    policy_statements

IAMポリシーエラーのトラブルシューティング

OCIがCompartment (ocid1.group.oc1...) does not existと報告する場合、グループOCIDがリクエスターコンパートメントOCIDとして誤って使用されています。ocid1.compartment.oc1...形式のコンパートメントOCIDに置き換えてください。

OCIがAuthorization failed or requested resource not foundと報告する場合は、再試行前に以下を確認してください:

  • ピアリング接続を確立するユーザーがリクエスターグループのメンバーであること。
  • IAMポリシーがルートコンパートメント(テナンシー)レベルで作成されていること。
  • リクエスターコンパートメントOCIDが正しく、ocid1.compartment.oc1...形式であること。
  • Oracle CloudのLPGがRequestorCompartmentと同じコンパートメントに作成されていること。
  • IAMポリシーが反映されるまで十分な時間が経過していること。

ステップ4:Oracle Cloudでローカルピアリングゲートウェイを作成する

  1. Oracle Cloudコンソールにログインします。

  2. 上部の検索バーでVirtual Cloud Networksを検索し、Oracle CloudリソースがデプロイされているVCNを開きます。

  3. VCN詳細ページの左ナビゲーションでGatewaysを選択します。

  4. Local Peering Gatewaysセクションで、Create Local Peering Gatewayをクリックします。

  5. 名前(例:vpc-peering-lpg)を入力し、適切なコンパートメントを選択します。

    選択したコンパートメントは、IAMポリシーで指定した<Requestor Compartment OCID>と一致している必要があります。

    create_local_peering_gateway

  6. Createをクリックします。

ステップ5:ピアリング接続を確立する

  1. Local Peering Gatewaysリストで、作成したLPGを見つけます。

  2. Actionsメニュー(⋯)をクリックし、Establish Peering Connectionを選択します。

    establish_peering_connection

  3. Establish Peering Connectionページで:

    • Enter Local Peering Gateway OCIDを選択します。
    • EMQX Cloudコンソールから取得したLocal Peering Gateway OCIDを貼り付けます。

    enter_lpg_ocid

  4. Establish Peering Connectionをクリックします。

Peering StatusPeeredに変わるまで待ちます。

OCIがAuthorization failed or requested resource not foundと報告する場合は、IAMポリシーの設定とLPGのコンパートメントを確認してから再試行してください。

ステップ6:ルートテーブルを設定する

ピアリング接続が確立した後、EMQX Cloud VCNへのトラフィックを許可するためにルートテーブルを更新する必要があります。

  1. Oracle CloudコンソールでVCN詳細ページに戻ります。

  2. Routingタブを選択します。

  3. Oracle Cloudリソースが存在するサブネットに関連付けられているルートテーブルを見つけます。

  4. Add Route Rulesをクリックし、以下を設定します:

    • Target TypeLocal Peering Gateway
    • Destination CIDR Block:EMQX Cloud VCNのCIDR
    • Target Local Peering Gateway compartment:ローカルピアリングゲートウェイを作成したコンパートメントを選択
    • Target Local Peering Gateway:このピアリング接続用に作成したローカルピアリングゲートウェイを選択

    add_route_rules

  5. ルートルールを保存します。

ステップ7:セキュリティルールを設定する

最後に、EMQX Cloud VCNからのトラフィックを許可するためにセキュリティルールを更新します。

  1. VCN詳細ページでSecurityタブを開きます。

  2. Oracle Cloudリソースに関連付けられているSecurity Listsまたは**Network Security Groups (NSGs)**を見つけます。

  3. EMQX CloudのCIDRブロックからのトラフィックを許可するIngress Rulesを追加します。

    • Source:EMQX Cloud VCNのCIDR
    • IP Protocol:TCP(または必要に応じて)
    • Destination Port Range:アプリケーションに必要な範囲
  4. 変更を保存します。

    ingress_rules

VPCピアリング接続の削除

ピアリング接続を削除するには、VPCピアリング接続のステータスがRunningであることを確認してください。

TIP

ピアリング接続を削除する前に、デプロイメントに関連付けられたリソースがないことを必ず確認してください。そうしないと予期せぬリスクが発生する可能性があります。

  1. デプロイメントのNetwork ManagementページのVPCピアリング接続エリアに移動します。

  2. ピアリング接続のActions列にある「削除」アイコンをクリックします。