Deploying SAP Cloud Connector 2.18 on AWS Free Tier Using CentOS Stream 9
Share

[[{“value”:”

Running SAP Cloud Connector (SCC) on AWS Free Tier sounds simple… until you realise that SCC’s default memory footprint overwhelms a 1-GB t2.micro instance. CentOS Stream 9 can run SCC 2.18 reliably with heap adjustments and automation.

Important:
SAP Cloud Connector 2.18 is not officially supported on CentOS Stream. This guide is strictly for training, sandboxing, and educational use.

Although this guide uses CentOS Stream 9 to remain within AWS Free Tier, the same Terraform and installation flow also works on Red Hat Enterprise Linux 9, which is supported by SAP. If you intend to use SCC in a productive landscape, use RHEL.


1. Prerequisites

  • AWS account (EC2, VPC, S3 permissions)
  • Terraform installed locally
  • SSH client
  • A CentOS Stream 9 AMI (x86_64) for your region
  • An EC2 key pair
  • Basic understanding of shell scripting
  • An EC2 key pair (placeholder: <YOUR_KEY_PAIR>)
  • An S3 bucket containing the SCC ZIP file, for example:

<YOUR_S3_BUCKET>/sapcc-2.18.0-linux-x64.zip

Note: Direct downloads from tools.hana.ondemand.com return HTML instead of the ZIP file. Hosting the ZIP in S3 avoids this.


2. Project Directory

terraform_scc/
├── main.tf
├── install-scc.sh
├── <YOUR_KEY_PAIR.pem>
└── (optional) variables.tf / outputs.tf


3. Terraform Configuration (main.tf)

terraform {
required_version = “>= 1.5”

required_providers {
aws = {
source = “hashicorp/aws”
version = “~> 5.0”
}
}
}

provider “aws” {
region = “us-east-2”
}

resource “aws_key_pair” “” {
key_name = “<YOUR_KEY_PAIR.pem>”
public_key = file(“${path.module}/”)
}

resource “aws_security_group” “sap_scc_sg” {
name = “sap-scc-sg”
description = “Allow SCC UI and SSH”
vpc_id = “<YOUR_VPC_ID>”

ingress {
from_port = 22
to_port = 22
protocol = “tcp”
cidr_blocks = [“0.0.0.0/0”]
}

ingress {
from_port = 8443
to_port = 8443
protocol = “tcp”
cidr_blocks = [“0.0.0.0/0”]
}

egress {
from_port = 0
to_port = 0
protocol = “-1”
cidr_blocks = [“0.0.0.0/0”]
}

tags = {
Name = “sap-scc-sg”
}
}

resource “aws_instance” “sap_scc” {
ami = “<CENTOS_STREAM_9_AMI>”
instance_type = “t2.micro”
key_name = aws_key_pair..key_name

subnet_id = “<YOUR_SUBNET_ID>”
associate_public_ip_address = true

vpc_security_group_ids = [
aws_security_group.sap_scc_sg.id
]

user_data = file(“${path.module}/install-scc.sh”)

tags = {
Name = “SAP-Cloud-Connector-CentOS”
}
}

output “public_ip” {
value = aws_instance.sap_scc.public_ip
}


4. Running Terraform

terraform init
terraform plan
terraform apply -auto-approve
terraform output -raw public_ip

To destroy:

terraform destroy -auto-approve


5. Installation Script (install-scc.sh)

#!/bin/bash
set -euxo pipefail

SCC_VERSION=”2.18.0″
SCC_FILE=”sapcc-${SCC_VERSION}-linux-x64.zip”

S3_BUCKET=”<YOUR_S3_BUCKET>”
SCC_URL=”https://${S3_BUCKET}.s3.amazonaws.com/${SCC_FILE}”

LOG_FILE=”/var/log/scc-install.log”

exec > >(tee -a “${LOG_FILE}”) 2>&1

echo “=== SAP Cloud Connector install on CentOS Stream 9 ===”
echo “Version: ${SCC_VERSION}”
echo “Source: ${SCC_URL}”

echo “=== Installing prerequisites ===”
dnf -y makecache
dnf -y install curl unzip java-11-openjdk-headless || dnf -y install java-17-openjdk-headless

cd /tmp

echo “=== Downloading SCC ===”
curl -L -o “${SCC_FILE}” “${SCC_URL}”

echo “=== Verifying ZIP ===”
file “${SCC_FILE}” | grep -qi “Zip” || exit 1

echo “=== Extracting ===”
rm -rf /tmp/scc-installer
mkdir -p /tmp/scc-installer
unzip -o “${SCC_FILE}” -d /tmp/scc-installer
cd /tmp/scc-installer

RPM_FILE=$(ls com.sap.scc-ui-*.rpm | head -n 1)

echo “=== Installing SCC RPM ===”
dnf -y install –nogpgcheck “./${RPM_FILE}”

echo “=== Tuning JVM for t2.micro ===”
sed -i
-e ‘s/-Xms1024m/-Xms256m/’
-e ‘s/-Xmx1024m/-Xmx512m/’
-e ‘s/-XX:MaxNewSize=512m/-XX:MaxNewSize=256m/’
-e ‘s/-XX:NewSize=512m/-XX:NewSize=256m/’
/opt/sap/scc/props.ini || true

echo “=== Starting SCC ===”
systemctl enable scc_daemon.service || true
systemctl restart scc_daemon.service || true

echo “=== Waiting for port 8443 ===”
for i in {1..12}; do
ss -tulpn | grep 8443 && break
sleep 10
done

echo “=== SCC install complete ===”


6. SSH Access

ssh -i <YOUR_KEY_PAIR.pem> ec2-user@<PUBLIC_IP>


7. Accessing the SCC UI

https://<PUBLIC_IP>:8443

The default credentials are:

User: Administrator
Password: manage

After login, you will be prompted to set a new password.

Screenshot 2025-11-15 at 07.55.05.png


8. Connecting SCC to SAP BTP

From BTP Cockpit collect:

  • Region code (example: us10)
  • Subaccount ID (GUID)
  • Subaccount user (your BTP e-mail)
  • Password (your IAS/BTP password)

In SCC navigate: Connector → Define Subaccount

btp_alt.png


9. Observations & Recommendations

  • SCC 2.18 is unsupported on CentOS; use RHEL in productive landscapes.
  • Heap tuning is mandatory on t2.micro.
  • Terraform ensures clean reproducibility.
  • Perfect for training, exams, PoCs.

10. Summary

You now have a free-tier compatible SCC 2.18 deployment running on CentOS Stream 9, launched automatically via Terraform, connected to BTP.

“}]] 

  Read More Technology Blog Posts by Members articles 

#abap

By ali