跳到主要內容

發表文章

目前顯示的是有「S3」標籤的文章

[AWS懶人包] 十分鐘搞懂S3

前言 AWS S3是Amazon最早提供的雲端服務之一, 發展至今也有10幾年的歷史了, 服務的範疇也越來越大, 不單純的只是像DropBox那樣, 讓人放檔案而已, 諸如版本控制, 加解密服務, 部屬靜態網站等等... 基本上在S3上, 檔案是以物件的形式存放的 每個物件都會有一組Key和Value, S3會根據Key Name 來決定物件要被存放的實體位置, 如果物件有相似的Key Name, 則會有根大的機率被放在同一個Partition mybucket/2018-08-26/photo1.png mybucket/2018-08-26/photo2.png S3容許我們存放 0 Bytes ~ 5TB 大的檔案, 但若是使用PUT請求上傳檔案的話, 最大只能接受5GB 物件的儲存類別 S3 這是最基本的儲存方式 S3-IA 這是用來存放較不常用的檔案類型, 相對的費用也會比較便宜, 但會根據request的次數來收錢 S3 One Zone IA 跟S3-IA一樣適合用來存放不常用的檔案類型, 差別是沒有備援的機制, 所以當遇上天災人禍時, 資料可能就飛了 Security 基本上剛建立的Bucket預設是都是private 但是我們可以透過 Bucket policy, ACLs 來決定存取存取權限 Bucket Policy : 屬於Bucket層級的存取機制 比如說: 我有個skilldata的bucket, 若想開放底下所有的物件, 讓外人可以存取, 可以將Bucket Policy定義如下 {      " Id " :   " Policy1538888263614 " ,      " Version " :   " 2012-10-17 " ,      " Statement " :   [           {                " Sid " : ...

使用AWS S3 建置簡易登錄網站(Login Website)

前言: 基本上AWS S3除了單純放置檔案之外, 我們也可以在上面建立靜態網站, 老實說, 這是一項非常實用的功能, 尤其是專案在草創初期時, 可能會須要demo給客戶, PM, 或是老闆看, 在這時候若使用Static Website Hosting這項功能, 就可以很快速地完成部屬 但是, 在一般的情況下, 我們可能不會想讓所有的人, 都有能力去訪問這個網站, 所以這個時候,就會需要一個登陸頁面來驗證使用者的身分 以下實作如何在AWS S3 上建置登錄網站 Building a login website with AWS S3 基本上我們會有 登陸頁面 index.html 一個secret file負責導引 admin1234 網站首頁 home.html 設計的概念很簡單, 除了 index.html 以及 admin1234 之外, 所有檔案皆設為private, 存取home.html 時會檢查 header裡的 referer 來源是否為index.html, 也就是說任何人都無法直接訪問home.html, 除非是透過/index.html轉過來的請求 流程 登陸頁面會要求出入密碼 admin1234 當form送出去之後頁面會導引到 /admin1234 而/admin1234會再將頁面導到 /home.html 建立S3 Bucket 切到Properties下, 設定 Static Website Hosting 登陸頁面  Step 1.  上傳index.html到 S3 Bucket CODE SNIPPET END Secret File Step 1. 隨便建立以一個檔案admin1234 Step 2.  Metadata 設為 當index.html從使用這取得正確的密碼admin1234, 頁面會先被導引到這邊, 最後再被導引至/home.html 設定存取權限 在Permissions 底下, 我們可以透過Bucket Policy設定Bucket層級的存取權限 Step 1. 首先先將index.html以及admin1234設為公開 CODE SNIPPE...