Back to Scylladb

Launch ScyllaDB on AWS

docs/getting-started/install-scylla/launch-on-aws.rst

latest4.3 KB
Original Source

=============================================== Launch ScyllaDB |CURRENT_VERSION| on AWS

This article will guide you through self-managed ScyllaDB deployment on AWS. For a fully-managed deployment of ScyllaDB as-a-service, see ScyllaDB Cloud documentation <https://cloud.docs.scylladb.com/>_.

Launching Instances from ScyllaDB AMI

#. Choose your region, and click the Node link to open the EC2 instance creation wizard.

The following table shows the latest patch release. See :doc:AWS Images </reference/aws-images/> for earlier releases.

.. scylladb_aws_images_template:: :exclude: rc,dev :only_latest:

#. Choose the instance type. See :ref:Cloud Instance Recommendations for AWS for the list of recommended instances.

Other instance types will work, but with lesser performance. If you choose an instance type other than the recommended ones, make sure to run the :ref:scylla_setup script.

#. Configure your instance details.

  • Number of instances – If you are launching more than one instance, make sure to correctly set the IP of the first instance with the seeds parameter - either in the User Data (see below) or after launch.

  • Network – Configure the network settings.

    • Select your VPC.
    • Configure the security group. Ensure that all :ref:ScyllaDB ports <networking-ports> are open.
  • Advanced Details> User Data – Here, you can add ScyllaDB configuration options in the JSON format. See :ref:scylla.yaml <admin-scylla.yaml> for information about supported options.

    .. TODO Replace the link to scylla.yaml to the full list of supported options - when all the options are documented.

    The following example shows a configuration using the most popular options.

    • cluster_name - The name of the cluster.
    • seed_provider - The IP of the first node. New nodes will use the IP of this seed node to connect to the cluster and learn the cluster topology and state. See :doc:ScyllaDB Seed Nodes </kb/seed-nodes>.
    • post_configuration_script - A base64 encoded bash script that will be executed after the configuration is completed.
    • start_scylla_on_first_boot - Starts ScyllaDB once the configuration is completed.

    Example:

    .. code-block:: json

    { "scylla_yaml": { "cluster_name": "test-cluster", "seed_provider": [{"class_name": "org.apache.cassandra.locator.SimpleSeedProvider", "parameters": [{"seeds": "10.0.219.209"}]}], }, "post_configuration_script": "#! /bin/bash\nyum install cloud-init-cfn", "start_scylla_on_first_boot": true }

    For full documentation of ScyllaDB AMI user data, see the ScyllaDB Image documentation <https://github.com/scylladb/scylla-machine-image>_.

#. Add storage.

  • ScyllaDB AMI requires XFS to work. You must attach at least one drive for ScyllaDB to use as XFS for the data directory. When attaching more than one drive, the AMI setup will install RAID0 on all of them.
  • The ScyllaDB AMI requires at least two instance store volumes. The ScyllaDB data directory will be formatted with XFS when the instance first boots. ScyllaDB will fail to start if only one volume is configured.

#. Tag your instance. #. Click Launch Cluster. You now have a running ScyllaDB cluster on EC2. #. Connect to the servers using the username scyllaadm.

.. code-block:: console

    ssh -i your-key-pair.pem scyllaadm@ec2-public-ip

The default file paths:

  • The scylla.yaml file: /etc/scylla/scylla.yaml
  • Data: /var/lib/scylla/

To check that the ScyllaDB server is running, run:

.. code-block:: console

    nodetool status

Next Steps

  • :doc:Configure ScyllaDB </getting-started/system-configuration>
  • Manage your clusters with ScyllaDB Manager <https://manager.docs.scylladb.com/>_
  • Monitor your cluster and data with ScyllaDB Monitoring <https://monitoring.docs.scylladb.com/>_
  • Get familiar with ScyllaDB’s :doc:command line reference guide </operating-scylla/nodetool>.
  • Learn about ScyllaDB at ScyllaDB University <https://university.scylladb.com/>_