Last Updated: 2024-04-16
AWS PrivateLink allows private connectivity between virtual private clouds (VPC), supported AWS services, and on-premises networks. This connection does not expose traffic to the public internet, making it a great choice for data federation across cloud and on-prem networks and other use cases.
Starburst Galaxy extends support for AWS PrivateLink across certain catalogs. This tutorial will guide you through the process needed to configure PrivateLink for Snowflake.
In this tutorial, you will learn how to configure AWS PrivateLink for Snowflake.
Once you've completed this tutorial, you will be able to:
Starburst tutorials are designed to get you up and running quickly by providing bite-sized, hands-on educational resources. Each tutorial explores a single feature or topic through a series of guided, step-by-step instructions.
As you navigate through the tutorial you should follow along using your own Starburst Galaxy account. This will help consolidate the learning process by mixing theory and practice.
If you are configuring PrivateLink for the first time you are encouraged to work with a Starburst technical resource. This individual will work with you to set up the environment needed to complete the tutorial.
To be assigned this resource, you should reach out to your regular Starburst account team for assistance.
Once assigned, your Starburst technical resource will work with you to set up an environment where you can complete the tutorial.
Please review the following overview of this process before beginning the tutorial.
Your responsibilities:
Understanding the Snowflake PrivateLink architecture is important when completing the steps in this tutorial. In this section you will learn about this architecture and the way that Starburst Galaxy uses it to securely connect private clouds.
This tutorial also follows a Snowflake user guide on the topic. It is recommended that you consult this documentation before proceeding.
The following diagram illustrates a PrivateLink connection between the Starburst Galaxy VPC and the Snowflake VPC.
Review the diagram and corresponding notes below for more information.
To enable PrivateLink for Snowflake, a specific Snowflake subscription type is necessary. To proceed with this tutorial, you require Business Critical Edition subscription type or higher. Additionally, you also require access to the ACCOUNTADMIN role to complete the configuration.
This section of the tutorial will walk you through the process needed to verify these requirements. Additionally, you'll check for any existing Active Network Policies. If present, you will add the Galaxy private CIDR to the allow list.
Now it's time to switch your Snowflake account to the ACCOUNTADMIN role.
Next, you're going to access the Security section of the admin menu.
This will allow you to check for active and inactive network policies that might block Starburst Galaxy's access to your snowflake environment.
Now it's time to investigate the network security policies to check if there are any active policies that might block Starburst Galaxy's access to your Snowflake environment.
There are three different possible scenarios for this step. You are going to confirm which one applies to you and follow the appropriate steps below, depending on your situation.
If you have an Active policy, this will block Starburst Galaxy.
If you have No policies listed, and your account resembles the image below, then you do not have an access policy and do not need to amend anything.
If you have a policy listed, but its status is marked as inactive, this is also a case where you do not have to amend anything. The inactive policy will not block Starburst Galaxy's access to your Snowflake environment.
This section of the tutorial will show you how to add the Starburst Galaxy IP CIDR to an active policy. This will enable Starburst Galaxy to connect to your Snowflake environment. To do this, you will add a new Network Rule to the existing Network Policy.
First, you'll need to edit the existing Network Policy by adding a new Network Rule. You can access the screen to create the new rule via the Network Policy edit screen.
Now you're ready to define the new Network Rule that allows Starburst Galaxy to access your Snowflake environment.
To do this, you are going to name the network rule, select a database and schema that will use it, and enable the Starburst Galaxy IP CIDR.
When you have finished, you will return to the Update network policy window.
TPCDS_NATIVE
database, and SF1000
schema. You have successfully created the new Network Rule.
Next, you need to add that rule to your active policy.
Time to switch gears. You've completed all of the steps required on your own. Now it's time to contact the Starburst support team to finish the last steps.
You are going to use the automated assistant in Starburst Galaxy to open a support ticket and request the Starburst Galaxy AWS account number and federation token.
You're almost finished! Once you've received both the Starburst Galaxy AWS account number and federation token, you can use the information to complete the next few steps.
It's time to authorize PrivateLink within your Snowflake account. You'll begin by opening a new SQL Worksheet.
Now it's time to use the information you gathered from Starburst support. Be sure to have it handy.
SELECT SYSTEM$AUTHORIZE_PRIVATELINK (
'PASTE_ACCOUNT_HERE',
'PASTE_TOKEN_HERE'
);
PASTE_ACCOUNT_HERE
with the Starburst Galaxy AWS account number.PASTE_TOKEN_HERE
with the entire federated token that you received from Starburst support. Note: Be careful that you do not overwrite the single quotes.This is the final step before you'll be able to use PrivateLink to securely connect Starburst Galaxy to Snowflake. You must retrieve your PrivateLink configuration information and provide it to Starburst support so that they can complete the configuration on their side.
SELECT SYSTEM$GET_PRIVATELINK_CONFIG();
Congratulations! You have reached the end of this tutorial, and the end of this stage of your journey.
You're all set! Now you can use PrivateLink to configure access to data in Snowflake.
At Starburst, we believe in continuous learning. This tutorial provides the foundation for further training available on this platform, and you can return to it as many times as you like. Future tutorials will make use of the concepts used here.
Starburst has lots of other tutorials to help you get up and running quickly. Each one breaks down an individual problem and guides you to a solution using a step-by-step approach to learning.
Visit the Tutorials section to view the full list of tutorials and keep moving forward on your journey!