- Manage StreamNative Clusters
- 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
Sign in to StreamNative Cloud at https://console.streamnative.cloud.
Select the Organization.
Expand the user profile drop down and click on the Cloud Environments page
On the Cloud Environments page, click the New button and select Create connection.
Tutorial
You can also watch the video of creating a cloud connection using Cloud Console UI:
Create a Cloud Connection with snctl
To create a Cloud Connection using snctl, use snctl create cloudconnection
. Usage:
snctl create cloudconnection [NAME] [flags]
Flag | Description |
---|---|
--account-id | The account ID of your AWS account if type is aws . |
--client-id | The client ID of your Azure account if type is azure . |
-h, --help | Displays cloudconnection help message. |
--project-id | The project ID of your GCP project if type is gcp .. |
--subscription-id | The subscription ID of Azure account if type is azure . |
--support-client-id | The support client ID of Azure account if type is azure . |
--tenant-id | The tenant ID of Azure account if type is azure . |
--type | The 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 a Cloud Connection with terraform
To create a Cloud Connection with terraform:
- Prepare
main.tf
- Run
terraform init
- Run
terraform apply
Please refer to our Terraform module documentation on Cloud Connections for additional details.
Cloud Connection Schema
Field | Type | Description |
---|---|---|
name, required | String | Name of the cloud connection |
organization, required | String | The organization name |
aws, read-only | List of Object | AWS configuration for the connection (see below for nested schema) |
azure, read-only | List of Object | Azure configuration for the connection (see below for nested schema) |
gcp, read-only | List of Object | GCP configuration for the connection (see below for nested schema) |
id, read-only | String | The ID of this resource. |
type, read-only | String | Type 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:
Next steps
With a Cloud Connection in place, you can then create one or more Cloud Environments for deploying Pulsar clusters.