Favicon

You are here: Home > App Distribution > Builds > Custom Storage Regions

Custom Storage Regions

Learn how to configure custom storage regions in AWS S3 and GCP for your Applivery account. Step-by-step guide with detailed instructions.

10 min read

TL;DR

Configure custom storage regions in AWS S3 or GCP for your Applivery account by following this step-by-step guide.

Warning

This is a premium feature that might not be available in your current plan. Check the availability on our pricing page.

Customers can now manage their own Storage regions in AWS S3 and GCP Cloud Storage. This tutorial will help you properly configure your custom Storage region in AWS and GCP.

AWS S3

Bucket creation

1
Log in to AWS

Log in to your Amazon Web Services console with your credentials.

2
Navigate to S3

Go to the Storage > S3 section.

3
Create a bucket

Click the Create bucket orange button.

4
Fill out bucket information

Fill out your bucket information (Bucket name and Region).

s3-custom-bucket-name | Applivery
5
Configure Public Access

Scroll down until the Block Public Access settings for bucket section and select the following two options:

  • Block public access to buckets and objects granted through new public buckets or access point policies.

  • Block public and cross-account access to buckets and objects through any public bucket or access point policies.

  • I acknowledge that the current settings might result in this bucket and the objects within becoming public.

s3-custom-bucket-security | Applivery
6
Create the bucket

Scroll down and click the Create bucket orange button.

Credentials configuration

1
Create a new AWS User

We recommend creating a new AWS User and credentials. Go to AWS IAM > Users section and click the Add user button.

2
Select User Type

Select a user name and choose the Programmatic access option under the access type section.

s3-custom-bucket-user | Applivery
3
Follow the wizard

Click Next, and follow steps 2, 3, and 4 without changing anything, maintaining the default options, and finish by clicking the Create user button.

4
Store Credentials

The user credentials will be displayed, copied, and stored securely. You will have to provide them to our team.

s3-custom-bucket-credentials | Applivery

Grant permissions

1
Add Inline Policy

Now we have to grant some additional permissions to the new user. For this example, we will use the Inline AWS policies, but as an alternative, you can create a new policy and attach it to the user.

Click on the new user and click Add inline policy under the Permissions tab.

2
Use JSON Editor

Use the {} JSON editor and enter the following AWS Policy:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:GetBucketLocation",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::mycustom-private-bucket",
                "arn:aws:s3:::mycustom-private-bucket/*"
            ]
        }
    ]
}
Warning

Note that you have to substitute the `arn:aws:s3

mycustom-private-bucket` with the ARN of the bucket you created in the previous step.
:::

Select your new Storage region

1
Access Storage configuration

Once created, a new record will be added to the list, easily identifiable as it will be displayed as a You or Managed by title.

2
Configure Storage region

You can configure your Custom Storage Region at the Workspace or App levels:

  • Workspace: The configuration will be applied to the entire Workspace. It will apply to all Apps except those that already have a Custom Storage region configured. To do so, just click Select on this screen to enable it at the entire Workspace level.

  • App: The configuration will be applied just to this App, regardless of the Workspace configuration. To do so, go to your App Settings > Advanced and Select the Storage provider you’d like.

Note

Only the new Builds uploaded will be stored in the new region. Previous ones will remain in the same place.

GCP Cloud Storage

Create a service account

1
Log in to GCP

Log in to your Google Cloud console with your credentials.

2
Navigate to Service Accounts

Go to the IAM > Service Accounts section and click the Create service account button.

3
Fill out Service Account Information

Fill out Step 1 with your service account information. You can safely skip Steps 2 and 3 for now. Then click Done.

step1-gcp-serviceaccount-001 | Applivery
4
Create Key

Once the service account has been created, click the CREATE KEY button.

5
Navigate to Cloud Storage Interoperability

Now, navigate to Cloud Storage in the GCP products menu, then click Settings > Interoperability.

6
Create Key for Service Account

Then scroll down to Service account HMAC and click +CREATE A KEY FOR ANOTHER SERVICE ACCOUNT.

step1-gcp-cloudstorage-interoperability | Applivery
7
Select Service Account

Use the filtering options to find the Service Account that you generated in the previous step. Select it and then click CREATE KEY.

step1-gcp-serviceaccount-004 | Applivery
8
Save Credentials

A new Access key and Secret pair will be generated. Save these values for later.

step1-gcp-serviceaccount-005 | Applivery

Create a Cloud Storage bucket

1
Navigate to Cloud Storage

Now navigate to Cloud Storage, from the products menu, and click Create bucket.

2
Fill out Bucket Name

Fill out the bucket name and click CONTINUE.

step2-gcp-cloudstorage-001 | Applivery
3
Choose Storage Location

Choose where to store your data from the available regions. You can choose regional storage, dual storage, and multi-region storage.

step2-gcp-cloudstorage-002 | Applivery
4
Choose Storage Class

Next, choose the storage class. We recommend using the “autoclass” option provided by GCP that automatically transitions each object to Standard or Nearline class based on object-level activity, to optimise for cost and latency. Recommended if usage frequency may be unpredictable.

step2-gcp-cloudstorage-003 | Applivery
5
Define Access Control

Define an access control policy that must be set to “Fine-grained” as Applivery will define individual access policies for each object.

step2-gcp-cloudstorage-004 | Applivery
6
Configure Data Protection

Under data protection, we recommend choosing “Soft-delete policy” and then “Use default retention duration“. Then click the CREATE button to finish.

step2-gcp-cloudstorage-005 | Applivery

Update bucket permissions

1
Navigate to Bucket Permissions

Now go to Buckets, select the bucket recently created, and click PERMISSIONS.

2
Grant Access

Click +GRANT ACCESS.

step3-gcp-cloudstorage-001 | Applivery
3
Assign Storage Object User Role

In the side panel, search for the service account under “New principals” and assign the “Storage Object User” role. Then click SAVE.

step3-gcp-cloudstorage-002 | Applivery

Configure your Custom Storage Region in Applivery

1
Navigate to Storage Settings

Now that the AWS S3 or GCP Cloud Storage configuration is complete, open the top dropdown menu and access your Workspace Settings (1) in the Applivery Dashboard. Then select Storage (2) from the left-hand menu and click the + Create storage provider (3) button.

storage
2
Complete the Form

Complete the form with the information you generated in the previous steps. Then click the Save button.

create storage provider

Enabling storage buckets

You can switch between storage regions by just clicking the Select button beside every storage region.

Testing new configurations

You can use the bug icon located on each Storage region to test the proper configuration of the bucket. Applivery will run a series of tests that will confirm if the bucket has been properly configured.

step4-gcp-cloudstorage-applivery-002 | Applivery

A successful test will look like this:

storage check

Disabling a Custom Storage Region

You can disable a Custom Storage Region by clicking the Select button of the default storage region (Ireland).

Removing a Custom Storage Region

You can permanently remove a Custom Storage Region by clicking the pencil button (4) beside it and then the Delete (5) button at the bottom of the modal view. The Storage Region will be permanently removed from the system.

delete storage provider
Note

The Builds uploaded to this storage will not be accessible anymore.

Key Takeaways

  • Learn how to create and configure storage buckets in AWS S3 and GCP.
  • Understand the necessary permissions for Applivery to access your storage.
  • Configure your Applivery account to use your custom storage region.