Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions docs/_deploy_gcp_conductor_network_design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!--- GCP Conductor Deployment Guide - Network Design Reference --->

The following IP addressing and naming scheme is used consistently throughout this guide. Substitute your own values when configuring your network.

| Parameter | Example Value | Description |
|-----------|--------------|-------------|
| Deployment Name | `conductor` | VM instance name displayed in GCP and the conductor UI |
| VPC | `conductor-vpc` | Global private network in GCP |
| Subnet | `conductor-subnet` | Regional segment within the VPC (`192.168.1.0/24`) |
| Internal IP | `192.168.1.2` | Conductor `nic0` private IP address assigned by GCP |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets standardize all this stuff across the guides

ssr-conductor-vpc
ssr-conductor-subnet
10.0.0.x ips
etc

| External IP | `35.X.X.X` | Conductor `nic0` public IP address assigned by GCP |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nic0 --> ge-0-0

| Authority Name | `Authority128` | Organizational authority name |
| Conductor Node Name | `node0` | Conductor node name |
58 changes: 58 additions & 0 deletions docs/deploy_appendix_gcp_conductor.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: Appendix - GCP Conductor Configuration
sidebar_label: Appendix - GCP Conductor Configuration
---

This appendix contains the complete Terraform variable reference for the GCP conductor deployment described in this guide. Use it when creating the `ssr-variables.tfvars` file in [Step 2 — Create the GCP VM](deploy_gcp_conductor_install.mdx#deploy-a-gcp-conductor-vm-using-the-command-line-interface).

## Deployment Parameters

The following table describes all supported Terraform variables for the BYOL conductor deployment in GCP. Variables marked **Required** must be present in `ssr-variables.tfvars`. All others are optional and fall back to defaults when omitted.

| GCP Marketplace Name | Terraform Variable | Required | Description |
|----------------------|--------------------|----------|-------------|
| Deployment Name | `goog_cm_deployment_name` | Yes | Name of the conductor VM instance displayed in GCP and the conductor UI. |
| Machine Type | `machine_type` | Yes | GCP machine type for the conductor VM (for example, `c2-standard-4`). |
| Region | `region` | Yes | GCP region where the conductor VM is deployed. |
| Zone | `zone` | Yes | GCP zone within the selected region. |
| Boot Disk Size | `boot_disk_size` | Yes | Boot disk size in GB. Minimum `60` is recommended. |
| SSR Mode | `ssr_mode` | Yes | Set to `conductor` for a conductor deployment. |
| SSR Version | `ssr_version` | Yes | SSR software version to install on the conductor (for example, `7.1.4`). |
| Artifactory Username | `artifactory_user` | Yes | Username for Juniper BYOL repository access. |
| Artifactory Token | `artifactory_token` | Yes | Token or password for Juniper BYOL repository access. |
| SSH Public Key | `ssh_public_key` | Yes | Public SSH key added for administrator access to the conductor VM. |
| Admin Allowed CIDR | `admin_allowed_cidr` | Yes | Source CIDR range allowed for SSH and HTTPS administration access. |
| Control Interface Network | `control_nic_network` | Yes | List containing the VPC network name for the conductor control interface. |
| Control Interface Subnet | `control_nic_subnet` | Yes | List containing the subnet name for the conductor control interface. |
| Control Allowed CIDR | `control_nic_allowed_cidr` | Yes | Source CIDR range allowed to reach the conductor on ports 930, 4505, and 4506. |

## Sample `ssr-variables.tfvars`

The following sample file reflects the network design used in this guide. Replace each value with your own before running `terraform apply`.

```text
goog_cm_deployment_name = "conductor"
machine_type = "c2-standard-4"
region = "us-west2"
zone = "us-west2-a"
boot_disk_size = "60"
ssr_mode = "conductor"
ssr_version = "7.1.4"
artifactory_user = "<your-artifactory-username>"
artifactory_token = "<your-artifactory-token>"
ssh_public_key = "<your-ssh-public-key>"
admin_allowed_cidr = "0.0.0.0/0"
control_nic_network = ["conductor-vpc"]
control_nic_subnet = ["conductor-subnet"]
control_nic_allowed_cidr = "0.0.0.0/0"
```

:::caution
Replace `admin_allowed_cidr` and `control_nic_allowed_cidr` with appropriately restricted CIDR ranges for your environment before deploying to production. Using `0.0.0.0/0` permits access from any source address.
:::

## Related Documentation

- [Step 2 — Deploy via GCP Marketplace](deploy_gcp_conductor_install.mdx)
- [Installing a BYOL Conductor-managed Router in GCP](intro_installation_byol_gcp_conductor.md)
- [System Requirements](intro_system_reqs.md)
79 changes: 79 additions & 0 deletions docs/deploy_gcp_conductor.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: GCP Conductor Deployment Overview
sidebar_label: Overview
---

This guide walks a network engineer through deploying a **standalone SSR Conductor in Google Cloud Platform (GCP)** using the GCP Marketplace. You can choose between two deployment methods: a graphical user interface or a command-line (Terraform) workflow. When you complete the steps in this guide, the conductor will be running SSR 7.1.4, configured with an authority name and conductor address, and ready for SSR routers to onboard.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rephrase to
This guide walks you through deploying a Juniper Session Smart Conductor in Google Cloud Platform (GCP) using the Bring Your Own License (BYOL) plan. When you complete the steps in this guide, the conductor will be running SSR software version 7.1.4, configured with an authority name and conductor address, and ready for SSR routers to onboard.


## Guide Topics

| Step | Topic | Description |
|------|-------|-------------|
| 1 | [Configure the GCP Prerequisites](deploy_gcp_conductor_prereqs.mdx) | Create the required VPCs, SSH public/private key pair, and the GCP service account used for deployment. |
| 2 | [Create the GCP VM](deploy_gcp_conductor_install.mdx) | Launch the conductor VM using the GCP GUI or CLI (Terraform). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Launch the conductor VM using the GCP GUI

| 3 | [Configure the Conductor](deploy_gcp_conductor_config.mdx) | Set the authority name, conductor address, and assign the asset ID. |
| — | [Appendix — GCP Conductor Configuration](deploy_appendix_gcp_conductor.mdx) | Complete Terraform variable reference for the GCP conductor deployment. |

## Network Topology

The diagram below shows the logical network of the GCP conductor deployed in this guide.

```mermaid
graph TD
Internet((Internet))
Admin["Administrator\n(SSH / HTTPS)"]
subgraph GCP["GCP Project"]
subgraph VPC["conductor-vpc"]
subgraph Subnet["conductor-subnet\n192.168.1.0/24"]
ConductorVM["SSR Conductor VM\nconductor\nnic0: 192.168.1.2 internal\nnic0: 35.X.X.X external"]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nic0 --> ge-0-0

end
end
end
SSRRouters["SSR Routers\nbranch sites"]

Internet <-->|"Internet"| ConductorVM
Admin -->|"HTTPS / SSH"| ConductorVM
SSRRouters <-->|"Port 930 / 4505 / 4506\nrouter-to-conductor"| ConductorVM
```

## Roles

| Device | Type | Role |
|--------|------|------|
| `conductor` | GCP VM (Marketplace) | Standalone SSR Conductor — centralized management and provisioning |

## Prerequisites

Before beginning, ensure the following are available:

- **GCP access** — access to a GCP project with permissions to create VPC networks, subnets, VM instances, and service accounts.
- **Juniper software access credentials** — Artifactory username and token for software downloads and provisioning.
- **SSH key pair** — an RSA key pair for authenticating to the conductor VM. Steps to create one are in [Step 1 — Configure the GCP Prerequisites](deploy_gcp_conductor_prereqs.mdx).

## Instance Size

Select a GCP machine type that meets your network scale requirements. The following instance types are supported for virtual SSR in GCP.

| GCP Machine Type | Max vNICs | vCPU Cores | Memory |
|------------------|-----------|-----------|--------|
| `c2-standard-4` | 4 | 4 | 16 GB |
| `c2-standard-8` | 8 | 8 | 32 GB |
| `c2-standard-16` | 10 | 16 | 64 GB |
| `c2-standard-30` | 10 | 30 | 120 GB |

For additional guidance, see [System Requirements](intro_system_reqs.md) and the [GCP machine type documentation](https://cloud.google.com/compute/docs/compute-optimized-machines#c2_machine_types).

## Software Version Requirements

This guide installs **SSR 7.1.4** on the conductor.

:::note
The router software version must be lower than or equal to the conductor software version.
:::

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add this note from conductor guide

BYOL instances require the conductor to run SSR 6.3.0-R1 or newer. SSR 7.1.4 satisfies this requirement.

## Related Documentation

- [Installing a BYOL Conductor-managed Router in GCP](intro_installation_byol_gcp_conductor.md)
- [System Requirements](intro_system_reqs.md)
- [Conductor Deployment Best Practices](bcp_conductor_deployment.md)
- [Onboard an SSR Device to a Conductor](onboard_ssr_to_conductor.md)
105 changes: 105 additions & 0 deletions docs/deploy_gcp_conductor_config.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
title: "Step 3: Configure the Conductor"
sidebar_label: "Configure the Conductor"
---
import NetworkDesign from './_deploy_gcp_conductor_network_design.md';

This step accesses the conductor web GUI and configures the authority name, conductor address, and asset ID. All steps are performed from a browser unless otherwise noted.

## Network Design Reference

<NetworkDesign/>

## 1. Access the Conductor GUI

1. In the GCP console, search for **Compute Engine** in the search bar and click the top result.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need a step telling how to use the search bar? IMO this section should either use the IP from the template output or simplify to

1. In the GCP Console, Navigate to the VM Instance create in <link to step 2>. Copy the external IP of the the conductor VM.
2. In a browser navigate to ...
3. Login with the following default credentials
....
4. A successful login confirms the conductor is running and reachable on the public IP.


![Compute Engine](/img/deploy-gcp-conductor-config1.png)

2. Navigate to **VM instances** and copy the **External IP** of the conductor VM.

![VM Instances](/img/deploy-gcp-conductor-config2.png)

3. In a browser, navigate to:

```
https://<conductor-external-ip>
```

4. On the conductor login page, enter the default credentials:

| Field | Value |
|-------|-------|
| Username | `admin` |
| Password | `128Tadmin` |

:::important
Change the default password immediately after your first login. This **must** be changed. The new password has the following minimum requirements: A minimum of 9 characters; Contain 1 upper case letter, 1 lower case letter, and 1 number.
:::

## 2. Set the Authority Name

The authority name identifies your organization within the SSR configuration model. It applies globally to all routers managed by this conductor and cannot be changed after routers have been provisioned without re-onboarding them.

1. In the left menu, click **Authority** under **Configuration**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the left menu, under Configuration click Authority


2. Click **Authority**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Click the Authority block? IDK how to refer to that, but something to specify which authority... There are 4 different ones in the ss


![Authority Name](/img/deploy-gcp-conductor-config3.png)

3. In the **Basic Information** section, update the **Name** field to your organization's name. This guide uses the default value `Authority128`.

![Authority128](/img/deploy-gcp-conductor-config4.png)

## 3. Add the Conductor Address

The conductor address is the IP address that managed routers use to reach this conductor. Use the conductor VM's external IP address.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the similar note from azure doc
If all managed routers reside in the same GCP VPC and communicate over private addressing, you may use the conductor's private IP (10.0.0.10 in this guide) instead.

1. Scroll down to the **Conductor Addresses** section, click **Add**.

![Add conductor address](/img/deploy-gcp-conductor-config5.png)

2. In the **New Conductor Address** window, enter the conductor VM's external IP address and click **Save**.

![External IP Address](/img/deploy-gcp-conductor-config6.png)

3. In the top-right corner, click **Validate** and then **Commit**. In the confirmation window, click **Proceed Commit**.

![Commit the Config](/img/deploy-gcp-conductor-config7.png)

## 4. Assign the Asset ID and Confirm the Role

1. In the left menu, click **Authority** under **Configuration**, then click **conductor** under **Routers**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the navigation from azure conductor guide. It is easier to follow

  1. Select the Conductor from the Authority menu on the left side of the GUI.
  2. Select the Configure icon.
  3. Select the node for the conductor - in this example it is node0.
  4. Under Associated Asset ID select the asset id for the conductor.


![Authority view](/img/deploy-gcp-conductor-config8.png)

2. In the **Nodes** section, click **node0**.

![node0](/img/deploy-gcp-conductor-config9.png)

3. In the **Basic Information** section:
- In the **Associated Asset ID** field, select the conductor VM name.
- Verify that the **Role** field shows `conductor`.

![Node Basic Info](/img/deploy-gcp-conductor-config10.png)

4. In the top-right corner, click **Validate** and then **Commit**. In the confirmation window, click **Proceed Commit**.

## What Was Configured

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Azure doc continues with corp tenant and other things. Should this one too?


At the end of this step your authority contains:

| Object | Name | Value |
|--------|------|-------|
| Authority | `Authority128` | |
| Conductor Address | | `35.X.X.X` (external IP) |
| Node Asset ID | `node0` | Linked to conductor VM |
| Node Role | `node0` | `conductor` |

The conductor is now fully deployed and ready to onboard SSR routers.

## Related Topics

- [Onboard an SSR Device to a Conductor](onboard_ssr_to_conductor.md)
- [Conductor Deployment Best Practices](bcp_conductor_deployment.md)
- [Appendix — Deployment Parameters](deploy_appendix_gcp_conductor.mdx)
Loading
Loading