diff --git a/_storage/amazon-s3-deploy.md b/_storage/amazon-s3-deploy.md index eb20eccc..a205574a 100644 --- a/_storage/amazon-s3-deploy.md +++ b/_storage/amazon-s3-deploy.md @@ -55,7 +55,7 @@ If `watch` is not located, install it on your workstation. The system opens the EC2 dashboard. -4. Enter `blockstack-gaia_hub-[a-z]*-[.0-9]*-hvm` in the search bar. +4. Enter `blockstack-gaia` in the search bar. The system finds AMIs in the Marketplace and the Community. @@ -67,109 +67,116 @@ If `watch` is not located, install it on your workstation. 6. Select the most recent version of the image. - * Current Release: `2.5.3` - Each image name has this format: `blockstack-gaia_hub-STORAGETYPE-VERSION-hvm - ami-BUILDTAG` - So, the `blockstack-gaia_hub-ephemeral-2.5.3-hvm - ami-0c8fc48c10a42737e` image uses ephemeral storage, is at version `2.5.3` and has the `0c8fc48c10a42737e` tag. - You can choose an image that uses ephemeral or EBS storage. The ephemeral + You can choose an image that uses **ephemeral** or **EBS** storage. The ephemeral storage is very small but free. Only choose this if you plan to test or use a personal hub. Otherwise, choose the AMI for elastic block storage (EBS) which provides a persistent data store on a separate disk backed by [EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html). + So, the `blockstack-gaia_hub-ephemeral-2.5.3-hvm - ami-0c8fc48c10a42737e` image uses ephemeral storage, is at version `2.5.3` and has the `0c8fc48c10a42737e` tag. + + After you select an image, the system displays **Step 2: Choose an Instance Type** page. ![](/storage/images/tier-2-image.png) 7. Select **t2.micro** and choose **Next: Configure Instance Details**. -
To configure instance details, do the following: - 1. Select a VPC. - - A default VPC is created with a free tier account. You can use this - default VPC. Or you can choose another VPC. If you choose another VPC, - ensure the `Subnet` value is set to a subnet reachable by a public IP. - - {% include important.html content="If you're using a private subnet, you - should attach an elastic IP (EIP) to the VM. This EIP allows you to - reboot the instance without worrying whether the address will reset. To - attach an IP, press allocate new address and follow the - instructions to [attach the EIP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-associating) to your new EC2 instance." %} - - 2. Set **Protect against accidental termination**. - - If you terminate a Gaia instance, you lose all the data associated with it. Protection adds an extra step to terminating your Gaia instance. - - 3. Open the **Advanced Details**. - - At this point, you are going to configure environment variables for your instance. - - 4. Paste the following into the **Advanced Details**. - - ```json - { - "ignition": { "version": "2.2.0" }, - "storage": { - "files": [{ - "filesystem": "root", - "path": "/etc/environment", - "mode": 420, - "contents": { - "source": "data:application/octet-stream,API_KEY%3D%0ADOMAIN%3D%0ASTAGING%3D" +
+
    +
  1. +

    Select a VPC.

    +

    A default VPC is created with a free tier account. You can use this + default VPC. Or you can choose another VPC. If you choose another VPC, + ensure the Subnet value is set to a subnet reachable by a public IP. +

    +
    Important: If you're using a private subnet, you + should attach an elastic IP (EIP) to the VM. This EIP allows you to + reboot the instance without worrying whether the address will reset. To + attach an IP, press allocate new address and follow the + instructions to attach the EIP to your new EC2 instance. +
    +
  2. +
  3. +

    Set Protect against accidental termination.

    +

    If you terminate a Gaia instance, you lose all the data associated with it. Protection adds an extra step to terminating your Gaia instance.

    +
  4. +
  5. +

    Open the Advanced Details.

    +

    At this point, you are going to configure environment variables for your instance.

    +
  6. +
  7. +

    Paste the following into the Advanced Details.

    + +
      
    +         {
    +            "ignition": { "version": "2.2.0" },
    +            "storage": {
    +               "files": [{
    +               "filesystem": "root",
    +               "path": "/etc/environment",
    +               "mode": 420,
    +               "contents": {
    +                  "source": "data:application/octet-stream,API_KEY%3DKEYPHRASE%0ADOMAIN%3DNAME_OF_DOMAIN%0ASTAGING%3DSTAGING_VALUE"
    +               }
    +               }]
                 }
    -          }]
    -        }
    -      }
    -      ```
    -
    -   5. Replace the following values in the JSON.
    -
    -       
    -         
    -           
    -           
    -         
    -         
    -           
    -           
    -         
    -         
    -           
    -           
    -         
    -         
    -           
    -           
    -         
    -        
    ValueDescription
    <KEYPHRASE>A phrase to pass when using the hub admin. For example, hubba is a fun key phrase.
    <DOMAIN_NAME_VALUE>Your hub's domain name. For example, maryhub.ml is the domain name in this example.
    <STAGING_VALUE>

    Indicates what type of SSL to create, testing (`1`) or production (`0`). Set testing if you want to test without worrying about rate limiting. A testing cerificate is not secure.

    - -

    For this tutorial, use production (`0`).

    -
    - - 6. Check your **Advanced Details** they should look similar to the following: - - ``` - { + } +
    +
  8. +
  9. +

    Replace the following values in the JSON.

    + + + + + + + + + + + + + + + + + + + +
    ValueDescription
    <KEYPHRASE>A phrase to pass when using the hub admin. For example, hubba is a fun key phrase.
    <NAME_OF_DOMAIN>Your hub's domain name. For example, maryhub.ml is the domain name in this example.
    <STAGING_VALUE> +

    Indicates what type of SSL to create, testing (`1`) or production (`0`). Set testing if you want to test without worrying about rate limiting. A testing cerificate is not secure.

    +

    For this tutorial, use production (`0`).

    +
    +
  10. +
  11. +

    Check your Advanced Details they should look similar to the following:

    + +
      {
                 "ignition": { "version": "2.2.0" },
                 "storage": {
    -              "files": [{
    -                "filesystem": "root",
    -                "path": "/etc/environment",
    -                "mode": 420,
    -                "contents": {
    +               "files": [{
    +               "filesystem": "root",
    +               "path": "/etc/environment",
    +               "mode": 420,
    +               "contents": {
                       "source": "data:application/octet-stream,API_KEY%3Dhubba%0ADOMAIN%3Dmaryhub.ml%0ASTAGING%3D0"
    -                }
    -              }]
    +               }
    +               }]
                 }
    -          }
    -          ```     
    +         }
    +         
    +
  12. +
+
At this point, you have configured your instance details. -
8. Choose **Next: Add Storage**. @@ -182,7 +189,7 @@ If `watch` is not located, install it on your workstation. * **Key** of `Purpose` with the **Value** `gaia` * **Key** of `Name` with the **Value** `gaia-hub` - * **Key** of `Version` with the **Value** `2.5.3` + * **Key** of `Version` with the **Value** `2.5.3` (This value is an example, your version may be different.) ![](/storage/images/tag-add.png) @@ -368,11 +375,11 @@ Each service plays a particular role in running your Gaia hub. certbot - Service running Let's Encrypt `certbot` client to support SSL. Certbot renews your certificates and reloads Nginx to pick up the changes. This service will run 2x per day checking if the certificate needs to be renewed. + Service running Let's Encrypt certbot client to support SSL. Certbot renews your certificates and reloads Nginx to pick up the changes. This service will run 2x per day checking if the certificate needs to be renewed. nginx - Runs an Nginx proxy in front of the Gaia Hub. This service does things like rate-limiting, SSL termination, and redirects to HTTPS. Your nginx service relies on your hub's readURL to make requests. Changes to a hub's readURL must be reflected in the nginx service configuration in /gaia/nginx/conf.d/default.conf + Runs an Nginx proxy in front of the Gaia Hub. This service does things like rate-limiting, SSL termination, and redirects to HTTPS. Your nginx service relies on your hub's readURL to make requests. Changes to a hub's readURL must be reflected in the nginx service configuration in /gaia/nginx/conf.d/default.conf gaia-admin @@ -396,7 +403,7 @@ Each service plays a particular role in running your Gaia hub. ### Locations of key files - +
@@ -415,12 +422,12 @@ Each service plays a particular role in running your Gaia hub. - - + @@ -440,11 +447,11 @@ Each service plays a particular role in running your Gaia hub. - + - +
File or Directory
/gaia/gaia.envContains the environment variables used by the Gaia systemd unit-files + Contains the environment variables used by the Gaia systemd unit-files.
reset-ssl-certs.serviceRemoves all existing certificates and restarts all the Gaia hub services.
* Use this sparingly, since the Letsencrypt service will throttle too many requests for certificates
Removes all existing certificates and restarts all the Gaia hub services. Use this sparingly, since the Lets Encrypt service will throttle too many requests for certificates.
/gaia/hub-config
/gaia/nginx/certbot/confLetsencrypt SSL certificates/configsLets Encrypt SSL certificates/configs.
/gaia/scriptsScripts run by the systemd services on startupScripts run by the systemd services on startup.