Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As a user, I want to store a copy of my archive data in AWS Deep Archive / Glacier #73

Closed
jordanpadams opened this issue Oct 18, 2023 · 11 comments
Assignees
Labels

Comments

@jordanpadams
Copy link
Member

jordanpadams commented Oct 18, 2023

Checked for duplicates

Yes - I've already checked

πŸ§‘β€πŸ”¬ User Persona(s)

Archivist

πŸ’ͺ Motivation

...so that I can have a copy of my data available in the event of corruption or disaster recovery

πŸ“– Additional Details

No response

Acceptance Criteria

Given
When I perform
Then I expect

βš™οΈ Engineering Details

Tightly coupled with cloud requirement: NASA-PDS/planetary-data-cloud#75

@jordanpadams jordanpadams added needs:triage requirement the current issue is a requirement labels Oct 18, 2023
@jordanpadams jordanpadams self-assigned this Oct 18, 2023
@jordanpadams jordanpadams changed the title As a user, I want to store a copy of my archive data in AWS Deep Archive / Glacier As a user, I want to store a copy of my archive data in AWS Deep Archive / Glacier in another region from the primary copy Oct 18, 2023
@viviant100
Copy link

tagup with MCP - we (PDS) will be able to set up glacier ousevles.

@viviant100 viviant100 self-assigned this Feb 1, 2024
@jordanpadams jordanpadams changed the title As a user, I want to store a copy of my archive data in AWS Deep Archive / Glacier in another region from the primary copy As a user, I want to store a copy of my archive data in AWS Deep Archive / Glacier Mar 2, 2024
@viviant100
Copy link

@ramesh-maddegoda At monthly MCP meeting today (7/8/24), we explored the following options instead of using glaciers:

  • Enabling S3 bucket versioning
  • Utilizing multi-region S3 buckets

Could you please evaluate these approaches with Nucleus?

@jordanpadams
Copy link
Member Author

jordanpadams commented Jul 17, 2024

@viviant100 poking at this a bit online, I think what the folks on the MCP call may have been referring to was Cross-Region Replication. We could then:

  • Enable versioning for easy rollback to a past version in an S3 bucket
  • Replicate the data from our S3 archive bucket to another region
  • Once the data is replicated to the other region, move it to Deep Archive tier

To kick off this effort, since this does not really need Nucleus in the loop, can you help with a couple sub-tasks:

  • Provide a cost comparison of our existing planned costs for a copy of the data in S3 and Glacier vs. S3 + versioning + cross-region replication + Deep Archive (we can use lower storage tier since we have versioning enabled)
  • Ask around to other data repositories and archives at JPL to determine what their disaster recovery solutions are for data at rest in the cloud, and whether or not this solution seems sensible or if it is overkill. May be worth reaching out to other like MCP folks and/or AWS SMEs to get insights.

After that, we can pilot out what it looks like to set something like this up.

@ramesh-maddegoda
Copy link
Contributor

Now, in MCP it takes more than 2 hours sometimes to create MWAA in MCP with Terraform and it fails with the following error.

module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m25s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m35s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m45s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m55s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m5s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m15s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m25s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m35s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m45s elapsed]
β•·
β”‚ Error: waiting for MWAA Environment (pds-nucleus-airflow-env) create: operation error MWAA: GetEnvironment, https response error StatusCode: 403, RequestID: 9c1603bb-8845-4eb1-951b-45623079b703, api error ExpiredTokenException: The security token included in the request is expired
β”‚ 
β”‚   with module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env,
β”‚   on terraform-modules/mwaa-env/mwaa_env.tf line 57, in resource "aws_mwaa_environment" "pds_nucleus_airflow_env":
β”‚   57: resource "aws_mwaa_environment" "pds_nucleus_airflow_env" {
β”‚ 
 
 

Created the request https://jaas.gsfc.nasa.gov/servicedesk/customer/portal/2/GSD-3804 to get long term access keys to avoid this problem.

@ramesh-maddegoda
Copy link
Contributor

This ticket was unblocked after finding a solution to #118

@ramesh-maddegoda
Copy link
Contributor

Created pull request: #119

@jordanpadams
Copy link
Member Author

Status: Initially had an issue with pushing to Glacier. Need to set --force flag in order to overwrite the data in Glacier.

@tloubrieu-jpl
Copy link
Member

We finally want a replication across regions and we do that using a replication rule configured in terraform (as done for the ODR bucket).

@ramesh-maddegoda
Copy link
Contributor

Create a pull request #120

@tloubrieu-jpl
Copy link
Member

The PR is merged and next step is to document the needed configuration, a ticket will be created for that.

@jordanpadams
Copy link
Member Author

This can be closed. Wrap-up of NASA-PDS/planetary-data-cloud#75 will include the necessary documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 🏁 Done
Status: 🏁 Done
Status: 🏁 Done
Development

No branches or pull requests

4 participants