YoVDO

Building a Media Sharing Website - Part 1: Media Upload (Traditional Chinese)

Offered By: Amazon Web Services via AWS Skill Builder

Tags

Amazon Web Services Courses Web Development Courses Cloud Computing Courses Amazon EC2 Courses Amazon S3 Courses Amazon DynamoDB Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!

實驗室概觀

此實驗室會說明如何使用 Amazon Simple Storage Service (Amazon S3) 做為儲存空間、以 Amazon DynamoDB 做為資料庫,並將 Web 應用程式託管於 Amazon Elastic Compute Cloud (Amazon EC2),成功部署相片分享網站。

在此實驗室中,您會建立系統的核心架構,提供瀏覽和上傳內容等基本功能。針對這個實驗室的目的,雖然媒體內容僅限影像,但本文所涵蓋的概念也能應用至其他類型的媒體,例如文件 (PDF、RTF、簡報等項目)、音樂、影片等等。此外,該系統也會提供 Web 界面,供使用者瀏覽及儲存影像。

目標

此實驗室結束後,您將能夠:

  • 建立新的 Amazon S3 儲存貯體來儲存媒體檔案
  • 建立 DynamoDB 資料表來儲存您的媒體檔案中繼資料
  • 啟動新的 EC2 執行個體,以執行您的 Web 伺服器
  • 測試部署

實驗室先決條件

若要成功完成此實驗室,您應該熟悉 AWS 管理主控台的基本瀏覽方式,並了解如何使用文字編輯器來編輯指令碼。

持續時間

此實驗室需要大約 60 分鐘的時間來完成。

圖示圖例

此實驗室使用各種圖示提醒您注意不同類型的指示和注意事項。下列清單說明各圖示的用途:

  • 注意:提示、秘訣或重要指引

解決方案概觀

媒體儲存

影像可儲存於 Amazon Elastic Block Store 磁碟區,不過您需提前佈建容量,並透過新增磁碟區,妥善管理擴充儲存層的相關作業。此外,這些磁碟區需要與 EC2 執行個體連接,才能透過 HTTP 提供內容。要是資料未複寫至其他執行個體,由其他執行個體接手提供資料,就會在系統中發生單點故障問題。

比較理想的作法,是將 Amazon S3 作為媒體檔案的儲存庫使用。Amazon S3 能體現優異的資料耐用性,並透過 HTTP 提供內容。Amazon S3 儲存貯體所能存放的物件數量沒有上限,無論您使用幾個儲存貯體,都能享有穩定一致的效能。您可以將所有物件存放在單一儲存貯體,也能分門別類儲存到多個不同的儲存貯體。

在這個實驗室中,您將建置下列解決方案:

使用者上傳影像後,Web 伺服器會在接收到檔案後建立影像縮圖。接著,伺服器會將影像和縮圖上傳至 S3 儲存貯體,並將影像的中繼資料插入 DynamoDB 資料表。

儘管 Amazon S3 和 DynamoDB 都是具備擴展和容錯能力的系統,但只要您的 Web 伺服器是在單一 EC2 執行個體上運作,顯然就可能發生單點故障 (如果 Web 應用程式故障,系統就無法存取及復原) 和瓶頸 (如果傳入的請求涉及重要負載,系統甚至可能無法正常提供服務)。

以下是在實驗室案例中使用的每個服務的簡介。

注意:如果您很熟悉這些 AWS 服務,可以略過服務簡介,並且直接跳至 Start lab (開始實驗室) 區段。

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) 是一種 Web 服務,可在雲端提供可調整大小的運算容量。其設計可讓開發人員更容易執行 Web 規模的運算。 Amazon EC2 的簡易 Web 服務界面讓您可以輕鬆獲取和配置容量。透過此服務,您可以完全控制運算資源,並在經過驗證的 Amazon 運算環境中執行。Amazon EC2 能將您取得及啟動新伺服器執行個體所需的時間縮短至幾分鐘,如此一來,當您的運算需求發生變化時,您就能快速擴展及縮減運算容量。Amazon EC2 讓您只需為您實際使用的容量付費,從而改變了運算的經濟成本。

有了 Amazon EC2,您可以在幾分鐘內增減容量,不必耗上幾小時甚至幾天。您可以同時管理一個、數百個或甚至數千個伺服器執行個體。當然,由於這項工作是完全透過 Web 服務 API 來控制,因此您的應用程式可根據其自身需求自動調整規模。

您可以完全控制您的執行個體。您擁有每個執行個體的根使用者存取權,可以像使用其他任何機器一樣,與這些執行個體互動。您可以停止任何執行個體,同時將資料保留在開機分區,之後再使用 Web 服務 API 重新啟動同一個執行個體。執行個體可以由 Web 服務 API 從遠端重新啟動。此外,您也擁有執行個體主控台輸出內容的存取權限。

您可以選擇多種執行個體類型、作業系統和軟體套件。Amazon EC2 可讓您針對作業系統和應用程式,選擇最適合的記憶體、CPU、執行個體儲存體和開機分區大小設定。例如,包含眾多 Linux 版本和 Microsoft Windows Server 在內,都是您可選擇的作業系統。

如需 Amazon EC2 的詳細資訊,請參閱:https://aws.amazon.com/ec2/

DynamoDB

DynamoDB 是一種全受管的高速 NoSQL 資料庫服務,無論儲存及擷取任何數量的資料,都能在經濟實惠的前提下輕鬆完成,可滿足任何規模的請求流量。此服務保證提供特定水準的輸送量,而且延遲時間低於 10 毫秒,極其適合遊戲、廣告技術、行動裝置及其他多種應用方式。

DynamoDB 透過 API 和容易使用的管理主控台提供順暢的輸送量及儲存空間擴充功能,讓您能輕鬆調整規模以滿足您的需求。只要按一下按鈕,就能在幾分鐘內建立 DynamoDB 部署作業,每年處理上兆個資料庫請求,目前已有許多客戶親身體驗這項優勢。

DynamoDB 表格沒有固定的結構描述,每個項目都可以有不同數量的屬性。多種資料類型使資料模型更加豐富。次要索引能為您可執行的查詢作業增添彈性,同時又不影響效能。

配備 SSD 儲存空間和自動三向複寫功能,提供渾然天成的效能、可靠性及安全。Amazon DynamoDB 採用經過實證的加密方法,能在安全無虞的情況下驗證使用者身分,防止未經授權的資料存取活動。

如需 Amazon DynamoDB 的詳細資訊,請參閱:https://aws.amazon.com/dynamodb/

Amazon S3

Amazon S3 是專為網際網路所提供的儲存服務,其設計可讓開發人員更容易執行 Web 規模的運算。

Amazon S3 提供簡單的 Web 服務界面,可供使用者從 Web 上的任何位置隨時存放及擷取任意數量的資料。所有開發人員都能存取可高度擴展、安全可靠、快速且低成本的基礎設施,Amazon 本身的全球網站網路就是在此基礎設施上運作。該服務旨在盡可能增加擴展規模的效益,並將這些效益回饋給開發人員。

Amazon S3 的設計初衷根基於一個概念,亦即以網際網路為基礎的優質儲存空間應該垂手可得。如此一來,開發人員不再需要煩惱資料應採取哪種儲存方式、資料是否安全,或儲存空間是否足夠。此外,他們不必在設置自有的儲存解決方案時,預先支付龐大費用,也不需持續負擔維護及擴充儲存伺服器的相關開銷。Amazon S3 的功能簡單而強大:以經濟實惠又安全的方式儲存任何數量的資料,同時確保您在需要的時候,可以隨時輕鬆取得所需資料。Amazon S3 可讓開發人員專注於利用資料實現創新之舉,而非將心力浪費在尋找理想的儲存方式。

如需 Amazon S3 的詳細資訊,請參閱:http://aws.amazon.com/s3/


Tags

Related Courses

EC2 Systems Manager
Amazon via Independent
AWS Developer Series
Amazon via edX
Creating an AWS EC2 Autoscaling Group using Load Balancer
Coursera Project Network via Coursera
Terraform Basics: Automate Provisioning of AWS EC2 Instances
Coursera Project Network via Coursera
Deploy a Wordpress Website in AWS EC2
Coursera Project Network via Coursera