Using GridGain AMI
GridGain provides an AMI with the latest version of GridGain Community Edition preinstalled.
Prerequisites
-
An existing AWS account
Considerations
Choose the right type of instances that suit your needs. The following instance types are supported:
Instance type family | Instance type |
---|---|
M6i |
m6i.xlarge, m6i.2xlarge, m6i.4xlarge, m6i.8xlarge, m6i.12xlarge, m6i.16xlarge, m6i.24xlarge, m6i.32xlarge, m6i.metal |
T3 |
t3.large, t3.xlarge, t3.2xlarge |
C5 |
c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal |
C5d |
c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal |
R5 |
r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal |
R5d |
r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal |
R6i |
r6i.large, r6i.xlarge, r6i.2xlarge, r6i.4xlarge, r6i.8xlarge, r6i.12xlarge, r6i.16xlarge, r6i.24xlarge, r6i.32xlarge, r6i.metal |
Consider the following points:
-
RAM: If you are going to use GridGain as an in-memory storage, make sure to select an instance with enough RAM to fit all your data.
-
Disk space: If you are launching a cluster with a persistent storage, provide enough size to accommodate all your data when configuring the instance’s volume.
You may want to uncheck the Delete on Termination option for your storage.
-
Networking: GridGain nodes discover and communicate with each other by TCP/IP. A number of ports must be open for this communication. See Configuring Security Group.
Visit our Capacity Planning page for information about ways to estimate hardware requirements for your use case.
Selecting and Obtaining GridGain AMI
Visit the product page on AWS Marketplace, corresponding to the edition you need, and launch the AMI from there.
Image Edition | Amazon Marketplace Link |
---|---|
BYOL (Bring Your Own License) |
https://aws.amazon.com/marketplace/pp/prodview-mhesijebeozle |
Community |
https://aws.amazon.com/marketplace/pp/prodview-pifxykxv3yfuu |
Enterprise |
https://aws.amazon.com/marketplace/pp/prodview-exrjq4ox4kuim |
Ultimate |
https://aws.amazon.com/marketplace/pp/prodview-irktgogccfkhs |
Providing a license
License is included in Community, Enterprise and Ultimate edition AMI images. BYOL (Bring Your Own License) AMI image expects a license at /opt/gridgain/config/license.xml
.
Instance userdata can be used to provide license during instance startup:
#cloud-config # vim: syntax=yaml write_files: - path: /opt/gridgain/config/license.xml content: | <license>
BYOL image will start GridGain Community edition if no license was provided, or the edition of the license. For more information about GridGain licenses, see GridGain Licensing.
Configuring IAM Role and Instance Profile
Optionally, you can attach IAM role to instances via Instance Profile. These are recomended policies to attach to this role:
-
arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
- to allow Amazon Systems Manager to manage the instance and to allow connections from Amazon Session Manager. -
arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
- to allow CloudWatch Agent on the instance write logs to CloudWatch Logs.
Additionally, we recommend you to attach following permissions:
For Amazon ELB
Set the following permissions for automatic discovery using Amazon ELB:
elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers elasticloadbalancing:DescribeTags elasticloadbalancing:DescribeLoadBalancerPolicies elasticloadbalancing:DescribeLoadBalancerPolicyTypes elasticloadbalancing:DescribeInstanceHealth elasticloadbalancing:DescribeAccountLimits elasticloadbalancing:DescribeListenerAttributes elasticloadbalancing:DescribeListenerCertificates elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeTargetGroupAttributes elasticloadbalancing:DescribeTargetGroups elasticloadbalancing:DescribeTargetHealth elasticloadbalancing:DescribeTrustStoreAssociations elasticloadbalancing:DescribeTrustStoreRevocations elasticloadbalancing:DescribeTrustStores elasticloadbalancing:GetResourcePolicy
For S3 Bucket
Set the following permissions for automatic discovery using S3 bucket:
s3:ListBucket s3:PutObject s3:PutObjectAcl s3:GetObject s3:GetObjectAcl s3:DeleteObject
Configuring Security Group
When configuring the instances, you will be asked to specify a security group. The security group must allow connection to the following ports:
Protocol | Port | Description |
---|---|---|
TCP |
47500-47600 |
Discovery ports. |
TCP |
47100-47200 |
Communication ports. |
TCP |
10800 |
Optional. Thin client port. |
TCP |
8080 |
Optional. For REST API requests. |
TCP |
11211 |
For control.sh calls. This port should be opened only for cluster member nodes, from which a user might need to call control.sh. |
These are the default ports that GridGain nodes use for discovery and communication purposes. If you want to use values other than the default ones, open them.
This is what our security group should look like:

Launching GridGain Nodes
You can use GridGain Terraform AWS Module to create EC2 instances and all supplementary resources (VPC, EIPs, S3 bucket, ELB, etc). See GridGain Terraform AWS Module documentation for more details.
Connect to the EC2 instance via ssh as per the AWS documentation. Make sure to provide the same credentials that were used to launch the EC2 instance.
The default user name is gg_rw_user
.
The ssh command would look like (change the IP address with the actual public IP of your image):
ssh -i your_key.pem gg_rw_user@@54.173.158.228
You can change the user name after first login, if needed. For information on how to create a custom user name, see AWS documentation for Linux user accounts.
GridGain is installed in the /opt/gridgain/binaries/latest/
directory. You can start it with the default settings by running the following command:
$ systemctl start gridgain
Because the service is enabled by default, it should start automatically and be up and running soon after the instance launch.
Configuring Discovery
Cluster nodes launched in different EC2 instances must be able to connect to each other. This is achieved by configuring the discovery mechanisms on each node. There are two ways you can do that:
-
Manually provide the IP addresses of all instances in the Static IP Finder configuration of each node.
-
Use one of the IP Finders designed for AWS.
Discovering Nodes by TCP/IP
To configure discovery by TCP/IP, specify the private IP addresses of each instance in the node’s configuration file. Configuration file used by default is stored in /opt/gridgain/config/server.xml
.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<!-- other properties -->
<!-- Discovery configuration -->
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>172.31.28.36</value>
<value>172.31.23.105</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
</beans>
-
Connect to each instance via ssh.
-
Stop the service:
systemctl stop gridgain
. -
Adjust the configuration.
-
Restart the service:
systemctl start gridgain
.
Automatic Discovery Using Amazon S3
You can use the Amazon S3 IP Finder to configure automatic discovery of nodes.
The 'ignite-aws' module is already enabled.
Go to the Amazon S3 Management Console and create a simple bucket with default settings. Our bucket is named 'gg-ip-finder-bucket':

Provide the name of the bucket in the node’s configuration file, /opt/gridgain/config/server.xml
, as follows:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<!-- other properties -->
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.s3.TcpDiscoveryS3IpFinder">
<property name="awsCredentials" ref="aws.creds"/>
<property name="bucketName" value="gg-ip-finder-bucket"/>
</bean>
</property>
</bean>
</property>
</bean>
<!-- AWS credentials. Provide your access key ID and secret access key. -->
<bean class="com.amazonaws.auth.BasicAWSCredentials" id="aws.creds">
<constructor-arg value="YOUR_ACCESS_KEY_ID"/>
<constructor-arg value="YOUR_SECRET_ACCESS_KEY"/>
</bean>
</beans>
Replace the YOUR_ACCESS_KEY_ID
and YOUR_SECRET_ACCESS_KEY
values with your access key and secret access key. Refer to the Where’s My Secret Access Key? page for details.
-
Connect to each instance via ssh.
-
Stop the service:
systemctl stop gridgain
. -
Adjust the configuration.
-
Restart the service:
systemctl start gridgain
.
Troubleshooting Your AWS Deployment
GridGain Systems offers 14 days of free GridGain Standard Enterprise Support to new organizations that deploy the GridGain Enterprise Edition on AWS through the AWS Marketplace. This offer is limited to one 14-day period of free support per organization. Our standard annual support subscriptions are available at any time. Just complete the form to register for your 14 days of complementary support services.
To receive better support, provide node logs. If you provided CloudWatch Agent policy, instances will publish logs to CloudWatch Logs. Agent on the instances is already pre-configured to publish GridGain node logs. Pre-configured loggroup is /gridgain/<EDITION>/8.9.17
, where <EDITION> is the edition of your GridGain instance.
© 2025 GridGain Systems, Inc. All Rights Reserved. Privacy Policy | Legal Notices. GridGain® is a registered trademark of GridGain Systems, Inc.
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation.