{"id":133596,"date":"2018-07-18T05:30:01","date_gmt":"2018-07-18T05:30:01","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=133596"},"modified":"2026-03-19T14:27:09","modified_gmt":"2026-03-19T14:27:09","slug":"magento-2-amazon-s3-extension","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/","title":{"rendered":"Magento 2 Amazon S3 Extension"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p><a href=\"https:\/\/store.webkul.com\/magento2-amazon-s3-extension.html\" target=\"_blank\" rel=\"noopener\">Magento 2 Amazon S3 Extension<\/a> module helps store media files (like downloadable products,catalog images, videos, docs, content files etc) and static files (HTML, CSS, JS) on Amazon S3 servers.<\/p>\n<p>Moreover, the extension enables the admin to upload media files of different product types from its local disk to the Amazon server.<\/p>\n<p>Further, this module uses Amazon S3 for storing the files and uses CloudFront for serving the content CloudFront URL.<\/p>\n<p>Therefore, will experience faster site loads or page loads due to unnecessary pause elimination and cater to heavy traffic.<\/p>\n<p>You can optimize server storage by uploading product and CMS media content using the <a href=\"https:\/\/webkul.com\/blog\/magento2-digitalocean-storage-documentation\/\">Magento 2 DigitalOcean storage<\/a> extension.<\/p>\n<p>This allows media to be fetched directly from DigitalOcean servers.<\/p>\n<p><strong>(Amazon Simple Storage Service) is a cloud storage service offered by AWS(Amazon Web Service).<\/strong><\/p>\n<p><strong>Amazon S3 is based on CDN(Content Delivery Network) which stores multiple copies of content on strategically distributed servers.<\/strong><\/p>\n<p><strong> And dynamically measures which server is nearest to the requesting client and accordingly delivers the fast content.<\/strong><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Note:<\/strong><\/span><\/p>\n<ul>\n<li>To use the Amazon S3 and CloudFront service, the user needs to have an Amazon AWS account. Users will register themselves from <a title=\"here\" href=\"https:\/\/signin.aws.amazon.com\/signin?redirect_uri=https%3A%2F%2Fportal.aws.amazon.com%2Fbilling%2Fsignup%3Fnc2%3Dh_ct%26redirect_url%3Dhttps%253A%252F%252Faws.amazon.com%252Fregistration-confirmation%26state%3DhashArgs%2523%26isauthcode%3Dtrue&amp;client_id=arn%3Aaws%3Aiam%3A%3A015428540659%3Auser%2Fawssignupportal&amp;forceMobileApp=0\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>here<\/strong><\/a>.<\/li>\n<li>The users will click <strong><a title=\"here\" href=\"http:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/gsg\/GetStartedWithS3.html\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a><\/strong>\u00a0to understand how to get started with Amazon S3.<\/li>\n<\/ul>\n<p>Watch the video tutorial below to know the extension workflow:<\/p>\n<div class=\"wp-block-wk-block-youtube-video wk-block--yt-video wk-block-yt-classic components-placeholder\">\n<div class=\"wk-block--yt-video-frame\">\n<div class=\"wk-block--yt-video-frame-request\" data-plyr-provider=\"youtube\" data-plyr-embed-id=\"8_0odzNXr3g\">\n<div class=\"components-placeholder__instructions\">8_0odzNXr3g<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\"><strong>Features of Magento\u00a02 Amazon S3\u00a0 Extension<\/strong><\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<ul>\n<li>Support all Adobe Commerce product types.<\/li>\n<li>Also, all media files of all types of products (like product images, media in the product description, short description, editing images, etc) are stored and retrieved from the Amazon Simple Storage Service (Amazon S3) bucket.<\/li>\n<li>One can save Static files on the Amazon S3 server ie (HTML, CSS, JS).<\/li>\n<li>Moreover, flexible settings to configure the module settings.<\/li>\n<li>Further, set the server(Local\/Amazon) on which file upload will happen.<\/li>\n<li>Store and download the files from Amazon S3 Server.<\/li>\n<li>Check the bucket availability in just a click.<\/li>\n<li>The CloudFront feature is also available.<\/li>\n<li>Customers can download the files from the Amazon Server irrespective of time and place.<\/li>\n<li>Additionally, the extension is fully open source and easy to use.<\/li>\n<li>Now serving of cache images will be from Amazon s3 Server and CloudFront as well.<\/li>\n<li>Admin can export media using the message queue.<\/li>\n<li>Host and synchronize all downloadable products.<\/li>\n<li>Integrated support for Fastly CDN.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\"><strong>Installation of Magento 2 Amazon S3 Extension<\/strong><\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<p>Customers will get a\u00a0<strong>zip folder<\/strong>\u00a0and they have to extract the contents of this zip folder on their system.<\/p>\n<p>The extracted folder has an\u00a0<strong>src<\/strong>\u00a0folder, inside the src folder you have the\u00a0<strong>app<\/strong>\u00a0folder.<\/p>\n<p>After that, you need to transfer this <strong>app<\/strong>\u00a0folder\u00a0into the Magento2 root directory on the server as shown below.<\/p>\n<p><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png\"><img decoding=\"async\" class=\"alignnone wp-image-90732 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png\" alt=\"INSTALLATION\" width=\"800\" height=\"411\" loading=\"lazy\" \/><\/a><\/p>\n<p>After the successful installation of the Adobe Commerce Amazon S3 module, you have to run these commands in the Magento2 root directory.<\/p>\n<p><strong>First Command &#8211;<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">composer require aws\/aws-sdk-php<\/pre>\n<p><strong>Second Command &#8211;<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento setup:upgrade<\/pre>\n<p><strong>Third Command &#8211;<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento setup:di:compile<\/pre>\n<p><strong>Fourth Command &#8211;<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento setup:static-content:deploy<\/pre>\n<p>Moreover, after running the commands, you have to flush the cache from the Adobe Commerce admin panel<\/p>\n<p>You need to navigate through<strong>-&gt;System-&gt;Cache management<\/strong>\u00a0as shown below.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491633 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-1.webp\" alt=\"cache\" width=\"1120\" height=\"836\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-1.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-1-300x224.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-1-250x187.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-1-768x573.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>Thus, in this way, you can install the module.<\/p>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\"><strong>Multi-Lingual Configuration for Magento 2 Amazon S3 Extension<\/strong><\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<div>\n<p>Therefore, for Multilingual support, please navigate to <strong>Store&gt;Configuration&gt;General &gt;Locale Options<\/strong>.\u00a0<\/p>\n<p>Also, select your desired language from the <strong>Locale\u00a0<\/strong>option.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491634 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/locale.webp\" alt=\"locale-2\n\" width=\"1120\" height=\"763\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/locale.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/locale-300x204.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/locale-250x170.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/locale-768x523.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>Thus, in this way, a multi-lingual configuration can be done.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\"><strong>Language Translation<\/strong><\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<p>For module translation, navigate to the following path in your system <strong>app\/code\/Webkul\/S3amazon\/i18n\/en_US.csv.<\/strong><\/p>\n<p>Open the file named <strong>en_US.CSV\u00a0<\/strong>for editing as shown in the below screenshot.<\/p>\n<p><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/22-3.png\"><img decoding=\"async\" class=\"alignnone wp-image-90738 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/22-3.png\" alt=\"LANGUAGE TRANSLATION\" width=\"800\" height=\"400\" loading=\"lazy\" \/><\/a><\/p>\n<p>Then replace the words after the\u00a0<strong>comma(,)\u00a0<\/strong>on the right in the file with your translated words.<\/p>\n<p><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/csv.png\"><img decoding=\"async\" class=\"aligncenter wp-image-134061 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/csv.png\" alt=\"scds\" width=\"800\" height=\"401\" loading=\"lazy\" \/><\/a><\/p>\n<p>After editing and translating the CSV file, you need to save the translated file name according to your region language and country code such as &#8211;<strong>\u00a0de_DE.<\/strong>CSV.<\/p>\n<p>Followed by uploading the translated file to the same folder from where you have obtained it. Now your module translation is complete.<\/p>\n<p><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/2016-05-02_16-25-34-3.png\"><img decoding=\"async\" class=\"alignnone wp-image-90740 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/2016-05-02_16-25-34-3.png\" alt=\"Language translation\" width=\"800\" height=\"399\" loading=\"lazy\" \/><\/a><\/p>\n<p>Thus, in this way, language translation can be done.<\/p>\n<div class=\"wk-index-wrap\">\n<h3 class=\"index-title\">Setting Up Credentials in Amazon S3 Server<\/h3>\n<\/div>\n<p>Follow the steps mentioned below to create Amazon S3 Credentials-<\/p>\n<ul>\n<li>Now, go to <a href=\"https:\/\/aws.amazon.com\/\">https:\/\/aws.amazon.com\/<\/a> and click on <strong>Create an AWS Account<\/strong>.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479942 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-account-aws.webp\" alt=\"create-aws\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-account-aws.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-account-aws-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-account-aws-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-account-aws-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<ul>\n<li>After that, you will get two options<strong> Create an AWS account<\/strong> for the new users and <b>Sign in to an existing AWS account<\/b> for the already registered users.\u00a0<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479950 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/account-create-aws.webp\" alt=\"sign-up-aws\" width=\"998\" height=\"782\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/account-create-aws.webp 998w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/account-create-aws-300x235.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/account-create-aws-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/account-create-aws-768x602.webp 768w\" sizes=\"(max-width: 998px) 100vw, 998px\" loading=\"lazy\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479945 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/signin-aws.webp\" alt=\"signin-aws\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/signin-aws.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/signin-aws-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/signin-aws-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/signin-aws-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>So, when that user logs in he only has access to that particular dashboard.\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-479959\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-dashboard.webp\" alt=\"aws-dashboard\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-dashboard.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-dashboard-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-dashboard-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-dashboard-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<ul>\n<li>After that, your Amazon server will look like this. Here you need to click on the <strong>All services &#8211; &gt; S3.<\/strong><\/li>\n<li>Alternatively, you can also search the S3 in the search box given at the top.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-479961\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/allservices-s3-page.webp\" alt=\"allservices-s3-page\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/allservices-s3-page.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/allservices-s3-page-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/allservices-s3-page-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/allservices-s3-page-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>This will direct you to a page where you can see the list of the buckets that you have created or you can create a new one. Click on the<strong> Create bucket<\/strong> button to create a new bucket.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-479956\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/after-login-bucket.webp\" alt=\"after-login-bucket\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/after-login-bucket.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/after-login-bucket-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/after-login-bucket-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/after-login-bucket-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<ul>\n<li>After clicking on the <strong>Create bucket <\/strong>button this Create bucket page will come up where you need to fill in all the details to create a new bucket. Then click <strong>Create bucket <\/strong>at the bottom.<\/li>\n<\/ul>\n<p><strong>Note:-<\/strong> Make sure to uncheck the <strong>&#8220;Block all public access&#8221;.<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479963 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3.webp\" alt=\"create-bucket-s3\" width=\"950\" height=\"2125\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3.webp 950w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3-134x300.webp 134w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3-458x1024.webp 458w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3-111x249.webp 111w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3-768x1718.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3-687x1536.webp 687w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-bucket-s3-916x2048.webp 916w\" sizes=\"(max-width: 950px) 100vw, 950px\" loading=\"lazy\" \/><\/p>\n<ul>\n<li>Here you can upload the files and create a folder to save the data. Also, you can view the saved data.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479969 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-create-folder-bucketview-1.webp\" alt=\"aws-create-folder-bucketview\" width=\"952\" height=\"748\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-create-folder-bucketview-1.webp 952w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-create-folder-bucketview-1-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-create-folder-bucketview-1-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/aws-create-folder-bucketview-1-768x603.webp 768w\" sizes=\"(max-width: 952px) 100vw, 952px\" loading=\"lazy\" \/><\/p>\n<ul>\n<li>For creating access key ID and secret access key click on <strong>IAM <\/strong>under<strong> Security, Identity &amp; Compliance<\/strong><\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479979 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-console-1.webp\" alt=\"iam-consol\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-console-1.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-console-1-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-console-1-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-console-1-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>In the <strong>IAM dashboard<\/strong> click on <strong>Users <\/strong>to view and to delete the existing users and to add the new user.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-479983\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-dashboard.webp\" alt=\"iam-dashboard\" width=\"941\" height=\"358\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-dashboard.webp 941w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-dashboard-300x114.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-dashboard-250x95.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-dashboard-768x292.webp 768w\" sizes=\"(max-width: 941px) 100vw, 941px\" loading=\"lazy\" \/><\/p>\n<ul>\n<li>After that, a new page will open up where you have options to Add, View and Delete users.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479980 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-list-1.webp\" alt=\"iam-user-list\" width=\"945\" height=\"454\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-list-1.webp 945w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-list-1-300x144.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-list-1-250x120.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-list-1-768x369.webp 768w\" sizes=\"(max-width: 945px) 100vw, 945px\" loading=\"lazy\" \/><\/p>\n<ul>\n<li>Click on the<strong> Security Credentials <\/strong>to create a new access key.<\/li>\n<li>Now you have to go for <strong>Access keys &#8211; &gt; Create Access Key.<\/strong><\/li>\n<li>Now you can see your Access Key ID and Secret access key generated as depicted below.<\/li>\n<\/ul>\n<p><strong><br \/><img decoding=\"async\" class=\"alignnone size-full wp-image-276793\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/15-IAM-Management-Console.png\" alt=\"15-IAM-Management-Console\" width=\"1120\" height=\"740\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/15-IAM-Management-Console.png 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/15-IAM-Management-Console-300x198.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/15-IAM-Management-Console-250x165.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/15-IAM-Management-Console-768x507.png 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><br \/><\/strong><\/p>\n<ul>\n<li>Also, if you want to add a new user as explained above.<\/li>\n<li>You will get a success message page for the newly created user with your security credentials.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-276786\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/13-IAM-Management-Console.png\" alt=\"13-IAM-Management-Console\" width=\"1204\" height=\"483\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/13-IAM-Management-Console.png 1204w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/13-IAM-Management-Console-300x120.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/13-IAM-Management-Console-1200x481.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/13-IAM-Management-Console-250x100.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/13-IAM-Management-Console-768x308.png 768w\" sizes=\"(max-width: 1204px) 100vw, 1204px\" loading=\"lazy\" \/><\/p>\n<h3>Note:<\/h3>\n<ul>\n<li>Now, you have to make sure that putObject,putObjectAcl, and putObjectCors permissions are given to access keys provided in Amazon AWS.<\/li>\n<li>You can check it from <strong>IAm&gt;Groups&gt;group<\/strong><\/li>\n<\/ul>\n<div class=\"wk-index-wrap\">\n<h3 class=\"index-title\">How to give an IAM user a specific Bucket Access<\/h3>\n<\/div>\n<p>If an IAM user is loggin in and you(root user) just want to provide that IAM user with only a specific bucket permission, then you can give the bucket with that user&#8217;s permission.<\/p>\n<p>Let&#8217;s see how.\u00a0<\/p>\n<p>The root user will log in to the AWS Console and navigate Access Management-&gt;Users.\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-445105\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/go-to-iam-user-list.webp\" alt=\"go to iam user list in the aws console by root user\" width=\"1244\" height=\"554\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/go-to-iam-user-list.webp 1244w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/go-to-iam-user-list-300x134.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/go-to-iam-user-list-1200x534.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/go-to-iam-user-list-250x111.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/go-to-iam-user-list-768x342.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/go-to-iam-user-list-604x270.webp 604w\" sizes=\"(max-width: 1244px) 100vw, 1244px\" loading=\"lazy\" \/><\/p>\n<p>Click on the respective IAM user and tap Add permissions drop-down. Here, choose Create inline policy option.\u00a0\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-445107\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-add-permissions.webp\" alt=\"iam user add permissions by root user aws\" width=\"1218\" height=\"542\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-add-permissions.webp 1218w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-add-permissions-300x133.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-add-permissions-1200x534.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-add-permissions-250x111.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-add-permissions-768x342.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/iam-user-add-permissions-604x270.webp 604w\" sizes=\"(max-width: 1218px) 100vw, 1218px\" loading=\"lazy\" \/><\/p>\n<p>After that, the root user will build permission statement using JSON.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-445110\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/build-permission-statement-using-json.webp\" alt=\"build permission statement using json.\" width=\"1209\" height=\"584\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/build-permission-statement-using-json.webp 1209w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/build-permission-statement-using-json-300x145.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/build-permission-statement-using-json-1200x580.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/build-permission-statement-using-json-250x121.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/build-permission-statement-using-json-768x371.webp 768w\" sizes=\"(max-width: 1209px) 100vw, 1209px\" loading=\"lazy\" \/><\/p>\n<p>In the policy editor, paste the below JSON code, make changes as per your bucket name for which the root user wants to provide specific access to this IAM user.\u00a0<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{\n\"Version\": \"2012-10-17\",\n\"Statement\": [\n{\n\"Sid\": \"Stmt1717341940730\",\n\"Action\": \"s3:*\",\n\"Effect\": \"Allow\",\n\"Resource\": \"arn:aws:s3:::addyourparticularbucketname\"\n},\n{\n\"Sid\": \"Stmt1717341953716\",\n\"Action\": \"s3:*\",\n\"Effect\": \"Allow\",\n\"Resource\": \"arn:aws:s3:::addyourparticularbucketname\/*\"\n}\n]\n}<\/pre>\n<p><strong>Sid<\/strong> -&gt; should be unique<\/p>\n<p><strong>addyourparticularbucketname\/*<\/strong> -&gt; add the bucket name. This is the bucket that you want to provide the only access for the IAM user.<\/p>\n<p>This is how the code will look like.\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-445114\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/add-json-code.webp\" alt=\"add json code is visible like this\" width=\"1216\" height=\"541\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/add-json-code.webp 1216w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/add-json-code-300x133.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/add-json-code-1200x534.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/add-json-code-250x111.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/add-json-code-768x342.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/add-json-code-604x270.webp 604w\" sizes=\"(max-width: 1216px) 100vw, 1216px\" loading=\"lazy\" \/><\/p>\n<p>After that, tap next to Save the policy.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-445116\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/tap-next-save-policy.webp\" alt=\"tap next to save the policy\" width=\"1218\" height=\"581\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/tap-next-save-policy.webp 1218w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/tap-next-save-policy-300x143.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/tap-next-save-policy-1200x572.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/tap-next-save-policy-250x119.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/tap-next-save-policy-768x366.webp 768w\" sizes=\"(max-width: 1218px) 100vw, 1218px\" loading=\"lazy\" \/><\/p>\n<p>Now, give a name to the policy and review it.\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-445117\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/review-create-policy.webp\" alt=\"review create policy and save the policy\" width=\"1206\" height=\"547\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/review-create-policy.webp 1206w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/review-create-policy-300x136.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/review-create-policy-1200x544.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/review-create-policy-250x113.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/review-create-policy-768x348.webp 768w\" sizes=\"(max-width: 1206px) 100vw, 1206px\" loading=\"lazy\" \/><\/p>\n<p>After that, scroll down and create the policy.\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-445120\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/save-policy.webp\" alt=\"create and save the policy\" width=\"1206\" height=\"554\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/save-policy.webp 1206w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/save-policy-300x138.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/save-policy-1200x551.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/save-policy-250x115.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/save-policy-768x353.webp 768w\" sizes=\"(max-width: 1206px) 100vw, 1206px\" loading=\"lazy\" \/><\/p>\n<p>After that, navigate to your bucket for which you want to give access to the IAM user, and copy it&#8217;s URL from the address bar and share the URL with the IAM user.<\/p>\n<p>Now, the IAM user will only be able to access this particular bucket.<\/p>\n<h3>Sync Issue:\u00a0<\/h3>\n<\/div>\n<p>If you are not able to sync data from Magento store to AWS bucket then check below steps &#8211;\u00a0<\/p>\n<p>For transferring data from Magento 2 store to AWS bucket,\u00a0the bucket should be Publicly accessible.\u00a0<\/p>\n<p>First of all, for the created bucket, navigate through &#8211; &gt;<\/p>\n<p><strong>Bucket<\/strong> &#8211; <strong>Permissions<\/strong> &#8211; <strong>Block all Public Access<\/strong>(Switch this option off if turned On).<\/p>\n<p><img decoding=\"async\" class=\"alignnone\" src=\"https:\/\/chatwhizz-new.s3.amazonaws.com\/chatwhizz_main\/webkul\/7pxzrapllx03qix9\/image.png\" alt=\"Block all public access\" width=\"976\" height=\"507\" loading=\"lazy\" \/><\/p>\n<p>After that, <strong>add a policy to the bucket<\/strong>(on the same page as above, scroll down to find the option):<\/p>\n<p><strong>Bucket Policy to add<\/strong> &#8211;\u00a0\u00a0<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{\n\"Version\": \"2012-10-17\",\n\"Statement\": [\n{\n\"Sid\": \"PublicReadGetObject\",\n\"Effect\": \"Allow\",\n\"Principal\": {\n\"AWS\": \"arn:aws:iam::add your IAM user ARN here\"\n},\n\"Action\": [\n\"s3:PutObject\",\n\"s3:GetObjectAcl\",\n\"s3:GetObject\",\n\"s3:ListBucket\",\n\"s3:DeleteObject\",\n\"s3:GetBucketAcl\",\n\"s3:PutObjectAcl\"\n],\n\"Resource\": [\n\"arn:aws:s3:::addyourparticularbucketname\/*\",\n\"arn:aws:s3:::addyourparticularbucketname\"\n]\n}\n]\n}<\/pre>\n<p>You can find the IAM user ARN &#8211;\u00a0\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone\" src=\"https:\/\/chatwhizz-new.s3.amazonaws.com\/chatwhizz_main\/webkul\/9511evqlx04m4se\/image.png\" alt=\"iam user arn details \" width=\"1250\" height=\"439\" loading=\"lazy\" \/><\/p>\n<p>Also, if you are using <strong>CORS<\/strong>(Cross-Origin Resource Sharing) then add the below mentioned policy(for the bucket).<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">[\n{\n\"AllowedHeaders\": [\n\"*\"\n],\n\"AllowedMethods\": [\n\"POST\",\n\"GET\",\n\"HEAD\",\n\"PUT\",\n\"DELETE\"\n],\n\"AllowedOrigins\": [\n\"*\"\n],\n\"ExposeHeaders\": [],\n\"MaxAgeSeconds\": 3000\n}\n]<\/pre>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\"><strong>Magento 2 Amazon S3 Extension Configuration<\/strong><\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<p>After the extension installation, the admin will configure the module settings by navigating to the <strong>Stores &gt; Configuration &gt; Amazon S3<\/strong> as per the below image:<\/p>\n<p><strong>General Settings:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491639 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration.webp\" alt=\"configuration\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p><strong>CloudFront Settings:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491642 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings.webp\" alt=\"cloudfront-settings\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<h3 class=\"index-title\">Setting Up Credentials in Fastly CDN\u00a0<\/h3>\n<p data-start=\"65\" data-end=\"483\">To securely access and manage Fastly services, you must generate an API token through the Fastly web interface.<\/p>\n<p data-start=\"65\" data-end=\"483\">These credentials enable authenticated API interactions, such as configuring services or purging the cache.<\/p>\n<p data-start=\"65\" data-end=\"483\">Tokens should be configured with appropriate roles, scopes, and expiration settings, following the principle of least privilege.<\/p>\n<p data-start=\"65\" data-end=\"483\">Once created, store them securely, as they will not be retrievable later.<\/p>\n<p data-start=\"485\" data-end=\"673\" data-is-last-node=\"\" data-is-only-node=\"\">For complete instructions, refer to Fastly\u2019s official documentation, <a class=\"\" href=\"https:\/\/www.fastly.com\/documentation\/guides\/getting-started\/concepts\/start-here\/\" target=\"_blank\" rel=\"nofollow noopener\" data-start=\"559\" data-end=\"673\" data-is-last-node=\"\" data-is-only-node=\"\">Fastly \u2013 Getting Started Guide.<\/a><\/p>\n<p><strong>Fastly Configuration:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-492566 size-full\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/fastly-config.webp\" alt=\"fastly-config\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/fastly-config.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/fastly-config-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/fastly-config-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/fastly-config-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>Here, the admin will first select the option &#8216;Enable Fastly&#8217; to <strong>YES<\/strong> and then proceed with following:<\/p>\n<ul>\n<li><strong>Fastly Key &#8211; <\/strong>The admin needs to enter the fastly user token key here.<\/li>\n<li><strong>Already Having Fastly Service<\/strong> &#8211; Select &#8216;Yes&#8217; or &#8216;No&#8217; accordingly<\/li>\n<li><strong>Enter Service ID &#8211;<\/strong> If the admin already has fastly service and selects the &#8216;YES&#8217; option then he will need to enter the service ID for the same.<\/li>\n<li><strong>Service Version &#8211;<\/strong> Admin will also be required to enter the Service Version (It&#8217;ll use this version to clone and create new active version)<\/li>\n<li><strong>Service Name &#8211;<\/strong> If the admin selects &#8216;NO&#8217; for already having fastly service, then he will need to enter the service name for creating Fasty CDN.<\/li>\n<li><strong><strong>Domain Name &#8211; <\/strong><\/strong>Here the admin will enter the hostname that he wants to use as the URL (e.g., cdn.example.com)<\/li>\n<\/ul>\n<p><strong>Static View Files Settings:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491644 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-view-file.webp\" alt=\"static-view-file\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-view-file.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-view-file-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-view-file-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-view-file-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<h4>General Settings of Magento 2 Amazon S3 Extension:<\/h4>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491639 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration.webp\" alt=\"configuration\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/configuration-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>Here, the admin under general settings will:<\/p>\n<ul>\n<li><strong>Allow files to save on Amazon &#8211;<\/strong> to save the file on the Amazon server set this as <strong>YES\u00a0<\/strong>else set it as <strong>NO.<\/strong><\/li>\n<li><strong>Access Key ID &#8211;<\/strong> enter the Amazon server access key which you will get after creating the account on Amazon S3.<\/li>\n<li><strong>Secret Key &#8211;<\/strong> Fill the Amazon server secret key which you will get after creating the account on Amazon S3.<\/li>\n<li><strong>Bucket Name &#8211;<\/strong> Put the Amazon bucket name which you have created in the Amazon S3 account.<\/li>\n<li><strong>Region &#8211;<\/strong> Enter the region of the bucket where you want the bucket to reside. Mention the same region same as me.<\/li>\n<li>The region name should be as you have mentioned the region while creating the bucket in the Amazon S3 account.<\/li>\n<li><strong>Check Bucket Availability &#8211;<\/strong> Click the &#8220;check&#8221; button to check the bucket availability.<\/li>\n<li>If it would be available and exists in the Amazon S3, it shows the message &#8220;<strong>Available&#8221; <\/strong>as shown below:<img decoding=\"async\" class=\"alignnone wp-image-491649 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/bucket-available.webp\" alt=\"bucket-available\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/bucket-available.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/bucket-available-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/bucket-available-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/bucket-available-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><br \/>Else, it will show an error message that &#8216;The specified bucket does not exist&#8217;<\/li>\n<\/ul>\n<div class=\"wk-index-wrap\">\n<ul>\n<li><strong>Re-Synchronize Media Storage Without Uploading Media To Bucket &#8211;<\/strong> If enabled, executing &#8216;exportonS3:media&#8217; command will not upload media contents to bucket.<\/li>\n<li>\u00a0<\/li>\n<li>It only Re-Synchronize Media Storage to the Amazon S3 bucket.<\/li>\n<\/ul>\n<h3 class=\"index-title\">Commands to Configure the Module Settings through Command Line Interface<\/h3>\n<\/div>\n<p>You can check the command line below for configuring the credentials in Adobe Commerce Amazon S3 Extension:<\/p>\n<p><strong>Active &#8211;<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento config:set s3_amazon\/general_settings\/active<\/pre>\n<p><strong>Access Key &#8211;\u00a0<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento config:set s3_amazon\/general_settings\/access_key<\/pre>\n<p><strong>Secret Key &#8211;\u00a0<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento config:set s3_amazon\/general_settings\/secret_key<\/pre>\n<p><strong>Bucket &#8211;\u00a0<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento config:set s3_amazon\/general_settings\/bucket<\/pre>\n<p><strong>Region<\/strong> &#8211;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento config:set s3_amazon\/general_settings\/region<\/pre>\n<p><strong>Distribution ID &#8211;\u00a0<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento config:set s3_amazon\/cloudfront_settings\/distribution_id<\/pre>\n<p><strong>You need to provide the value after each command.<\/strong><\/p>\n<h4>CloudFront Settings:<\/h4>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491642 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings.webp\" alt=\"cloudfront-settings\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-settings-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p><strong>Manage:<\/strong><\/p>\n<p><strong>Create Distribution &#8211; <\/strong>Click on the Create Distribution button to create a Distribution Id for AWS CloudFront else you can click <a href=\"https:\/\/console.aws.amazon.com\/cloudfront\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p><strong>Check Status &#8211; <\/strong>Click on the Check Status button to get the Domain Name (URL) and Status of the Distribution<\/p>\n<p><strong>Distribution Id &#8211; <\/strong>Here, the distribution id will get visible after saving the configuration.<\/p>\n<p>In your AWS account you can check the created distribution ID or can create a new one as per the below snapshot:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-479985 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-distribution.webp\" alt=\"create-distribution\" width=\"1920\" height=\"882\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-distribution.webp 1920w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-distribution-300x138.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-distribution-1200x551.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-distribution-250x115.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-distribution-768x353.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/create-distribution-1536x706.webp 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" loading=\"lazy\" \/><\/p>\n<h4>Static View File Settings<\/h4>\n<p>Another section of the admin configuration is the Static View File Settings where the admin needs to configure fields such as Enable for Static View Files, Bucket Name, Region, and Cache-Control as shown in the image below.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491677 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-settings.webp\" alt=\"cache-settings\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-settings.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-settings-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-settings-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cache-settings-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>The admin can configure the following fields under Static View Files Settings-<\/p>\n<p><strong>Enable for Static View Files-<\/strong> The admin can set this field as Yes or No.<\/p>\n<p><strong>Bucket Name-<\/strong> Now, the admin needs to add a name for the bucket.<\/p>\n<p><strong>Region-<\/strong> Further, the admin can select a region from the list.<\/p>\n<p><strong>Cache-Control-<\/strong> Furthermore, under the Cache-Control field, the admin will the file extension, max-age, and action columns. After the max-age exceeds, the file will refresh on its own.<\/p>\n<h4><strong>Storage Configuration for Media in Cloud Commerce Amazon S3<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Firstly, the admin can run the command in the Adobe Commerce root directory:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento exportonS3:media<\/pre>\n<p><span style=\"font-weight: 400;\">Therefore, just after running this command, the <strong>Media Storage<\/strong> field will get set to the Amazon S3 automatically and all media will get synchronized with the Amazon S3 server.<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-492415\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/1-exportons3-media.webp\" alt=\"1-exportons3-media\" width=\"662\" height=\"163\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/1-exportons3-media.webp 662w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/1-exportons3-media-300x74.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/1-exportons3-media-250x62.webp 250w\" sizes=\"(max-width: 662px) 100vw, 662px\" loading=\"lazy\" \/><\/p>\n<p>Secondly, this can be done manually by moving to the <strong>Advanced &gt; System<\/strong> menu option under the configuration setting.<\/p>\n<p>With specific folder and without message queue<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento exportonS3:media --folder=xyz --isqueue=0<\/pre>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-492417\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/2-isqueue0.webp\" alt=\"2-isqueue0\" width=\"986\" height=\"143\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/2-isqueue0.webp 986w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/2-isqueue0-300x44.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/2-isqueue0-250x36.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/2-isqueue0-768x111.webp 768w\" sizes=\"(max-width: 986px) 100vw, 986px\" loading=\"lazy\" \/><\/p>\n<p>With specific folder and with message queue<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento exportonS3:media --folder=xyz --isqueue=1<\/pre>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-492419\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/isqueue-1.webp\" alt=\"isqueue-1\" width=\"1468\" height=\"160\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/isqueue-1.webp 1468w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/isqueue-1-300x33.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/isqueue-1-1200x131.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/isqueue-1-250x27.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/isqueue-1-768x84.webp 768w\" sizes=\"(max-width: 1468px) 100vw, 1468px\" loading=\"lazy\" \/><\/p>\n<p><strong>Note \u2013<\/strong>\u00a0Below-mentioned commands are mandatory after the above commands to export media with message queue.<\/p>\n<p>Message queue command for folder wise upload<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento queue:consumers:start s3amazon.export.folder &amp;<\/pre>\n<p>Message queue command for media files upload<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento queue:consumers:start s3amazon.export.media &amp;<\/pre>\n<p>For setting up the <strong>Storage Configuration for Media<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491679 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/amazon-s3.webp\" alt=\"amazon-s3\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/amazon-s3.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/amazon-s3-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/amazon-s3-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/amazon-s3-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>Under the <strong>Media Storage<\/strong> field, the admin will select the media storage location where all the website media will get the store.<\/p>\n<p>After selecting the Amazon S3 from the list, the admin needs to click on the <strong>Synchronize<\/strong> button to synchronize all media with the Amazon S3 server and then &#8220;<strong>Save Config<\/strong>&#8220;.<\/p>\n<p><strong>Note:-\u00a0 <\/strong>Media will not be available in the new location until the synchronization process is complete.<\/p>\n<h3>Setting Up Base Url in Adobe Commerce Amazon S3 for user media files<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<p>The admin needs to now navigate to the <strong>web<\/strong> sub-menu option under the <strong>general setting option,<\/strong> to configure the Base URLs settings.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491686 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls.webp\" alt=\"base-urls\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>Further, in the Base URL for User Media Files option, the admin will enter the Amazon S3 bucket URL that saves and retrieves the media files.<\/p>\n<p>Moreover, if the CloudFront setup is complete, then need to enter the CloudFront URL at the place of the bucket URL to serve the files from CloudFront.<\/p>\n<p><strong>For Example:-<\/strong><\/p>\n<p>In the below screenshot, you can see that the media files of the website are served from the Amazon CloudFront instead of the system or database storage.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-263672\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront_console_url-1.png\" alt=\"cloudfront_console_url-1\" width=\"800\" height=\"308\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront_console_url-1.png 1218w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront_console_url-1-300x116.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront_console_url-1-1200x462.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront_console_url-1-250x96.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront_console_url-1-768x296.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" loading=\"lazy\" \/><\/p>\n<h4>Setting Up Base Url in Adobe Commerce Amazon S3 for Static files<\/h4>\n<p>Initially, the admin needs to run the following command-<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento exportonS3:static-content<\/pre>\n<p>Once the above-mentioned command is run, all the static files will be imported to the server as shown in the image below.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-492423\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-content.webp\" alt=\"static-content\" width=\"1518\" height=\"155\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-content.webp 1518w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-content-300x31.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-content-1200x123.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-content-250x26.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/static-content-768x78.webp 768w\" sizes=\"(max-width: 1518px) 100vw, 1518px\" loading=\"lazy\" \/><\/p>\n<p>Also, we can set the base URL for the static file running the following command-<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento config:set web\/unsecure\/base_static_url<\/pre>\n<p><strong>*Above-mentioned command will be followed by the Amazon S3 bucket URL.\u00a0<\/strong><\/p>\n<p><strong>Note:\u00a0<\/strong><\/p>\n<ul>\n<li>One must always run <strong>&#8220;php bin\/magento import:static-content&#8221;<\/strong> command, just after <strong>&#8220;php bin\/magento setup:static-content:deploy&#8221; <\/strong>command.<\/li>\n<li>It is better to use the static files feature in the production mode.<\/li>\n<\/ul>\n<p>Message queue command for static files upload<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">php bin\/magento queue:consumers:start s3amazon.export.static &amp;<\/pre>\n<p>The Amazon S3 bucket URL is responsible for saving and retrieving the static files.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491686 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls.webp\" alt=\"base-urls\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/base-urls-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\"><strong>Uploading Downloadable Product<\/strong><\/h3>\n<\/div>\n<div class=\"panel-body\">\n<p>After the successful module configuration by the admin, the admin can now upload the media files concerning the products on the Amazon S3 and on the CloudFront.<\/p>\n<p>For this, the admin will navigate to the\u00a0<strong>Products -&gt; Catalog -&gt; Add Product<\/strong> as per the below image.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491708 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable.webp\" alt=\"downloadable-product\" width=\"1497\" height=\"745\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable.webp 1497w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-300x149.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-1200x597.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-250x124.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-768x382.webp 768w\" sizes=\"(max-width: 1497px) 100vw, 1497px\" loading=\"lazy\" \/><\/p>\n<p>Select\u00a0<strong>Downloadable Product\u00a0<\/strong>from the\u00a0<strong>Add Product\u00a0<\/strong>drop-down list. This will navigate you to the <strong>New Product<\/strong> page.<\/p>\n<\/div>\n<\/div>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491722 size-full\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-1-1.webp\" alt=\"downloadable-1\" width=\"1200\" height=\"1219\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-1-1.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-1-1-295x300.webp 295w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-1-1-1008x1024.webp 1008w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-1-1-245x249.webp 245w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-1-1-768x780.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491723 size-full\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-2-1.webp\" alt=\"downloadable-2\" width=\"1200\" height=\"1524\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-2-1.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-2-1-236x300.webp 236w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-2-1-806x1024.webp 806w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-2-1-196x249.webp 196w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/downloadable-2-1-768x975.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/p>\n<p><span style=\"font-size: revert; color: initial;\">Here, the admin will fill in all the required details of the downloadable product and <\/span><strong style=\"font-size: revert; color: initial;\">upload the downloadable file<\/strong><span style=\"font-size: revert; color: initial;\">\u00a0and hit\u00a0the\u00a0<\/span><strong style=\"font-size: revert; color: initial;\">Save\u00a0<\/strong><span style=\"font-size: revert; color: initial;\">button.<\/span><\/p>\n<div class=\"panel panel-primary\">\n<div class=\"panel-body\">\n<p>After saving the downloadable product, the file gets saved on the Amazon Server and therefore, will get the Amazon S3 link.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491724 size-full\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/s3-url-generated.webp\" alt=\"s3-url-generated\" width=\"1200\" height=\"1800\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/s3-url-generated.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/s3-url-generated-200x300.webp 200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/s3-url-generated-683x1024.webp 683w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/s3-url-generated-166x249.webp 166w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/s3-url-generated-768x1152.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/s3-url-generated-1024x1536.webp 1024w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/p>\n<p><strong>Note:<\/strong> The admin will get the Amazon S3 link only after saving the product successfully.<\/p>\n<p>The customer will download the product from the Amazon Server just like any other product from the local Server.<\/p>\n<p>However, if we are talking regarding the downloadable product, the customer can download the product only after the admin has created the order invoice.<\/p>\n<\/div>\n<\/div>\n<div class=\"wk-index-wrap\">\n<h3 class=\"index-title\">Media Files<\/h3>\n<\/div>\n<p>Further, in this module, the data will get stored in Amazon S3 and CloudFront for all types of products. The data includes media files.<\/p>\n<p>Media files are the images\/ videos associated with the products. Even, these images and videos are generally used to show the product details and give a better description of the same.<\/p>\n<p>For example, the product&#8217;s main image, configurable images, demo product video, description image, GIFs, audio node, etc all fall under the category of media files.<\/p>\n<p>So, either it is any of the simple, virtual, configurable, grouped, bundle, and downloadable products, the media files will get a store to the Amazon S3 buckets.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-491727 size-full\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/media-files-s3.webp\" alt=\"media-files-s3\" width=\"1120\" height=\"880\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/media-files-s3.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/media-files-s3-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/media-files-s3-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/media-files-s3-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/p>\n<p>Further, when the customers will view the product they will get to see the product image will appear quickly. Also, the upload and retrieval rates are pretty quick for media files.<\/p>\n<h4>Frontend Product Page View<\/h4>\n<p>Hence, the appearance of the same product in the store front-end will be the same as shown in the image below.<\/p>\n<p><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/Teton-Pullover-Hoodie-Product-Page-1.png\"><img decoding=\"async\" class=\"aligncenter wp-image-275809\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/Teton-Pullover-Hoodie-Product-Page-1.png\" alt=\"Teton-Pullover-Hoodie-Product-Page-1\" width=\"800\" height=\"834\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/Teton-Pullover-Hoodie-Product-Page-1.png 1289w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/Teton-Pullover-Hoodie-Product-Page-1-288x300.png 288w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/Teton-Pullover-Hoodie-Product-Page-1-983x1024.png 983w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/Teton-Pullover-Hoodie-Product-Page-1-239x249.png 239w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/Teton-Pullover-Hoodie-Product-Page-1-768x800.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" loading=\"lazy\" \/><\/a><\/p>\n<p>Moreover, if the customer will view the image in the new tab, the source includes CloudFront in the URL as shown in the image below.<\/p>\n<p><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-link-1.png\"><img decoding=\"async\" class=\"aligncenter wp-image-275796\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-link-1.png\" alt=\"cloudfront-link-1\" width=\"800\" height=\"519\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-link-1.png 1086w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-link-1-300x195.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-link-1-250x162.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cloudfront-link-1-768x499.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" loading=\"lazy\" \/><\/a><\/p>\n<h4>CMS Page View<\/h4>\n<p>The images or media files are present anywhere in the store. Therefore take an example of the CMS pages.<\/p>\n<p>This CMS page contains regular images, these will also be fetched from the Amazon CloudFront also.<\/p>\n<p><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/CMS-page-1.png\"><img decoding=\"async\" class=\"aligncenter wp-image-275802\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/CMS-page-1.png\" alt=\"CMS-page-1\" width=\"800\" height=\"722\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/CMS-page-1.png 1283w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/CMS-page-1-300x271.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/CMS-page-1-1135x1024.png 1135w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/CMS-page-1-250x226.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/CMS-page-1-768x693.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" loading=\"lazy\" \/><\/a><\/p>\n<p>Furthermore, the same will happen with the images in CMS pages too.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-275805\" style=\"filter: invert(0);\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cms-view.png\" alt=\"cms-view\" width=\"1105\" height=\"690\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cms-view.png 1105w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cms-view-300x187.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cms-view-250x156.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/07\/cms-view-768x480.png 768w\" sizes=\"(max-width: 1105px) 100vw, 1105px\" loading=\"lazy\" \/><\/p>\n<p>Now, wrapping this up, this shows that all the images get retrieved from the Amazon CloudFront if the same will be used as the storage area.<\/p>\n<p>Thus, that\u2019s all for the <strong>Adobe Commerce<\/strong> <strong>Amazon S3 Extension\u00a0<\/strong>module. Furthermore, if you still, have any issues, feel free to add a ticket at <a href=\"https:\/\/webkul.uvdesk.com\/en\/\">webkul.uvdesk.com.<\/a><\/p>\n<p>Also, if you want to upload your media and static files on Cloudflare R2 Storage then you can check out our <a href=\"https:\/\/webkul.com\/blog\/magento2-cloudflare-r2-storage-documentation\/\" target=\"_blank\" rel=\"noopener\">Magento 2 Cloudflare R2 Storage<\/a>.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Magento 2 Amazon S3 Extension module helps store media files (like downloadable products,catalog images, videos, docs, content files etc) and static files (HTML, CSS, JS) on Amazon S3 servers. Moreover, the extension enables the admin to upload media files of different product types from its local disk to the Amazon server. Further, this module uses <a href=\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":152,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[302],"tags":[7125,7128,7126,7127,7129,7130],"class_list":["post-133596","post","type-post","status-publish","format-standard","hentry","category-magento2","tag-amazon-cloud-object-storage","tag-amazon-s3-for-magento-2-downloadable-product","tag-amazon-simple-storage-service","tag-awsamazon-web-service","tag-magento-2-and-amazon-cdn-integration","tag-magento-2-and-amazon-s3-synchronizer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Magento 2 Amazon S3 Guide: How to Configure S3 Storage<\/title>\n<meta name=\"description\" content=\"Magento 2 Amazon S3 Extension upload files of the downloadable products from your local disk to the powerful Amazon server.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Magento 2 Amazon S3 Guide: How to Configure S3 Storage\" \/>\n<meta property=\"og:description\" content=\"Magento 2 Amazon S3 Extension upload files of the downloadable products from your local disk to the powerful Amazon server.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-18T05:30:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-19T14:27:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png\" \/>\n<meta name=\"author\" content=\"Kajal Sharma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kajal Sharma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"24 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\"},\"author\":{\"name\":\"Kajal Sharma\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/eeac324d79cd929a522950586c3d26bc\"},\"headline\":\"Magento 2 Amazon S3 Extension\",\"datePublished\":\"2018-07-18T05:30:01+00:00\",\"dateModified\":\"2026-03-19T14:27:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\"},\"wordCount\":3042,\"commentCount\":13,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png\",\"keywords\":[\"Amazon Cloud Object Storage\",\"Amazon S3 for Magento 2 Downloadable Product\",\"Amazon Simple Storage Service\",\"AWS(Amazon Web Service)\",\"Magento 2 and Amazon CDN Integration\",\"Magento 2 and Amazon S3 Synchronizer\"],\"articleSection\":[\"Magento2\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\",\"url\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\",\"name\":\"Magento 2 Amazon S3 Guide: How to Configure S3 Storage\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png\",\"datePublished\":\"2018-07-18T05:30:01+00:00\",\"dateModified\":\"2026-03-19T14:27:09+00:00\",\"description\":\"Magento 2 Amazon S3 Extension upload files of the downloadable products from your local disk to the powerful Amazon server.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage\",\"url\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png\",\"contentUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Magento 2 Amazon S3 Extension\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/eeac324d79cd929a522950586c3d26bc\",\"name\":\"Kajal Sharma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0d2cd60d1df5bcebcbac2ccff8f759366c837d2468ff65a57d369d8c42b7d6f3?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0d2cd60d1df5bcebcbac2ccff8f759366c837d2468ff65a57d369d8c42b7d6f3?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"caption\":\"Kajal Sharma\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/kajalsharma-magento920\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Magento 2 Amazon S3 Guide: How to Configure S3 Storage","description":"Magento 2 Amazon S3 Extension upload files of the downloadable products from your local disk to the powerful Amazon server.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/","og_locale":"en_US","og_type":"article","og_title":"Magento 2 Amazon S3 Guide: How to Configure S3 Storage","og_description":"Magento 2 Amazon S3 Extension upload files of the downloadable products from your local disk to the powerful Amazon server.","og_url":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2018-07-18T05:30:01+00:00","article_modified_time":"2026-03-19T14:27:09+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png","type":"","width":"","height":""}],"author":"Kajal Sharma","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Kajal Sharma","Est. reading time":"24 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/"},"author":{"name":"Kajal Sharma","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/eeac324d79cd929a522950586c3d26bc"},"headline":"Magento 2 Amazon S3 Extension","datePublished":"2018-07-18T05:30:01+00:00","dateModified":"2026-03-19T14:27:09+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/"},"wordCount":3042,"commentCount":13,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png","keywords":["Amazon Cloud Object Storage","Amazon S3 for Magento 2 Downloadable Product","Amazon Simple Storage Service","AWS(Amazon Web Service)","Magento 2 and Amazon CDN Integration","Magento 2 and Amazon S3 Synchronizer"],"articleSection":["Magento2"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/","url":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/","name":"Magento 2 Amazon S3 Guide: How to Configure S3 Storage","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png","datePublished":"2018-07-18T05:30:01+00:00","dateModified":"2026-03-19T14:27:09+00:00","description":"Magento 2 Amazon S3 Extension upload files of the downloadable products from your local disk to the powerful Amazon server.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#primaryimage","url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png","contentUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2017\/07\/1-9.png"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/magento-2-amazon-s3-extension\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Magento 2 Amazon S3 Extension"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/eeac324d79cd929a522950586c3d26bc","name":"Kajal Sharma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0d2cd60d1df5bcebcbac2ccff8f759366c837d2468ff65a57d369d8c42b7d6f3?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0d2cd60d1df5bcebcbac2ccff8f759366c837d2468ff65a57d369d8c42b7d6f3?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","caption":"Kajal Sharma"},"url":"https:\/\/webkul.com\/blog\/author\/kajalsharma-magento920\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/133596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/152"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=133596"}],"version-history":[{"count":222,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/133596\/revisions"}],"predecessor-version":[{"id":508812,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/133596\/revisions\/508812"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=133596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=133596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=133596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}