iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
DevOps

DevOps需要的技能樹...(應該)都點得到!系列 第 21

Day 21: AWS S3 與容器化應用數據存儲

  • 分享至 

  • xImage
  •  

本章節「AWS」概要

Day 17: 使用 AWS EC2 部署 Docker 容器
Day 18: AWS Elastic Kubernetes Service (EKS) 入門
Day 19: 設置 AWS ALB(Application Load Balancer)進行負載均衡
Day 20: AWS Auto Scaling 自動調整實例數量
Day 21: AWS S3 與容器化應用數據存儲
Day 22: 使用 AWS RDS 管理關聯式資料庫
Day 23: 使用 AWS Inspector 進行安全性掃描與合規性檢查

Day18-23都會產生費用,不適用於免費方案,請斟酌練習喔!

認識AWS S3

Amazon S3(Simple Storage Service)是 AWS 提供的可擴展對象存儲服務。它允許用戶以對象形式存儲和檢索任何量的數據,適用於備份、恢復、存檔、大數據分析和靜態網站托管等用途。S3 提供高可用性、持久性和安全性,支持版本控制、加密和存儲類別選擇,並且能夠按需擴展存儲容量。

S3它的中文是儲存桶,而不是資料庫喔!

儲存桶與資料庫的差異

S3 儲存桶:
對象存儲:S3 儲存桶用於存儲對象(如文件、圖像、視頻等),每個對象由數據、元數據和唯一的識別符組成。
用途:適合用於備份、檔案存儲、靜態網站託管、大數據存儲等場景。
特點:高可用性、高持久性(11 個 9 的持久性),支持版本控制、加密、存儲類別選擇等。

RDS 資料庫:
關聯式資料庫:RDS 提供多種關聯式資料庫(如 MySQL、PostgreSQL、Oracle、SQL Server)作為服務,管理結構化數據表和關聯數據。
用途:適合需要結構化數據存儲和管理、支持 SQL 查詢的應用場景,如應用程式數據庫、網站後端、業務分析等。
特點:自動備份、恢復、升級,支持高可用性、多區域複製,提供按需擴展和性能優化功能。

S3 儲存桶:
存儲的是對象(文件)及其元數據,不支持結構化查詢和複雜的關聯操作。

RDS 資料庫:
存儲的是結構化數據,支持 SQL 查詢、事務處理、數據完整性約束、索引等。

S3 儲存桶:
用戶主要進行對象的上傳、下載、刪除等操作,管理對象存儲和存取策略。

RDS 資料庫:
用戶進行資料庫的設置、查詢、索引管理、事務處理等操作,涉及數據庫結構和查詢優化。

總結
S3 用於非結構化數據的對象存儲,重點在於大容量、可擴展、持久性。
RDS 用於結構化數據的關聯式資料庫服務,重點在於數據管理、查詢性能、事務處理。

建立S3儲存桶

參考官方說明文件

建立儲存貯體 > 取消打勾公開存取權 > 編輯「許可」並貼入以下

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::114774131450:root"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<你的儲存桶名稱>/AWSLogs/<你的AWS帳戶號碼>/*"
        }
    ]
}

https://ithelp.ithome.com.tw/upload/images/20240812/20168384BjUb2MG8zI.jpg

打開ALB日誌功能

負載平衡器 > 操作 > 編輯負載平衡器屬性

https://ithelp.ithome.com.tw/upload/images/20240812/20168384QDgSvbIvg6.jpg

回到S3儲存桶查看,馬上就能看到測試打進來的日誌了~

https://ithelp.ithome.com.tw/upload/images/20240812/20168384SsXr5h9h0N.jpg

Amazon S3 可以結合多種 AWS 主流功能來存放日誌,這些日誌可用於監控、安全分析、合規性等用途。以下是一些常見的組合:

  • AWS CloudTrail
    用途:CloudTrail 記錄所有對 AWS 資源的 API 調用,這些記錄可以自動存放到 S3 中,用於審計和追蹤 AWS 資源的操作歷史。

  • AWS CloudWatch Logs
    用途:CloudWatch Logs 可以將應用程序、系統和 Lambda 函數的日誌記錄到 S3 中,方便長期存儲和進一步分析。

  • VPC Flow Logs
    用途:VPC Flow Logs 記錄網絡流量的進出和流經 VPC 的信息,可以將這些日誌存儲到 S3 中,用於網絡流量分析和安全審計。

  • AWS Config
    用途:AWS Config 追蹤和記錄資源配置的變更歷史,並可以將這些日誌存儲到 S3 中,以便日後進行配置審計和合規性檢查。

  • Elastic Load Balancing (ELB) Access Logs
    用途:ELB 的訪問日誌可以記錄所有流經負載均衡器的請求,這些日誌可以配置存放到 S3 中,用於性能分析和安全監控。

  • AWS Lambda
    用途:Lambda 函數的執行日誌可以透過 CloudWatch 存放到 S3 中,方便進行異常調試和日誌管理。

  • Amazon RDS
    用途:RDS 支持將慢查詢日誌、錯誤日誌和一般日誌輸出到 S3 中,以便進行長期存儲和數據庫性能優化分析。

  • AWS WAF (Web Application Firewall)
    用途:WAF 的日誌記錄可用來監控和分析網頁應用的安全事件,並可以自動存放到 S3 中進行後續分析。

  • AWS Inspector(Day23會提到)
    用途:AWS Inspector 進行安全分析和漏洞掃描,生成的報告和日誌可以自動存放到 S3 中,用於長期存儲和安全審核。


上一篇
Day 20: AWS Auto Scaling 自動調整實例數量
下一篇
Day 22: 使用 AWS RDS 管理關聯式資料庫
系列文
DevOps需要的技能樹...(應該)都點得到!25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言