AWS Multi-Accounts Structure

昨天設定了多個 aws organization accounts,但我們還沒有說明為什麼要這樣做 今天會先講 Gruntwork 提出的 Production-Grade Design: multi-account security strategy 拆分多個 account 的用意 多 account 下如何統一管理 IAM User access control 與安全性控管 iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 Production-grade Design IAM Gruntwork 提出的 Production-Grade Design: multi-account security strategy,我們這邊一一講解 Root Account 的用途 位於 diagram 圖中的最上層 是整個架構的創世帳號,權限最大 root account 裡面沒有任何 infrastructure 元件, i.e. aws ec2 不會長在裡面,是一個空 account root account 的存取最嚴格 只有很少數的 admin 可以存取 i.e 只有 SRE 部門主管有自己的 IAM User,其他 SRE 沒有權限存取 root account root account 的工作最少 設定 child account 管理 billing IAM policy 管理,不要把 policy 直接綁在 User 上,應該要 ...

September 18, 2022 · 4 min · 717 words · chechiachang

Provision Child AWS Accounts

今天要使用 terraform 設定 AWS account structure iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 – Provision AWS Account 今天要把 aws account 設定完成,並且開始使用 live-repository 來搭建 aws 元件 我們自己的 module repository 開一個權限的 repository fork 我自幹的 modules repository terragrunt-infrastructure-modules https://github.com/chechiachang/terragrunt-infrastructure-modules 上面這個是放 terraform module 的 repository,是兩個 repository 不要跟執行 terragrunt repository 搞混,是兩個 repository https://github.com/chechiachang/terragrunt-infrastructure-live-example 今天的進度與 code base terraform-live-example PR 在此 terragrunt-infrastructure-modules 請直接看 tag v0.0.1 因為有地方嚴重寫錯,我有 force push 東西 :tear:,如果已經提早下載的朋友可能會需要清掉 repository main branch + tag 重拉 orz 對,我們且戰且走常常會這樣,發現昨天寫的東西寫錯臨時改,請大家見諒 為何使用 aws modules X) 因為我們沒有付錢,不能用 gruntwork 的 priviate repository (大誤 ...

September 16, 2022 · 7 min · 1420 words · chechiachang

AWS Account Struture

今天要使用 terraform 設定 AWS account structure iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 – AWS Account structure AWS account structure 是 AWS IAM 提供的 feature 之一,可以讓用戶從一個 account login,然後透過授權操作其他 account 的元件。 然而有這個 feature 不代表用戶就要買單,有實際需求我們才來用 feature。使用 account structure 的理由是什麼? Account structure 的需求 AWS 官方 whitepaper: 使用 multiple aws account 的好處 依據職務需求將 workload 分組 為不同 environment 設定獨立的 security control 限制敏感資料的存取 提升創新與開發的敏捷 控制事故的影響程度與衝擊 impact 精細的拆分 IT 的工作 成本控管 分散 aws quotas 使用限額與 API rate limit AWS 官方的 organization best practice AWS 官方 OU 管理的 best practice ...

September 15, 2022 · 3 min · 508 words · chechiachang

IaC best practice workshop on aws

iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 – AWS 為例,實現 production framework 的最佳實踐的 30 天 workshop 準備 Production environmtn Devops 面臨的問題 DevOps 的工作內容繁雜 今天想要 Deploy 一個 backend API deployment 到 k8s 上 一轉眼發現自己在修 port / servie / ingress / alb 一轉眼發現自己在修 tls certificate 一轉眼發現自己在修 node linux 上的一個 bug 一轉眼發現自己在修 monitoring / metrics + alert / log collection … 我只是想 deploy 一個 backend deployment 修infra 花了好幾天,而寫 deployment 只要 2 hr Devops 的工作,是處理 developer 與 operator 中間的繁雜的細節 換個角度思考:上面這些元件全都是存在許久的功能,應該有一套統一介面隨叫即用這些服務,ex. ...

September 12, 2022 · 3 min · 532 words · chechiachang

Terraform Infrastructure as Code: Atlantis

This article is part of 從零開始的 Infrastructu as Code: Terraform Get-started examples / SOP on Github Introducation to Terraform Iac: Speaker transcript Presentation Check my website chechia.net for other blog. Follow my page to get notification. Like my page if you really like it :) 需求與問題 隨著 terraform 在團隊內的規模持續成長,團隊需要讓工作流程更加順暢,來面對大量的 tf 變更查核與變更請求。想像幾十個工程師同時在修改幾十個不同的 terraform projects / modules,這時可能會有幾個問題 需要一個穩定乾淨的環境執行 terraform 工程師的開發本機不是個好選擇 需要 24/7 的 terraform 執行中心 執行中心會有各個環境 (dev / stage / prod) 的存取權限,希望設置在內部 下列兩個工作會切換工作平台,例如 Github review,檢視 difference,與討論 PR review 完有時會忘記 merge,merge 完有時會忘記 apply repository 越多,忘得越多… 團隊已經導入 Git-flow,希望把工作流程做得更完整自動化更加便利 ...

October 7, 2020 · 2 min · 395 words · chechiachang