Create the AWS EC2 Instances
Log in to the AWS Management Console and navigate to the EC2 service.
- Configure Security Groups
Create a security group for your MemVerge.ai cluster.
- Navigate to EC2 Dashboard > Security Groups > Create Security Group
- Name: MemVerge.ai-sg
- Description: Security Group for MemVerge Memory Machine for AI (MemVerge.ai)
- VPC:
- Add the following inbound rules:
- SSH (22/TCP) from your IP
- Type: SSH
- Protocol: TCP
- Port Range: 22
- Source: Anywhere-IPv4 or your public IP address
- Description: None
- Kubernetes API (6443/TCP) from 0.0.0.0/0
- Type: Custom TCP
- Protocol: TCP
- Port Range: 6443
- Source: Anywhere-IPv4
- Description: Kubernetes API
- NodePort Services (30000-32767/TCP) from 0.0.0.0/0
- Type: Custom TCP
- Protocol: TCP
- Port Range: 30000-32767
- Source: Anywhere-IPv4
- Description: NodePort Services
- HTTP Services (80/TCP) from 0.0.0.0/0
- Type: HTTP
- Protocol: TCP
- Port Range: 80
- Source: Anywhere-IPv4
- Description: HTTP Web Service
- HTTPS Services (443/TCP) from 0.0.0.0/0
- Type: HTTPS
- Protocol: TCP
- Port Range: 443
- Source: Anywhere-IPv4
- Description: HTTPS Web Service
- KubeFlow Service (30323/TCP) from 0.0.0.0/0
- Type: Custom TCP
- Protocol: TCP
- Port Range: 30323
- Source: Your public Internet IP Address (Anywhere-IPv4 works, but is insecure)
- Description: Kubeflow Web Service
- Add the following outbound rules:
- Type: All traffic
- Protocol: All
- Port range: All
- Destination: Anywhere-IPv4 (0.0.0.0/0)
- Description: Allow all outbound traffic
- Click "Create security group"
- After creation, edit the security group to add internal communication ports:
- Select the newly created security group
- Click "Edit inbound rules"
- Add the following rules:
- Type: Custom TCP, Port Range: 2379-2380, Source: Select the security group itself, Description: etcd
- Type: Custom TCP, Port Range: 10250, Source: Select the security group itself, Description: Kubelet API
- Type: Custom TCP, Port Range: 10259, Source: Select the security group itself, Description: kube-scheduler
- Type: All Traffic, Source: Select the security group itself
- Type: All ICMP - IPv4, Port Range: All, Source: Select the security group itself, Description: Allow Ping
- Type: Custom TCP, Port Range: 10257: Source: Select the security group itself, Description: kube-controller-manager
- Type: Custom TCP, Port Range: 8080: Source: Select the security group itself, Description: memcached
- Type: HTTP, Port Range: 80: Source: Select the security group itself, Description: HTTP Web Service
- Type: HTTPS, Port Range: 443: Source: Select the security group itself, Description: HTTPS Web Service
-
Click "Save rules"
-
Create an SSH Key pair for all cluster instances
-
Navigate to EC2 Dashboard > Network & Security > Key Pairs
- Click "Create Key Pair"
- Name: MemVerge.ai-cluster-key
- Key pair type: RSA
- Private key file format: .pem
- Click "Create key pair"
- Download and securely store the .pem file
-
Change the permissions on the .pem file using
chmod 400 <ssh-key.pem>
-
Launch EC2 Instances
-
Navigate to EC2 Dashboard > Instances
- Click "Launch Instances"
- For the management host:
- Name: MemVerge.ai-mgmt
- Amazon Machine Image (AMI): Ubuntu Server 22.04 LTS (HVM), SSD Volume Type
- Instance Type: m5.xlarge (4 vCPU, 16 GiB Memory)
- Key pair: MemVerge.ai-cluster-key
- Network Settings:
- Firewall (security groups): Select existing security group > mai-sg
- Configure Storage:
- 1 x 60 GiB gp2 Root volume (Not encrypted)
- Click "Launch instances"
- For the GPU worker:
- Name: MemVerge.ai-worker001
- Amazon Machine Image (AMI): Ubuntu Server 22.04 LTS (HVM), SSD Volume Type
- Instance Type: g5.2xlarge (8 vCPU, 32 GiB Memory, NVidia A10 GPU)
- Key pair: MemVerge.ai-cluster-key
- Network Settings:
- Firewall (security groups): Select existing security group > mai-sg
- Configure Storage:
- 1 x 100 GiB gp2 Root volume (Not encrypted)
- Click "Launch instances"
Wait for the instances to be fully provisioned. This may take several minutes.