Next steps - Amazon Simple Storage Service
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

Next steps

In the preceding examples, you learned how to perform some basic Amazon S3 tasks.

The following topics explain the learning paths that you can use to gain a deeper understanding of Amazon S3 so that you can implement it in your applications.

Understand common use cases

You can use Amazon S3 to support your specific use case. The Amazon Solutions Library and Amazon Blog provide use-case specific information and tutorials. The following are some common use cases for Amazon S3:

  • Backup and storage – Use Amazon S3 storage management features to manage costs, meet regulatory requirements, reduce latency, and save multiple distinct copies of your data for compliance requirements.

  • Application hosting – Deploy, install, and manage web applications that are reliable, highly scalable, and low-cost. For example, you can configure your Amazon S3 bucket to host a static website. For more information, see Hosting a static website using Amazon S3.

  • Media hosting – Build a highly available infrastructure that hosts video, photo, or music uploads and downloads.

  • Software delivery – Host your software applications for customers to download.

Control access to your buckets and objects

Amazon S3 provides a variety of security features and tools. For an overview, see Access control best practices.

By default, S3 buckets and the objects in them are private. You have access only to the S3 resources that you create. You can use the following features to grant granular resource permissions that support your specific use case or to audit the permissions of your Amazon S3 resources.

  • S3 Block Public Access – Block public access to S3 buckets and objects. By default, Block Public Access settings are turned on at the account and bucket level.

  • Amazon Identity and Access Management (IAM) – Create IAM users for your Amazon Web Services account to manage access to your Amazon S3 resources. For example, you can use IAM with Amazon S3 to control the type of access a user or group of users has to an Amazon S3 bucket that your Amazon Web Services account owns.

  • Bucket policies – Use IAM-based policy language to configure resource-based permissions for your S3 buckets and the objects in them.

  • Access control lists (ACLs) – Grant read and write permissions for individual buckets and objects to authorized users. As a general rule, we recommend using S3 resource-based policies (bucket policies and access point policies) or IAM policies for access control instead of ACLs. ACLs are an access control mechanism that predates resource-based policies and IAM. For more information about when you'd use ACLs instead of resource-based policies or IAM policies, see Access policy guidelines.

  • S3 Object Ownership – Disable ACLs and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. You, as the bucket owner, automatically own and have full control over every object in your bucket, and access control for your data is based on policies.

  • Access Analyzer for S3 – Evaluate and monitor your S3 bucket access policies, ensuring that the policies provide only the intended access to your S3 resources.

Manage and monitor your storage

  • Managing your storage – After you create buckets and upload objects in Amazon S3, you can manage your object storage. For example, you can use S3 Versioning and S3 Replication for disaster recovery, S3 Lifecycle to manage storage costs, and S3 Object Lock to meet compliance requirements.

  • Monitoring your storage – Monitoring is an important part of maintaining the reliability, availability, and performance of Amazon S3 and your Amazon solutions. You can monitor storage activity and costs. Also, we recommend that you collect monitoring data from all the parts of your Amazon solution so that you can more easily debug a multipoint failure if one occurs.

  • Analytics and insights – You can also use analytics and insights in Amazon S3 to understand, analyze, and optimize your storage usage. For example, use Amazon S3 Storage Lens to understand, analyze, and optimize your storage. S3 Storage Lens provides 29+ usage and activity metrics and interactive dashboards to aggregate data for your entire organization, specific accounts, Regions, buckets, or prefixes. Use Storage Class Analysis to analyze storage access patterns to decide when it's time to move your data to a more cost-effective storage class.

Develop with Amazon S3

Amazon S3 is a REST service. You can send requests to Amazon S3 using the REST API or the Amazon SDK libraries, which wrap the underlying Amazon S3 REST API, simplifying your programming tasks. You can also use the Amazon Command Line Interface (Amazon CLI) to make Amazon S3 API calls. For more information, see Making requests.

The Amazon S3 REST API is an HTTP interface to Amazon S3. With the REST API, you use standard HTTP requests to create, fetch, and delete buckets and objects. To use the REST API, you can use any toolkit that supports HTTP. You can even use a browser to fetch objects, as long as they are anonymously readable. For more information, see Developing with Amazon S3 using the REST API.

To help you build applications using the language of your choice, we provide the following resources.

Amazon CLI

You can access the features of Amazon S3 using the Amazon CLI. To download and configure the Amazon CLI, see Developing with Amazon S3 using the Amazon CLI.

The Amazon CLI provides two tiers of commands for accessing Amazon S3: High-level (s3) commands and API-level (s3api and s3control) commands. The high-level S3 commands simplify performing common tasks, such as creating, manipulating, and deleting objects and buckets. The s3api and s3control commands expose direct access to all Amazon S3 API operations, which you can use to carry out advanced operations that might not be possible with the high-level commands alone.

For a list of Amazon S3 Amazon CLI commands, see s3, s3api, and s3control.

Amazon SDKs and Explorers

You can use the Amazon SDKs when developing applications with Amazon S3. The Amazon SDKs simplify your programming tasks by wrapping the underlying REST API. The Amazon Mobile SDKs and the Amplify JavaScript library are also available for building connected mobile and web applications using Amazon.

In addition to the Amazon SDKs, Amazon Explorers are available for Visual Studio and Eclipse for Java IDE. In this case, the SDKs and the explorers are bundled together as Amazon Toolkits.

For more information, see Developing with Amazon S3 using the Amazon SDKs, and explorers.

Sample Code and Libraries

The Amazon Developer Center and Amazon Code Sample Catalog have sample code and libraries written especially for Amazon S3. You can use these code samples to understand how to implement the Amazon S3 API. You can also view the Amazon Simple Storage Service API Reference to understand the Amazon S3 API operations in detail.

Learn from tutorials

You can get started with step-by-step tutorials to learn more about Amazon S3. These tutorials are intended for a lab-type environment, and they use fictitious company names, user names, and so on. Their purpose is to provide general guidance. They are not intended for direct use in a production environment without careful review and adaptation to meet the unique needs of your organization's environment.

Getting started

Optimizing storage costs

Hosting videos and websites

Data processing

Protecting data

Explore training and support

You can learn from Amazon experts to advance your skills and get expert assistance achieving your objectives.