The Art of Readable Code && High Performance Comments

最近加入了某大軟體企業,生活相當充實;抽空簡單提下感覺實用,但常被忽視的功能與服務。

IAM Role 搭配 STS

透過調用 STS::AssumeRole(),可以在不同 Amazon Account 之間授權;撇開 SAML 授予 Management Console 不談,Role / STS 可是授權與不特定人的瑰寶。如果打算在 APP Layer 自行實作驗證,也可以在授予 Temporary Credential 的時候進一步限制權限,而每次弄出來的 N+1 胎權限會與前次取交集。

iam:Put*Policy() 就不是這樣了;其他權限再低,只要能貼 Policy 上 User, Group, 或 Role,立即變身 Administrator !

VPC Routing & Peering

使用 VPC Peering 或 Routing (包含 VPN / Direct Connect)時,除了將兩邊網段完整映射外,也可以利用 Subnet 各有 Routing Table 的特點,將它作為最小分派單位。舉例來說,若有兩個 VPC 同為 10.0.0.0/16,要存取 VPC 10.1.0.0/16 下的資源,可以在這兩個 VPC 下切出 10.0.0.0/24 與 10.0.1.0/24 的網段並進行  peering。謹記封包來往皆需能正確路由,設計便不致出錯。

調用 VPC Public / Private subnet 的原則,也可以透過 SNAT 使 VPC 下未設定 peering 的 subnet,得往 shared VPC 建立連線。要作為 NAT 的機器必須在 Network Interface 處取消其 Source / Dest Check;如此該機器便會出現在 Routing Table 的候選項中。

善用 SNAT 後,自然能變出各種複雜路由來砸自己的腳。

千萬別把機房一比一搬上雲端

AWS 效能幾無上限,但它會用帳單懲罰你;理解學習雲端架構才是正途。

瞭解(或黑箱)底層硬體及服務實作

架構師要對自己的架構負責;從機房(無SSD)跳上 AWS,喊說要 4k IOPS 起跳,再哭哭價格不合算,這實在有些過分。先念過 Manual 與計費,知道 IOPS 啥意思,HDD/SSD Baseline 在哪再來談嘛。

累了;今天不寫,恐怕又要再荒廢一個月。就偷懶不設定內文格式與連結了 XD 之後有空再回來修吧。

發表迴響

分類

%d 位部落客按了讚: