Giter Club home page Giter Club logo

amazon-s3-checklist's Introduction

Amazon S3 Checklist

The Amazon S3 Checklist is an exhaustive list of all elements you need to have / to test before using S3 in production.

How to use โ€ข Contributing

Sister Projects

Table of Contents

  1. Management
  2. Availability
  3. Monitoring
  4. Security
  5. Performance
  6. Cost

How to use

All items in the Amazon S3 Checklist are required for the majority of the projects, but some elements can be omitted or are not essential. We choose to use 3 levels of flexibility:

  • ๐ŸŸข means that the item is recommended but can be omitted in some particular situations.
  • ๐ŸŸก means that the item is highly recommended and can eventually be omitted in some really particular cases.
  • ๐Ÿ”ด means that the item can't be omitted for any reason.

Some resources possess an emoticon to help you understand which type of content / help you may find on the checklist:

  • ๐Ÿ“– documentation or article
  • ๐Ÿ”ง online tool / testing tool
  • ๐Ÿ“น media or video content

Management

  • ๐Ÿ”ด Choose Bucket Policy vs IAM Policy vs ACL: Setting up the right access controls for your S3 buckets and objects.

  • ๐ŸŸก Use Access Points: Simplifies managing data access at scale for applications using shared data sets on S3.

  • ๐ŸŸก Create object lifecycle policies: Implement data lifecycle needs according to frequency, durability, and latency requirements. Object lifecycle policies will move data between the various storage classes, including Glacier and even the deletion of objects.

  • ๐ŸŸข Have an object tagging policy: Object tagging is a powerful mechanism to attach metadata to objects managed in S3.

โฌ†๏ธ back to top


Availability

  • ๐Ÿ”ด Have a backup plan: 11 9s of durability is not bulletproof. Consider cross-region replication or multi-cloud backups.

  • ๐ŸŸก Enable object versioning: Object versioning, in conjunction with lifecycle management enhances application resilience.

โฌ†๏ธ back to top


Monitoring

  • ๐Ÿ”ด Have a monitoring plan: What metrics are recorded? Who is notified? How often are metrics monitored?

  • ๐Ÿ”ด Enable CloudTrail: CloudTrail logs cover general interactions with the S3 service.

  • ๐Ÿ”ด Enable server access logging: Server access logging provides detailed records for the requests that are made to a bucket.

โฌ†๏ธ back to top


Security

  • ๐Ÿ”ด Enable block all public access: Blocks public access to S3 buckets and prevents S3 buckets from being made public unless this setting is turned off.

  • ๐Ÿ”ด Enforce server-side or client-side encryption: Enabling SSE-S3, SSE-KMS or SSE-C to encrypt data at rest by AWS, or use envelope encryption (client-side) to encrypt data prior to it landing on S3.

  • ๐Ÿ”ด Enforce encryption in-transit: Enforce the use of Secure Socket Layer/Transport Layer Security (SSL/TLS) for all S3 requests.

  • ๐ŸŸก Enable MFA delete: Adds another layer of security requiring additional authentication.

  • ๐ŸŸก Use VPC endpoints: Where traffic being routed over the Internet is undesirable, VPC endpoints should be used to access S3.

  • ๐ŸŸก ๐Ÿ†• Use Amazon GuardDuty: Detect suspicious activities such as requests coming from an unusual geo-location, disabling of preventative controls such as S3 block public access, or API call patterns consistent with an attempt to discover misconfigured bucket permissions.

  • ๐ŸŸข Use Glacier Vault Lock: Immutable policy for enforcing controls such as "write once read many" (WORM).

  • ๐ŸŸข Use Amazon Macie: Macie automates the discovery of sensitive data, such as personally identifiable information (PII) and intellectual property, to provide you with a better understanding of the data that your organization stores in Amazon S3.

โฌ†๏ธ back to top


Performance

โฌ†๏ธ back to top


Cost

  • ๐Ÿ”ด Use Intelligent-Tiering: Intelligent-Tiering storage class is designed to optimize costs by automatically moving data to the most cost-effective access tier.

  • ๐ŸŸข Retrieve S3 inventory: Outputs files that list your objects and their corresponding metadata on a daily or weekly basis. Can be useful to setup your own lifecycle management or for big data jobs that require S3 object metadata without having to call individual object APIs.

โฌ†๏ธ back to top


Contributing

Open an issue or a pull request to suggest changes or additions.

โฌ†๏ธ back to top

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.