inCloud Managed is one of our setup options, which install our platform's infrastructure in a cloud environment owned by your organization, allowing you to delegate its entire setup, update, and maintenance to groundcover.
Note: inCloud Managed is available exclusively to Enterprise users.
inCloud Managed requires to create an isolated account within your AWS organization, that will be managed by groundcover's control plane and will establish, configure, and maintain the infrastructure and workloads within the account. These include AWS VPC, S3, EKS, LB, etc.
To complete the installation of inCloud Managed (total estimated time: 1 hour) you will need to follow these steps, all of which are detailed in the guide that follows:
groundcover inCloud Managed can be deployed using one the following configurations:
If you prefer using a single account approach, inCloud Managed can also be deployed into an existing account, running alongside existing production workloads in your existing AWS account. To limit access and prevent resource collusion, we implement a “scoping territory” approach using ABAC tags for access control and VPC subnets for network control.
By default, groundcover inCloud Managed deploys as a SaaS solution using ZTNA public, allowing you to deliver telemetry data securely over the public internet.
Prefer private networking is supported with Private Link.
The following guide will walk you through the steps required to setup this access.
Make sure to enter the external ID provided by groundcover.
Navigate to IAM -> Roles
Click “Create role”
Trusted entity type: Select “AWS Account”
An AWS account: Check "Another AWS account"; Account ID: 991078109329
Make sure “Require MFA” is unchecked
Click "Next"
In the following screen, do not attach any managed permissions
Click "Next"
Fill in the following details:
Role name: Type groundcover-managed
Description: Optional field, your can write any free text description that can be helpful for you and others to understand this purpose of this role in the future (e.g. “app.groundcover.com control plane access”)
Tags: Type groundcover:access = read
. You can also use specify additional workflow-oriented tags
Click "Create role"
Search for the newly created groundcover-managed
role (or scroll down the list until you find it) and click on it.
Navigate to the "Trust relationships" screen.
Click "Edit trust policy"
Replace the statement with the following snippet:
Click "Update Policy"
Navigate to "Permissions" tab.
Click "Add permissions" -> "Create inline policy"
Click the “JSON” tab and paste the following policy into the text box:
Click "Next"
Click “Review Policy”
Enter the following Policy name: inline-policy-2.4.6
Click “Create policy”
We create the inline policy to adhere to security best practices (external link to Wikipedia) by limiting access on IAM, EC2 and related services to the bare minimum required for control plane operations including: health monitoring, security patches, auto scaling and version updates.
groundcover Control-Plane is a secure reconciliation controller designed to manage enterprise inCloud infrastructure environments. It is compliant with ISO-27001 and SOC-2 standards.
The control plane can securely access your groundcover-incloud
account by using a cross-account IAM role.
To establish the Trust Relationship, please share the following information with groundcover.
Go to IAM > Roles > groundcover-managed > Trust relationships
Verify that the sts:ExternalId
is as was provided by the groundcover team
Take note of your ARN number, which you will need to share with the groundcover team using our shared Slack channel.
Example:
After you share the ARN & Region with us, we will need to setup the backend. Once we do, we will share with you the configuration details required for you to complete Step 6 (below).
The final step is to deploy our sensors into the environment. In order to do so, follow this guide.
groundcover's inCloud comes with VPC service endpoint (PrivateLink) built in. The PrivateLink endpoint let you ingest data through private network and reduce data transfer costs.
Get the VPC service endpoint name value provided by groundcover during inCloud installation.
Cross-region Ingestion: To keep cloud cost low as possible, PrivateLink connection is enabled only on the backend region by default. To allow cross-region endpoint send the require region to groundcover team.
Make sure DNS resolution is enabled on the VPC.
Create Security group for the VPC endpoint that allow port 443 from your workloads ( K8s nodes / EC2s).
Create VPC endpoint.
Choose the service endpoint name provided by groundcover.
(Optional) If the endpoint created on different region then inCloud backend, click on cross region and choose the backend's region
Enable DNS
Choose the required subnets for the VPC endpoint.
Choose the security group created in step 1 for the VPC endpoint
Create the VPC endpoint
Open shell on the monitored workload on the same VPC
Use nslookup to determine if DNS configured correctly, if the endpoint returns IPs that are not from your VPC CIDRs, double check the DNS configuration
nslookup <groundcover backend endpoint>
Use netcat to test the security groups configured correctly, if you get timeout to the VPC endpoint double check the inboud rules on the VPC endpoint and the outbound rule on the workload security groups
nc -vz <groundcover backend endpoint> 443
groundcover's EKS add-on is the easiest way to deploy the groundcover eBPF sensor on your EKS cluster, and connect it directly to your inCloud Managed observability backend.
Create groundcover namespace on your EKS cluster
Create groundcover API-key secret on your EKS cluster
Create the following agent-values.yaml
file and fill in the required values accordingly.
If you don't know what your inCloud site is, get support on Slack.
Run the following command to enable the groundcover agent add-on for your Amazon EKS cluster
Run the following command to disable the groundcover agent add-on for your Amazon EKS cluster.