> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aviatrix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Planning Your Controller Deployment

> The information in this topic applies to deployments on the marketplaces for Google Cloud and Oracle Cloud Infrastructure (OCI).

The information in this topic applies to deployments on the marketplaces for
*Google Cloud and Oracle Cloud Infrastructure (OCI)*.

<Check>
  For *AWS* (Amazon Web Services) deployments, see <a href={"/docs/enterprise/" + "10.1" + "/guides/controlplane/getting-started-guide-aws"}>Getting Started Guide AWS</a>.

  For Microsoft Azure deployments, see <a href={"/docs/enterprise/" +
  "10.1" + "/guides/controlplane/getting-started-guide-azure"}>Getting
  Started Guide Azure</a>.
</Check>

There are two ways to deploy an Aviatrix Controller with Google Cloud or OCI:

1. Through one of the CSP (Cloud Service Provider) marketplaces.
2. Through
   [Aviatrix Terraform modules](https://registry.terraform.io/namespaces/terraform-aviatrix-modules).

<Note>
  Terraform is the recommended deployment method. See [Terraform &
  Infrastructure as
  Code](https://aviatrix.com/learn-center/cloud-networking/terraform-and-infrastructure-as-code/)
  for more information.
</Note>

Ensure that you have met all of the
[Prerequisites for Deploying](#prerequisites-for-deploying-through-a-csp-marketplace)
before starting the Aviatrix Controller deployment.

## Prerequisites for Deploying Through a CSP Marketplace

These prerequisites apply to *Google Cloud and OCI*.

For *AWS Marketplace* deployments see <a href={"/docs/enterprise/" +
"10.1" + "/guides/controlplane/planning-aws-deployment"}>Preparing for
Your AWS Deployment</a>.

For Microsoft Azure deployments, see <a href={"/docs/enterprise/" +
"10.1" + "/guides/controlplane/getting-started-guide-azure"}>Getting
Started Guide Azure</a>.

Each CSP has its own set of prerequisites that must be implemented prior to
deploying the Aviatrix Controller and CoPilot.

### Google Cloud Prerequisites

#### Get a Customer ID from Aviatrix

The Aviatrix Controller for Google Cloud is available on the Google Cloud
Marketplace for BYOL license. Send an email to [info@aviatrix.com](mailto:info@aviatrix.com) or open a
support ticket at [Aviatrix Support Portal](https://support.aviatrix.com) with
your organization name to request a customer ID. We offer a 30-day free trial
license.

### Creating a Google Cloud Account

Aviatrix Cloud Connect is a software product that is launched in your own Google
Cloud account. The Controller and the Gateways created from the Controller are
all in your own network perimeter and completely under your control.

Create a Google Cloud account ([https://cloud.google.com/](https://cloud.google.com/)). If you already have
an account, skip this step and go to the next step.

Note that the Controller supports multiple accounts and each account is
associated with a different Google Cloud project. But you must have at least one
account.

#### Creating a Google Cloud Project

Log in to your Google Cloud account and go to the project page:
[https://console.cloud.google.com/project](https://console.cloud.google.com/project)

Create a project. Go on to the next step if you have already created one. Note
that the project ID will be used in referencing this project by Aviatrix
Controller.

For example, in a project called Aviatrix-UCC, the project ID is
aviatrix-ucc-1214.

#### (Optional) Creating Networks

This step creates a network in the project created in the previous step.

When a new project is created, a default network is created. You may skip this
step if you do not need to customize the network address range by creating a new
network, or go on to the next step if you have done so.

Note that the Aviatrix Controller handles a Google Cloud network like a VPC in
AWS. Whenever a network configuration is mentioned for Google, the term VPC is
used. (The VNet is used for Azure.)

At the Google Cloud console, select the project that you copied the Aviatrix
Controller image to. Click the 3 bars. At the dropdown menu, select *VPC
Network*. Click *\[+] Create Network*. Use the automatic subnet creation mode;
otherwise ensure there is a subnet allocated for each region where a Gateway
will be deployed.

<Note>
  If you plan to have multiple projects, we suggest you plan your subnets so
  that the network addresses do not overlap. Select *Custom* to create subnets.
</Note>

#### Saving the Management CIDR Range

Find and save the public IP address **CIDR range** for the device you will
initially use to run the Aviatrix Controller and CoPilot.

<Note>
  To find a device's IP address and determine this CIDR range, search for "what
  is my IP" on the browser's search engine.
</Note>

### OCI Prerequisites

Find and save the public IP address **CIDR range** for the device you will
initially use to run the Aviatrix Controller and CoPilot.

<Note>
  To find a device's IP address and determine this CIDR range, search for "what
  is my IP" on the browser's search engine.
</Note>

This section discusses the system and platform requirements of Aviatrix Controller.

<Check>
  For larger environments, the CoPilot-related resource consumption is increased and the Controller must be resized accordingly.

  The Controller size is defined according to the footprint and the number of gateways it needs to support. Controller size is adjustable based on future requirements and enhancements. For example, if a t3.2xlarge controller instance is deployed in AWS this supports less than 30 Aviatrix gateways (t3.small) to start with, and sizing can be increased as needed when expanding the footprint.

  See [CoPilot platform requirements](https://docs.aviatrix.com/documentation/latest/getting-started/copilot-platform-requirements.html).
</Check>

<Note>
  The requirements listed below are intended as a general guide only. Once you have deployed Controller, it is important to monitor the indexing of data traffic in your specific environment and adjust configuration settings, such as index retention periods, to optimize instance sizing for your business needs. It is also recommended to upgrade the size of virtual machines if Aviatrix platform global health alerts are triggered frequently. For information about platform global health alerts, see [Alert Global Network Health](https://docs.aviatrix.com/documentation/latest/monitoring/alert-global-network-health.html).
</Note>

## Minimum Sizing for Controller

For a simple deployment, Controller (with CoPilot) requires a *minimum* of:

| **Requirement** | **Minimum Value**                                                                                                                                                                                                                                                                                                      |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Memory & CPU    | 4 CPU (or more)<br /><br />16 GB of RAM (or more)<br /><br />Examples:<br /><br />\* Amazon EC2 instance type: t3.xlarge<br /><br />\* Google Cloud: n2-standard-4<br /><br />\* Oracle Cloud Infrastructure: VM.Standard3.Flex or VM.Standard.E4.Flex<br /><br />\* Microsoft Azure virtual machine: Standard\_D4\_v5 |
| Storage         | 100 GB                                                                                                                                                                                                                                                                                                                 |

## Next Steps

After completing the prerequisites for the specific Google Cloud or OCI CSP
marketplace, see the relevant Getting Started Guide to deploy your Controller in
one of the CSPs:

* <a href={"/docs/enterprise/" + "10.1" + "/guides/controlplane/manual-launch-controller-csp"}>Google Cloud Manual Launch Controller CSP</a>
* [OCI Getting Started Guide](https://legacy.docs.aviatrix.com/documentation/latest/getting-started/getting-started-guide-oracle.html)
