Planning the deployment¶
Before you start deploying service clusters of NebulaGraph on AWS, you need to have some knowledge about AWS and NebulaGraph, get your AWS accounts ready, confirm your resources, and choose your deployment option.
Specialized knowledge¶
The deployment requires a moderate level of familiarity with AWS services, especially EC2, VPC, and EBS. If you're new to AWS, see Getting Started Resource Center and AWS Training and Certification. These sites provide materials for learning how to design, deploy, and operate your infrastructure and applications on the AWS Cloud.
Account and permission¶
If you don't have an AWS account, create one at https://aws.amazon.com by following the on-screen instructions.
The account used for the deployment must have the permissions for the necessary AWS resources.
Resource quotas¶
Before the deployment starts, check the resource quota in the Service Quotas console to make sure that there are sufficient resources for the deployment. The required resources for deploying a NebulaGraph service cluster are as follows:
Resource | This deployment uses |
---|---|
VPCs | 1 |
Elastic IP addresses | 5 to 15 (Depending on the host number) |
Security groups | 2 |
IAM roles | 2 |
Network Load Balancers | 1 |
EC2 instances (bastion host) | 1 |
EC2 instances (Nebula Explorer hosts) | 1 |
EC2 instances (graphd hosts) | 1 to 3 |
EC2 instances (metad hosts) | 1 or 3 |
EC2 instances (storaged hosts) | 1 or 3 or 5 or 7 |
The number of Elastic IP addresses and EC2 instances used depends on the actual deployment architecture.
If the required resource quota is insufficient, request service quota increases first.
AWS Regions¶
For the deployment in a Region other than the default Region us-east-1, you are recommended to confirm that the target Region supports all the AWS services required for the deployment on the AWS Regional Services page.
If you get an error such as “Unrecognized resource type,” the deployment is not supported in that Region.
EC2 key pairs¶
Make sure that at least one Amazon EC2 key pair exists in your AWS account in the Region where you plan to deploy the cluster. Note the key-pair name because you will use it during deployment. To create a key pair, see Amazon EC2 key pairs and Linux instances.
For testing or proof-of-concept purposes, it is recommended to create a new key pair instead of using one that has already been used by a production instance.
Deployment options¶
AWS CloudFormation supports two deployment options:
- Deploy NebulaGraph into a new VPC. This option builds a new AWS environment consisting of the VPC, subnets, NAT gateways, security groups, bastion hosts, and other infrastructure components. It then deploys NebulaGraph into this new VPC.
- Deploy NebulaGraph into an existing VPC. To choose this option, make sure that the VPC has two private subnets in different Availability Zones for the instances and that the subnets aren't shared.
Before the deployment, you have to choose an option, so that you can specify the template accordingly during the deployment.