1. Provisioning 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.

Overview

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 either through snctl, or StreamNative's terraform provider.

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

AWS:

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

GCP:

snctl create cloudconnection shared-gcp --type gcp --project-id gcp-byoc-test -n orgname

Azure:

snctl create cloudconnection shared-azure --type azure --subscription-id <> --tenant-id <> --client-id <> --support-client-id <> -n orgname

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

resource "streamnative_cloud_connection" "shared_aws" {
    organization = "orgname"
    name = "shared_aws"

    type = "aws"
    aws {
        account_id = "000000400000"
    }
}
Previous
Set up Azure Access