1. Manage StreamNative Clusters
  2. Manage BYOC Infrastructure

Create a Cloud Connection

Public Preview

This feature is currently in Public Preview. Exercise caution before using this for provisioning production environments. If you encounter issues creating a Cloud Connection or Cloud Environment, please submit a ticket.

Note

This document assumes that you have already run the Vendor Access Module for your respective cloud provider. StreamNative will not be able to connect to your cloud account until you have done so. If you have not yet done so, please run the Vendor Access Module for your cloud provider using the instructions provided (AWS, Azure), and then return to this page to continue setting up your Cloud Connection.

Cloud Connections allow StreamNative to connect to your AWS, GCP, or Azure account, and provision your Cloud Enivironment so that it can run Pulsar Clusters. You can create a Cloud Connection from Cloud Console UI, snctl, or StreamNative's terraform provider.

Create a Cloud Connection on UI

  1. Sign in to StreamNative Cloud at https://console.streamnative.cloud.

  2. Select the Organization.

  3. Expand the user profile drop down and click on the Cloud Environments page

    Dropdown CloudEnvironment

  4. On the Cloud Environments page, click the New button and select Create connection.

    Create CloudConnection

Tutorial

You can also watch the video of creating a cloud connection using Cloud Console UI:

Create Cloud Connection

Create a Cloud Connection with snctl

To create a Cloud Connection using snctl, use snctl create cloudconnection. Usage:

snctl create cloudconnection [NAME] [flags]
FlagDescription
--account-idThe account ID of your AWS account if type is aws.
--client-idThe client ID of your Azure account if type is azure.
-h, --helpDisplays cloudconnection help message.
--project-idThe project ID of your GCP project if type is gcp..
--subscription-idThe subscription ID of Azure account if type is azure.
--support-client-idThe support client ID of Azure account if type is azure.
--tenant-idThe tenant ID of Azure account if type is azure.
--typeThe type of cloud provider, one of: aws, gcp or azure.

Examples

snctl create cloudconnection shared-aws --type aws --account-id ACCOUNT_ID -n orgname

Tutorial

You can also watch the video of creating a cloud connection using snctl:

Create Cloud Connection

Create a Cloud Connection with terraform

To create a Cloud Connection with terraform:

  1. Prepare main.tf
  2. Run terraform init
  3. Run terraform apply

Please refer to our Terraform module documentation on Cloud Connections for additional details.

Cloud Connection Schema

FieldTypeDescription
name, requiredStringName of the cloud connection
organization, requiredStringThe organization name
aws, read-onlyList of ObjectAWS configuration for the connection (see below for nested schema)
azure, read-onlyList of ObjectAzure configuration for the connection (see below for nested schema)
gcp, read-onlyList of ObjectGCP configuration for the connection (see below for nested schema)
id, read-onlyStringThe ID of this resource.
type, read-onlyStringType of cloud connection, aws, gcp, or azure
account_id, read-only(String)Nested Schema for aws

Examples

module "sn_managed_cloud" {
  source = "github.com/streamnative/terraform-managed-cloud//modules/aws?ref=v3.13.1"

  external_id = "<YOUR_SNCLOUD_ORG_ID>"
}

resource "streamnative_cloud_connection" "shared_aws" {
    depends_on = [ module.sn_managed_cloud ]
    organization = "orgname"
    name = "shared-aws"

    type = "aws"
    aws {
        account_id = "xxx"
    }
}

Tutorial

You can also watch the video of creating a cloud connection using Terraform:

Create Cloud Connection using Terraform

Next steps

With a Cloud Connection in place, you can then create one or more Cloud Environments for deploying Pulsar clusters.

Previous
Project Access for BYOC on GCP