Thinking, Coding, and Learning.

先生不知來自何方,亦不知歸去何處,年過而立,參悟生與死,淡泊名與利,但憂天下蒼生。蹤跡走紅塵,藏身山林田野,撫琴於搖滾,振筆於網路,傳道於教學;神遊金庸武俠,往返程式思考,常以此樂而忘眠。... 更多關於我

產品 / 專案進行中,經常會有 新功能需求,有時候是來自老闆的突發奇想、或者市場反饋、或內部發想。這些資訊的流通,在組織內部是很重要的,畢竟大家要了解『需求』的來龍去脈之後,才能設計出有意義的功能,打到重點,否則會有越來越多溝通成本,所以 需求管理 (Requirements Management) 我覺得是件非常重要的事情。

不過現實跟理想總是有差距的。

Read More

Study Notes - CloudWatch FAQ 2017/03/06 03:30:00

本篇整理 CloudWatch 常見問答。

Read More

Service Using Single IP in Global 2017/03/05 12:20:00

這是個我心裡埋藏已久的問號: Service Using Single IP in Global … 怎麼可能 @@?

但是看到 GCP 的文件說 “Global Load Balancing with Single Anycast IP“, 他是 Google ,所以我相信了 ….

心裡會這麼疑惑是因為很久以前在研究 ELB 原理 時,就一直在猜背後應該是靠 ASG + EC2 組出來的,然後每個 EC2 都有 EIP,所以 IP 不會是固定 …. bala bala … 認知上,實體的 Load Balancing 通常會是一台,但是通常也很貴。軟體的 LB 通常就是用 Auto Scaling 實作,而且很難跨地區。 ….

Read More

整理做系統效能測試的時候,如何利用 CloudWatch 作分析。

Read More

CloudWatch for Log Analysis 2017/03/04 03:30:00

整理如何利用 CloudWatch 做 Log 分析。

Read More

本文整理 CloudWatch 最主要的應用:監控服務告警系統 的建置。

Read More

CloudWatch 是學習 AWS 之後,除了 EC2、S3 之外,最重要的 Services 之一,本文整理 CloudWatch 主要的功能介紹。

Read More

Study Notes - CloudWatch Metrics 2017/03/02 03:30:00

整理 CloudWatch Metrics 的相關資料。

Read More

Study Notes - CloudWatch awslogs 2017/03/02 03:30:00

把 AP 的 Log 從機器送到 Log 服務,一直以來都是很重要的課題,這樣功能的角色稱為 Log Shipper。CloudWatch 提供的第一個版本的 Log Shipper 服務:awslogs

Read More

Study Notes - CloudWatch 2017/03/02 03:30:00

CloudWatch 是 AWS 的全託管 (Managed Service) 監控服務,在眾多 AWS 服務預設都會使用,了解他的基本概念與應用,在學習 AWS 服務中是相當重要的。

Read More

Resource Provisioning and DevOps 2017/02/11 09:53:00

DevOps Taiwan Group 看到有人分享這篇文章:Microservice Prerequisites,其中的重點有三:

  • Rapid Provisioning
  • Basic Monitoring
  • Rapid Application Deployment

剛好最近工作上這些事都有關係,整理關於第一個 Rapid Provisioning 的心得。

Updated 2023/07/19: 本文收錄在個人著作 《SRE 實踐與開發平台指南》 - 2023/08 上市

Read More

整理 AWS 很重要的核心功能之一:EC2 Auto Scaling 筆記,這篇整理核心功能以及概念。

AWS 另一個類似發表於 2018/01/16 的服務叫做 AWS Auto Scaling 則是超集 (Superset) 整合服務,可以管理 EC2 Auto Scaling Groups、EC2 Spot Fleet Requests、ECS、DynamoDB、Auroa … 等服務。本文介紹的只是其中一個子集。

Read More

去年 2016 re:Invent 宣布 IPv6 的訊息,當時只有在 ohio region 可以使用,現在已經可以在全部的 region 還有相關的服務 GA 了!

Read More

Cost in Context Switch 2017/01/23 03:21:00

Context Switch 中文翻譯成環境切換,wikipedia 的解釋:

是一個儲存和重建 CPU 的狀態 (內文),因此令多個進程 (process) 可以分享單一 CPU 資源的計算過程。

把它放在人身上,就是一心多用。Context Switch 的成本很大,五顆球同時丟給一個人,最後可能只接著一顆,也可能一顆都接不住。所以創造能「專注」的環境很重要,不管是在工作環境,還是個人的學習。

『五顆球同時丟給一個人』這段是出自 “Steve Jobs 自傳” 某一章,不過我找不到原始段落了,有找到的人麻煩跟我說,感激不盡!

Updated 2023/07/19: 本文部分收錄在個人著作 《SRE 實踐與開發平台指南》 - 2023/08 上市

Read More

寫在介紹 Redmine 之前 2017/01/21 08:45:00

RedmineRuby on Rail (RoR) 開發的專案管理、團隊協同合作、議題管理工具。

我一直很想把他帶入公司,因為覺得每家公司應該都有這樣的協作平台,他可以扮演組織內部重要的潤滑劑,同時減少 溝通成本

不過在介紹 Redmine 之前,先整理一些問題:

  • 專案管理是什麼?
  • 專案管理要呈現什麼?
  • 協同合作工具在團隊裡是阻力還是助力?
  • 有了這個工具能為組織帶來什麼好處?
Read More

最近在幫公司規劃 VPC,遇到以下的狀況與需求的組合:Cross Regions、Multiple VPCs、Multiple AWS Accounts、PCI DSS 的需求,另外畫了一個 VPC 給 Vault (保險櫃) 單獨使用,加上因為開發環境與正式環境的 AWS 帳號,形成相當複雜的環境。整理有以下要考慮:

  • VPC CIDR 的規劃
    • Multiple VPCs
    • VPC for PCI DSS Vault
    • 如果有其他 Cloud, e.g. Azure, GCP, 也要考慮
  • Routing, Connections, and Network Topologies:
    • VPC between different Region:BGP or Static Route
    • Site to Site VPN, including HA and Failover
    • VPC to On-Premises: VPN and Transit VPC
    • VPC to VPC: VPC Peering
    • Routing Policy
  • 控管問題: Network ACL 以及 Security Group 的規範
    • 異動管理 (Change Management)
    • IPv6 與 IPv4 的管理規範
    • 異動流程
  • 多個 AWS Account 的管理
    • 形成 AWS IAM 多帳號的管理問題
    • IAM Role and Policy in Cross Account 的管理

AWS re:Invent 有個 Session 專門在說明這樣的需求:From One to Many: Evolving VPC Design (ARC302), Slideshare,整理一些重點:

Read More

Study Notes - VPC IPv6 Support 2016/12/31 01:27:00

AWS 終於支援 IPv6,目前只在新的 Region - Ohio (us-east-2) 可以使用。

IPv6 in the Cloud: Virtual Private Cloud Deep Dive (NET307), Slideshare 有詳細說明。整理一些筆記。

Read More

AWS 在 2015 年十月在 Blog 發表一篇標題:Are You Well-Architected?,描述怎樣是一個好的架構應該考慮的。文章標題引用知名傳奇吉他大師 Jimi Hendrix 的專輯標題 Are You Experienced?。這篇後來變成 AWS Well-Architected Framework 的源頭。

AWS Well-Architected Framework 以下簡解成 WA

Read More

Read More

EC2 Run Command and SSM Agent 2016/10/25 14:35:00

EC2 Run Command 是用來執行遠端指令,管理 EC2 Instance、或者自己的 VM (on-primises) ,可以執行像是 Unix Scripts 和 Windows PowerShell 等。

SSM 全名是 Amazon EC2 Simple Systems Manager (SSM),主要就是用來控管 EC2 的代理程式,透過他可以自動化很多維運任務,常見的像是 Windows Update、SSM Agent Upgrade、Remote Script (bash or powershell),也可以做像是 CodeDeploy 的事情,然後用來做 CD。

EC2 Run Command & SSM Agent 不會另外收費。

感覺跟以前我在寫 Automation Test Framework 用的 STAF 概念類似,可以作為 Ops as Code 的底層架構。

Read More

AwsOps Security Group Updater 2016/10/16 14:35:00

我自己有好幾個 AWS Accounts 作為學習用途,但因為是自己的帳號,所以在 Security GroupsBilling 會特別管理。

我開了一台 EC2 Instance 在 Public Subnet,為了避免不必要的安全性問題,加上現在居住的環境不是固定 IP (每天都會變動),所以寫了一隻小程式,透過 Raspberry Pi 每天自動更新指定的 Security Group,在安全與便利取得平衡。

Read More

Migrate to AWS NAT Gateway 2016/10/10 10:30:00

將公司在 AWS 上的 NAT Instance 換成 NAT Gateway,事前評估、驗證、溝通與執行紀錄。

Read More

置頂 - AWS Study Roadmap 2016/10/01 13:30:00

AWS 範圍很大,有系統的學習是必要的。就像以前學音樂一樣,從各個面向整理 學習地圖,試著拼這張圖,過程中就可以知道自己哪裡還有缺,把缺的補上 (擁有技能)、把圖拼出來 (擁有知識)、把他們連結 (Connected and Linked) 起來 (產生智慧)、用他們創造 (產生創意)。

底下這張 mindmap 則是我自己的分類、重要性、以及學習的進度狀況,用以看到全貌:

以下依照 AWS Services 的分類、Solution … 等,整理過去的心得筆記。

Read More

新聞來源:AWS CloudFormation Update – YAML, Cross-Stack References, Simplified Substitution

有三個很重大的更新:

  • YAML Support: 主要的新功能,可以用 YAML 寫 Template。CloudFormation 的 Function 則是用 !GetAtt 表示。
  • Cross Stack References: 可以用 ImportValue function 參考其他 stack 的變數。被參照的 stack reference 就不能刪除。
  • Simplified Substitution: 可以用 This is ${VarName} 的方式做字串取代。
    • 原本要都要透過 Fn:Join 做字串串接,Template 會變得很難閱讀。
    • 現在可以透過這樣的方式: !Sub | "This is ${VarName}"
    • 很多地方需要使用 userdata 啟動 ec2 時,需要把整段 bash 放入,透過這個新的表示方式就很容易閱讀
Read More

整理如何設定 git (github, bitbucket, gitlab) 與 Redmine Issue 整合.

這個目的是讓 commit 的東西跟 issue 做關聯性,可以讓相關人員知道到底改了些什麼?

這方法不需要另外安裝 Redmine Plugins, 設定分以下步驟:

  • Git Repository 與 Redmine 同步 (系統管理者)
  • 訊息關鍵字設定 (系統管理者)
  • 專案設定 (專案負責人)
Read More

有人在問 Lambda 抓取 S3 資料出現下載時間過大 (latency) 的問題,我做了這樣的假設:

  1. 把 Lambda 放在 VPC 裡
  2. 把 VPC endpoint 打開,指定到 Lambda subnet 的 Route Table

推論基礎是:都在 LAN 裡的傳輸,會比出去到 WAN 還快。

以 AWS 來說,Lambda / S3 都是在 VPC 裡 (LAN) 的網路傳輸應該會比透過 WAN 去 S3 拿還好。不過找了 Lambda 對於 VPC / Network 官方文件的描述,都沒有提到類似的。

基於好奇心,做了以下的測試。

Read More

這張考試重點回到 Developer,考試範圍除了 Solution Architect (ASA) / SysOps Administrator (ASOA) 都已經很熟悉的 VPC / EC2 / IAM / S3 … 等,另外的重點都在 DynamoDB / 3S (SQS, SES, SNS) / SWF / AWS API。

Updated 2018/06/05:AWS 已經發布新版的 Developer 版本,正在準備的人請注意。相關資訊也可以參考我整理的 這篇說明

Read More

DynamoDB 設計理想源自於 Amazon 的論文: Dynamo: Amazon’s Highly Available Key-value Store, 2007,被稱為是 NoSQL 代表之作

這篇由 Werner Vogels (AWS CTO) 寫的 Blog: Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications,提到了 DynamoDB 背後設計的歷史、包含以前的 SimpleDB,文章提到幾個設計的重點:

  • Fast (快)
  • Managed (好)
  • Scalable (好)
  • Durable and Highly Available (好)
  • Flexible (好)
  • Low cost (便宜)

Anyway,以下整理的是 DynamoDB 的重要概念、背後運作的原理。圖文資料都出自官方文件:DynamoDB Developer Guide 。 (有點像在翻譯練習 XD)

Read More

AWS Application Load Balancer 2016/08/11 23:27:00

新聞來源:New – AWS Application Load Balancer

Application Load Balancers support content-based routing, and supports applications that run in containers. They support a pair of industry-standard protocols (WebSocket and HTTP/2) and also provide additional visibility into the health of the target instances and containers. Web sites and mobile apps, running in containers or on EC2 instances, will benefit from the use of Application Load Balancers.

Read More

Ops as Code with AWS CLI 2016/08/03 21:53:00

整理一些利用 AWS CLI 作維運工作的例子,像是:

  • 根據 Tag 條件,定期刪除不需要使用的 EC2 Instances
  • 根據 Tag 條件,將 EC2 Instances 定期備份成 AMI / Snapshot
  • 統計 EC2 使用狀況。

另外還有 AWS CLI 的使用心得,目的就是達到 Ops as Code

Read More

考完 Solutions Architect (以下簡稱 ASA) 之後,就開始準備考這張 SysOps Administrator (以下簡稱 ASOA),主要因為現在主要的工作內容就是 System Operations / Administration 為主。

以下整理 Study 的摘要與心得。

Updated 2018/06/12:AWS 已經發布新版的 SysOps 版本,正在準備的人請注意 官方資訊 - SOA-C01 (PDF)。

Read More

整理 EC2 Instance Lifecycle 和常遇到的 Troubleshooting.

Read More

整理 AWS Security GroupsNetwork ACLs 的差異,特別是 rule 的 statefulstateless 的差異。主要參考自下表:

![](/images/AWS/VPC/Comparison-of-Security Groups-and-Network-ACLs.png)

摘錄自 Security in Your VPC

Read More

AWS ELB 是利用 EC2 + Auto Scaling Group / Launch Configuration 實作的 (我猜的)。之前 觀察 Cloudtrail 更加應證此現象。而每一個 ELB 後面有多少台 EC2 可以從 ENI 的數量看得出來。但是 EC2 的數量卻跟 ELB 後面的 Backend 數量不成比例。整理觀察到的現象 …

Read More

利用 IAM Policy、以及 EC2 ResourceTag 限制權限,像是只有 DBA 可以針對 DB 機器做動作。不過搞了半天,踩了一個大雷 …. 整理以下 …

Read More

  • 全站索引
  • 學習法則
  • 思考本質
  • 一些領悟
  • 分類哲學
  • ▲ TOP ▲