Openflow - Hosted in AWS with Snowflake managed VPC
Goal of this tutorial is to setup openflow deployment in AWS with the VPC configuration manged by Snowflake. This will allow you to start adding runtimes that have connectors in them.
Video
Video still in development
Requirements
Opeflow
Navigate to openflow in the navbar.

If you get the error 'Invalid consent request' or 'TOTP Invalid'
You will have to change your default role to a role that is not an admin role. Example default would be public.

Deployment
Once logged in lets click "create deployment".

This is where we will select Snowflake as the VPC deployment and click "create deployment".

This will allow us to download the cloudformation template to be used in AWS next.

AWS
Warning
Ensure your Snowflake region and AWS infrastructure are in the same region to avoid egress cost.
Lets get our deployment active by getting cloudformation to generate the necessary infrustructure.

CloudFormation
Search cloudformation and click the icon.

Select existing template, select "upload a template file" and then upload the template we got from openflow. If you want to view what will be deployed then click "View in Infrastructure Composer" (1). Click next.
Give the stack a name and then scroll all the way down the longest page ever to the next button.

All the defaults are good here. Click the acklowledge and then next.

Scroll down anther long page and click submit.

This will kick off the creation process of all the resources. To see the process click "Resources".

Here we can watch the process.

Network Policy (Optional)
If you have a blocking network policy in place, please follow these steps
Lets copy the IP address so that we can copy it into our external access next.

Note
Make sure you add the "/32" to the ip address.
Lets create the network rule and external access in a worksheet(1) so that it will allow openflow/aws/snowflake to talk.
Statement executed succesfully.
Your network policy should be updated now to allow snowflake and aws to talk with eachother.
Progress
If you want to check on the progress
To check the deployment status, click on the EC2 instance.

Right click the EC2 instance and click connect.

Select "Connect using a private IP" and click Connect.

Here we will enter the bash command below and see if we see the response "Should now work.".
You'll see it should say, should now work but even not it still may take some time for Snowflake to update. 

Waiting
Now we can go back to openflow and refresh our window or use the refresh button.

Warning
It can take longer then the bash command leads to believe. I waited 40 minutes before it worked.
Success
Now that your deployment is active we can move on to a runtime and add a connector. Please select one of the connector tutorials on the left.







