-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of github.com:uc-cdis/cloud-automation into fea…
…t/ecr-access-job
- Loading branch information
Showing
48 changed files
with
892 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM jenkins/inbound-agent:jdk11 | ||
FROM jenkins/inbound-agent:jdk21 | ||
|
||
USER root | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM jenkins/inbound-agent:jdk11 | ||
FROM jenkins/inbound-agent:jdk21 | ||
|
||
USER root | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM jenkins/jenkins:2.415-jdk11 | ||
FROM jenkins/jenkins:2.426.3-lts-jdk21 | ||
|
||
USER root | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM jenkins/jenkins:2.415-jdk11 | ||
FROM jenkins/jenkins:2.426.3-lts-jdk21 | ||
|
||
USER root | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# S3 to Google Cloud Storage Replication Pipeline | ||
|
||
This document will guide you through setting up a replication pipeline from AWS S3 to Google Cloud Storage (GCS) using VPC Service Controls and Storage Transfer Service. This solution is compliant with security best practices, ensuring that data transfer between AWS S3 and GCS is secure and efficient. | ||
|
||
## Table of Contents | ||
|
||
- [Prerequisites](#prerequisites) | ||
- [Step-by-step Guide](#step-by-step-guide) | ||
- [Setup VPC Service Controls](#setup-vpc-service-controls) | ||
- [Initiate Storage Transfer Service](#initiate-storage-transfer-service) | ||
- [Compliance Benefits](#compliance-benefits) | ||
- [Cost Benefit Analysis](#cost-benefit-analysis) | ||
|
||
## Prerequisites | ||
|
||
1. **AWS account** with access to the S3 bucket. | ||
2. **Google Cloud account** with permissions to create buckets in GCS and set up VPC Service Controls and Storage Transfer Service. | ||
3. Familiarity with AWS IAM for S3 bucket access and Google Cloud IAM for GCS access. | ||
|
||
## Step-by-step Guide | ||
|
||
### Setup VPC Service Controls | ||
|
||
1. **Access the VPC Service Controls** in the Google Cloud Console. | ||
2. **Create a new VPC Service Control perimeter**. | ||
- Name the perimeter and choose the desired region. | ||
- Add the necessary GCP services. Ensure to include `storagetransfer.googleapis.com` for Storage Transfer Service. | ||
3. **Setup VPC Service Control Policy** to allow connections from AWS. | ||
- Use the [documentation](https://cloud.google.com/vpc-service-controls/docs/set-up) to help set up. | ||
|
||
### Initiate Storage Transfer Service | ||
|
||
1. Navigate to **Storage Transfer Service** in the Google Cloud Console. | ||
2. Click **Create Transfer Job**. | ||
3. **Select Source**: Choose Amazon S3 bucket and provide the necessary details. | ||
- Ensure to have necessary permissions for the S3 bucket in AWS IAM. | ||
4. **Select Destination**: Choose your GCS bucket. | ||
5. **Schedule & Advanced Settings**: Set the frequency and conditions for the transfer. Consider setting up notifications for job completion or errors. | ||
6. **Review & Create**: Confirm the details and initiate the transfer job. | ||
|
||
## Compliance Benefits | ||
|
||
Setting up a secure replication pipeline from AWS S3 to GCS using VPC Service Controls and Storage Transfer Service offers the following compliance benefits: | ||
|
||
1. **Data Security**: The VPC Service Controls provide an additional layer of security by ensuring that the transferred data remains within a defined security perimeter, reducing potential data leak risks. | ||
2. **Auditability**: Both AWS and GCS offer logging and monitoring tools that can provide audit trails for data transfer. This can help in meeting regulatory compliance requirements. | ||
3. **Consistent Data Replication**: The Storage Transfer Service ensures that data in GCS is up to date with the source S3 bucket, which is essential for consistent backup and disaster recovery strategies. | ||
|
||
## Cost Benefit Analysis | ||
|
||
**Benefits**: | ||
|
||
1. **Data Redundancy**: Having data stored in multiple cloud providers can be a part of a robust disaster recovery strategy. | ||
2. **Flexibility**: Replicating data to GCS provides flexibility in multi-cloud strategies, enabling seamless migrations or usage of GCP tools and services. | ||
3. **Security**: Utilizing VPC Service Controls strengthens the security posture. | ||
|
||
**Costs**: | ||
|
||
1. **Data Transfer Costs**: Both AWS and Google Cloud might charge for data transfer. It's crucial to analyze the cost, especially for large data transfers. | ||
2. **Storage Costs**: Storing data redundantly incurs additional storage costs in GCS. | ||
|
||
**Analysis**: | ||
|
||
To stay in compliance, we require multiple copies of our data in separate datacenters or clouds. After our security audit, we found the important of not keeping data in a single cloud. It may be expensive to transfer data from AWS to GCP and to store it in 2 clouds simultaniously, but if we need to, then this solution could be an easy way to achieve compliance. | ||
|
||
--- | ||
|
||
Please note that while this guide is based on the provided Google Cloud documentation, it's crucial to refer to the original [documentation](https://cloud.google.com/architecture/transferring-data-from-amazon-s3-to-cloud-storage-using-vpc-service-controls-and-storage-transfer-service) for the most accurate and up-to-date information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.