Home > Storage > PowerScale (Isilon) > Product Documentation > Cloud > APEX File Storage for AWS: Deployment Guide > Prepare the EC2 instance user data for the first node
OneFS requires user data in a json file for each node. This json file provides information needed to form a OneFS cluster for each node. You must prepare a user-data-node-<node_number>.json file for each node being deployed.
The first cluster node must contain an acs_config key, which will provide the node with information it needs to form a cluster. See the section first-node-user-data-template.json for details. Table 8 shows the description about the content first-node-user-data-template.json. Keep other options as the default if they are not listed in Table 8.
The EC2 Instance user data passed to each node can only be accessed from within the node through AWS Instance Meta Data Service (IMDS). However, anyone who has direct access to the instance, and potentially any software running on the instance, can view this data. In order to protect sensitive data like password, we recommend cluster administrators grant ISI_PRIV_LOGIN_SSH to as few accounts as possible. To protect password, we also recommend using one of the following methods:
# openssl passwd -5 -salt `head -c 8 /dev/random | xxd -p` <password>
The section User data of first node example is an example.
json file key name | Description |
hal_volume_type | The EBS volume type for the cluster, gp3 or st1. |
acs_config.cluster.password | The root password for the OneFS cluster |
acs_config.cluster.admin_user_password | The admin password for the OneFS cluster |
acs_config.cluster.credentials_hashed | Default is false. You can set this to true if you want to protect the root password and admin password in the user data. |
acs_config.cluster.name | The OneFS cluster name. Cluster names must begin with a letter and can contain only numbers, letters, and hyphens. If the cluster is joined to an Active Directory domain, the cluster name must be 11 characters or fewer. |
acs_config.cluster.join_mode | Must have value "auto" |
acs_config.cluster.encoding | Must have value "utf-8" |
acs_config.cluster.l3_cache.ssd_l3_cache_default_enabled | Must have value false |
acs_config.cluster.cluster_name_nt4_compatibility | Must have value false |
acs_config.external_networking.dns_domains | This is required, it is the cluster DNS domain, deployment may fail if it is empty. |
acs_config.external_networking.dns_servers | This is required, it is the cluster DNS servers, deployment may fail if it is empty. |
acs_config.external_networking. external_interfaces.gateway | The cluster gateway |
acs_config.external_networking. external_interfaces.ip_address_ranges.low | Set to the first IP address of the cluster external interfaces IP range. |
acs_config.external_networking. external_interfaces.ip_address_ranges.high | Set to the last IP address of the cluster external interfaces IP range. |
acs_config.external_networking. external_interfaces.netmask | The netmask of cluster external interfaces |
acs_config.external_networking. external_interfaces.interface | Must have value "ext-1" |
acs_config.internal_networking. internal_interfaces.ip_address_ranges.low | Set to the first IP address of the cluster internal interfaces IP range. |
acs_config.internal_networking. internal_interfaces.ip_address_ranges.high | Set to the last IP address of the cluster internal interfaces IP range. |
acs_config.internal_networking. internal_interfaces.netmask | The netmask of cluster internal interfaces |
acs_config.internal_networking. internal_interfaces.interface | Must have value "int-a" |