Skip to main content

Overview

This guide will walk you through the process of deploying SGP in an AWS account. SGP AWS infrastructure is defined by terraform modules managed by Scale.

Prerequisites

  • Access to an AWS account with sufficient permissions to create resources
  • The following tools installed:
  • The following from Scale:
    • The SGP AWS Infrastructure Terraform modules
    • A workspace_id and registration_secret unique to your deployment
    • install.sh script to bootstrap the SGP cluster
  • A new application configured in your identity provider to authenticate to the SGP platform (SAML or OIDC) (optional)
  • A custom domain for your deployment (optional)

Installation

Step 1: Prepare Terraform Root Module

In a new directory, create a .tf file to invoke the SGP AWS infrastructure Terraform modules. Reference the egp-hybrid-cloud-customer-deployment module as the entrypoint for the SGP infrastructure.

Step 2: Provision Infrastructure via Terraform

Run the following commands in the same directory as the previous step’s .tf file.
This step may take significant time due to resource creation dependencies
If a pre-created certificate and domain entry are not provided, you will likely encounter the following error:
Resolve this by properly configuring DNS and TLS for your domain before re-running terraform apply.

Step 3: Bootstrap the Cluster

Note the following values from the previous step’s apply output:

Configure EKS access

Configure access for yourself to the provisioned EKS cluster:
  1. Navigate to “Elastic Kubernetes Service” on the AWS console
  2. Go to the required cluster
  3. Go to Access
  4. Under IAM access entries click Create Access Entry
  5. Select your current AWS IAM role from the dropdown, leave the Type as Standard
  6. Add the AmazonEKSAdminPolicy and AmazonEKSClusterAdminPolicy to the Cluster scope
  7. Click create

Allowlist your IP (if needed)

  1. Navigate to “Elastic Kubernetes Service” on the AWS console
  2. Go to the required cluster
  3. Go to Networking
  4. On the right, click Manage and click Endpoint Access
  5. Under Advanced settings add your IP address

Execute install.sh

Run the install.sh script to create the following Kubernetes resources:
System Manager is the deployment orchestrator for the SGP platform. It will automatically begin deploying the other services required for the SGP platform within the cluster.

Step 4: Verify the Deployment

Wait for all services to be ready:

Step 5: Configure Identity Provider

SAML Configuration

In your Identity Provider, configure a new SAML application with the following settings:
  • Service Entity ID: https://auth.<domain>
  • Redirect URI: https://auth.<domain>/dashboard/org/saml/callback
Modify the configuration scale-egp-<workspace_id>/identity-service-saml-secrets (either via System Manager or directly in AWS Secrets Manager):

OIDC Configuration

In your Identity Provider, configure a new OIDC application with the following settings:
  • Redirect URI: https://auth.<domain>/dashboard/org/oidc/callback
Modify the configuration scale-egp-<workspace_id>/identity-service-oidc-secrets (either via System Manager or directly in AWS Secrets Manager) with the following JSON:
After modifying the secret, restart the sgp-system-manager deployment to apply the changes.

Accessing the Platform

If all goes smoothly, you should be able to navigate to the SGP platform at https://<workspace_id>.workspace.egp.scale.com (or your custom domain) and authenticate via the configured identity provider.