我曾經用舊版 Terraform 佈署一個環境(約 0.11 版)
在那之後再也沒動過該環境
直到今天用新版 Terraform 打算去做 refresh、destroy
根據錯誤訊息,Terraform 無法解讀 state 中 aws_cloudfront_distribution
的 active_trusted_signers
我曾經用舊版 Terraform 佈署一個環境(約 0.11 版)
在那之後再也沒動過該環境
直到今天用新版 Terraform 打算去做 refresh、destroy
根據錯誤訊息,Terraform 無法解讀 state 中 aws_cloudfront_distribution
的 active_trusted_signers
每一次系統發生 bug,都需要調 log 才能知道到底錯在哪裡
目前的做法都是 SSH 進去 ec2 instance 把 log 抓出來給工程師
這種動作本身就需要時間,再加上每個人工作時程的安排,會明顯地拉長 debug cycle
為了改善這個問題,架設一套自動蒐集、保管 log 的系統就成了非常值得的投資
Loki 切中我的需求,但關於如何單機架設的文章似乎不多
本篇文章描述如何在 ec2 instance 用 docker-compose 架設 Grafana + Loki
再順便裝個 Prometheus
Promtail 可以追蹤 log file 的變化,定期把新增的部分上傳到 loki,並把目前行數紀錄在 positions.yml
而 logrotate 可以把過大的 log file 轉存到 log.*.gz,並把目前的 log file 清空
問題來了,Promtail 是否會在 logrotate 執行時更新 positions.yml 裡面此檔案的行數呢?
會
聽到有這種工具應該算是目前專案帶給我的一大收穫
Scout Suite 可以掃描一個 AWS 帳號下所有 resource 的設定是否足夠安全,
舉例來說:Security group outbound 是否設為 0.0.0.0/0、是否有 IAM Policy 開放全部權限
使用 Ubuntu 20.04 LTS 這種版本的好處是,當有新的資安漏洞揭露、修補完成後,
Ubuntu 官方會釋出資訊,應該也會更新 AWS 上的 AMI
這種時候就用事先寫好的 Packer 設定檔,還有新版 AMI,花個十分鐘讓他自動做新的 golden image
這樣可以讓每一台新開的 server 都使用最新的軟體,藉此增加安全性
一般專案只需要一台 DB,然後用 project_id 區隔資料就好
不過因為公司的新專案對資安有很高需求,開始導入多租戶系統的概念,
這篇文章會講解在 DB 上各種資料隔離的模式,以及 Cognito、EC2 要如何搭配實現
最近跟資安專家開會討論新專案,他們提問:「你要怎麼確定 User 連上的真的是你的網站?」
同事則問「有 HTTPS 不就夠了嗎?」
他們兩個問的都是好問題 😂
深入挖掘之後我認為 HTTPS 只是基本,還需要搭配 DNSSEC
To setup correct IAM poli…
前幾天看到社團在討論一些大公司開始支援 Ed255…
整理自後端社團的這篇討論並用 wiki 介紹的基本…