AWS Organizations๋ก AWS ๋ฉํฐ ๊ณ์ ์ผ๋ก ์ ํํ ๋, ์ค์ ๋ก ๋ฌด๋์ง๋ 8๊ฐ์ง ๋ฌธ์ ์ ์์ธ ๊ทธ๋ฆฌ๊ณ ํด๊ฒฐ ๋ฐฉ๋ฒ๋ค์ ๋ํ ์ ๋ณด๋ฅผ ๊ณต์ ํฉ๋๋ค.
1. IAM Role, ์๋ํ ์ค ์์๋๋ฐ ์ ๋๋ค (๊ทธ๋ฆฌ๊ณ ์๋ฌด ๋ง๋ ์ ํด์ค๋ค)
๊ฐ๋ฐ(Dev)๊ณผ ์คํ ์ด์ง(Staging)์ ๋๊ฐ์ Role + Policy๋ฅผ ์ฌ์ฌ์ฉํ๋ค. ๊ฐ๋ฐ์์๋ ์ ๋์๊ฐ๋ค. ๊ทธ๋ฐ๋ฐ ์คํ ์ด์ง์์๋? ํ. AccessDenied, ๋ก๊ทธ๋ 0, ๊ทธ๋ฆฌ๊ณ โ๋๊ฐ์ด ํ๋๋ฐ ์?โ๋ผ๋ 40๋ถ์ ๋ฉ๋ถ.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: Cross-account Trust Policy๋ ์๊ฐ๋ณด๋ค ํจ์ฌ ๊น๋ค๋กญ๋ค. Principal์ด ์ ํํ ํฌํจ๋์ง ์๊ฑฐ๋, ๋ค๋ฅธ ๊ณ์ ์ root๋ฅผ ๋น ๋จ๋ฆฌ๋ฉด ๊ทธ Role์ ์ฌ์ค์ ์ ๊ฒจ๋ฒ๋ฆฐ๋ค. ๊ฒฝ๊ณ ๋, ํํธ๋ ์๋ค.
๊ณ ์น๋ ๋ฒ:
sts:assume-role๋ก ํญ์ Role ๊ฐ์ (assumption)์ ์๋ ํ ์คํธํ ๊ฒ- ๋ถํธ์คํธ๋ฉ ๋จ๊ณ์์๋ Trust Policy๋ฅผ ์ต์ํ(์ ์ฝ์ ๋์ค์ ์ถ๊ฐ)
- ์ ๊ทผ ์ ์ด๋ ๊ณผ๋ํ ์กฐ๊ฑด ๋์ Tag + SCP๋ก ๊ด๋ฆฌํ ๊ฒ IAM Trust Policy๊ฐ ์ฌ๋์ด๋ผ๋ฉด? ๋น์ ์์์๋ ์๋ค๊ฐ ๋ค์์๋ ์ ๋ น์ฒ๋ผ ์ฌ๋ผ์ง ๊ฑฐ๋ค.
2. ๋ณ๊ฒ ์๋์ด ๋ณด์ด๋ SCP, ๋ชจ๋ ๊ฑธ ๋ง์ณ๋ฒ๋ฆฌ๋ค
Dev ํ๊ฒฝ์์ EC2๋ง ๋ชป ์ฐ๊ฒ ํ๋ ค๊ณ SCP๋ฅผ ์์ฑํ๋ค. ์ข์ ๋ณด์ธ๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์๊ธฐ ๊ฐ๋ฐ์๋ค์ด ๋์๋ณด๋๋ฅผ ๋ชป ๋ง๋ ๋ค. Lambda๋ ์คํ ๋ถ๊ฐ. ์ฌ์ง์ด CloudWatch๋ ์ด ์ ์๋ค.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: SCP๋ IAM์ด ์๋๋ค. ์์ ๋ ๋ฒจ์ โ๊ฑฐ๋ถ(veto)โ๋ค. ์ก์
ํ๋๋ฅผ ์ ๋งคํ๊ฒ ๋ง์๋ฒ๋ฆฌ๋ฉด, ์์ญ ๊ฐ ์๋น์ค๊ฐ ์ฐ์์ ์ผ๋ก ๋ค์ด๋๋ค.
ํผํ๋ ๋ฐฉ๋ฒ:
- ํญ์ Sandbox ๊ณ์ ์์ ๋จผ์ ํ ์คํธ
- Access Analyzer๋ก Policy ์ํฅ ์๋ฎฌ๋ ์ด์
- ํน์(์๋ ๊ฑฐ์ ๋ฐ๋์) ์ ๊ทธ๋๋ผ๋ ๋น ์ ธ๋์ฌ ์ ์๋ No-SCP โ๋น์ ๊ณ์ โ ํ๋ณด SCP๋ ๋ง์น ๋ฐฉํ๋ฒฝ ๊ท์น์ ์ง ์ ์๋ ์ฌ๋์ด ๋๋ฒ๊น ๋ ๋ชจ๋ฅธ ์ฑ ์์ฑํ ๊ฒ๊ณผ ๊ฐ๋ค.
3. ์ค์ ๋ก๊ทธ, ์๋ฌด ๊ฒ๋ ๊ธฐ๋กํ์ง ์๋๋ค
๋ณด์ ๊ณ์ ์ ์ค์ ๋ก๊ทธ๋ฅผ ์ฐ๊ฒฐํ๋ค. ๊น๋ํ๊ณ ์ถ์ ๊ฐ๋ฅํด ๋ณด์ฌ์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ ํ๋ก๋์ ์ด ๋ป๋๋ค. ๊ทธ๋ฐ๋ฐโฆ ๋ก๊ทธ๋ ๋์ฐฉํ์ง ์๋๋ค. ์ด์ ๋น์ ์ ๋์ ๊ฐ๋ฆฐ ์ฑ ๋๋ฒ๊น ํด์ผ ํ๋ค.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: Cross-account ๋ก๊ทธ ์ ๋ฌ์ ์๋์ด ์๋๋ค. ๋ค์์ด ํ์ํ๋ค:
- ๋ก๊ทธ ๊ทธ๋ฃน ๊ถํ
- ์ก์ ์๊ฐ ์ ๊ทผํ ์ ์๋ S3 ๋ฒํท ๊ถํ
- ๊ณ์ ๊ฐ ํผ๋ธ๋ฆฌ์๊ฐ ๊ฐ๋ฅํ IAM Role
๊ณ ์น๋ ๋ฒ:
- Firehose๋ฅผ ์ฌ์ฉํด ๋ก๊ทธ๋ฅผ ๋ฒํผ๋ง + ๊ณ์ ๊ฐ ์ ๋ฌ
- logs.amazonaws.com์ S3 ๋ฒํท ์ฐ๊ธฐ ๊ถํ ๋ถ์ฌ
- ๊ฐ์ง ๋ก๊ทธ๋ก ๋ฐ๋์ ๊ฒ์ฆ โ ์ ๋ ๊ฐ์ ํ์ง ๋ง ๊ฒ ๋ก๊ทธ๊ฐ ๋์ฐฉํ์ง ์์ผ๋ฉด, ๊ทธ๊ฑด Observability๊ฐ ์๋๋ผ ๊ทธ๋ฅ โ๋๋(vibes)โ์ผ ๋ฟ์ด๋ค.
4. Secrets Manager๋ ์ฌํ์ ํ์ง ์๋๋ค
/prod/db/password์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํ๋ค. ๋ค๋ฅธ ๊ณ์ ์ Lambda๊ฐ ์ฝ์ผ๋ ค ํ๋ค. ํ. AccessDenied.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: Secrets Manager๋ ๊ณ์ + ๋ฆฌ์ ๋จ์๋ก ์ ํ๋๋ค. ๋. Cross-account ์ ๊ทผ? ์ง์ ๋ฌด๋๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
์ด์๋จ๋ ๋ฒ:
- ํ์ดํ๋ผ์ธ์ด๋ ์๋ํ๋ก ๋น๋ฐ์ ๋ณต์ (์๋ ๋ณต์ฌ ๊ธ์ง)
/account/env/service/...ํ์์ผ๋ก ํค Prefix ์ค์ (์ด๋ฆ ์ถฉ๋ ๋ฐฉ์ง)- ๋ฆฌ์์ค Policy๋ฅผ ์ฌ์ฉํด ํน์ ๊ณ์ ์์ ์ฝ์ ์ ์๋๋ก ๋ช ์ ํ์ฉ Secrets๋ ๊ธ๋ก๋ฒํ์ง ์๋ค. ํ์ง๋ง ๊ณ ํต์ ๊ธ๋ก๋ฒํ๋ค.
5. VPC Peering์ ๋ง๋ฒ์ ํฐ๋์ด ์๋๋ค
๊ณ์ ๊ฐ VPC Peering์ ํ๋ค. ์ด์ ํต์ ๋ ์ค ์์๋ค. ๊ทธ๋ฐ๋ฐ ECS๋ ์ฌ์ ํ RDS์ ์ฐ๊ฒฐ๋์ง ์๋๋ค. ๋ณด์ ๊ทธ๋ฃน, ๋ผ์ฐํธ, DNS๋ฅผ ์ ๋ถ ํ์ธํ๋ค. ๊ทธ๋๋ ์ ๋๋ค.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: Peering์ ๋จ์ํ โ์ฐ๊ฒฐโ์ผ ๋ฟ์ด๋ค. ์ค์ ํต์ ์ ๋ณ๋ ์ค์ ์ด ํ์ํ๋ค:
- DNS ํด์ + ํธ์คํธ๋ค์ ํ์ฑํ
- Cross-account CIDR์ ํ์ฉํ๋ SG ๊ท์น
- ์์ชฝ ๋ผ์ฐํธ ํ ์ด๋ธ ์ ๋ฐ์ดํธ
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- SG ๊ท์น์ ๋ค์ ํ์ธํ๋ผ โ ์๋์ผ๋ก ์์๋์ง ์๋๋ค
- DNS ์ค์ ๊ฒ์ฆ (ํนํ Route 53 Private Zone ์ฌ์ฉ ์)
- Peering ์ค์ ์ ๋ฌธ์ํํ๋ผ. ๋น์ ์ ์ง์ ์ด ๊ทธ ๋ฌธ์์ ๋ฌ๋ ค ์๋ค. AWS Peering์ ์ฐ์ ๊ฐ๋ค. ์ฐ๊ฒฐ์ ์์ด๋, ์ํต์ ์ฌ์ ํ ์คํจํ๋ค.
6. ๊ณ ์ ๋ฆฌ์์ค๊ฐ ์กฐ์ฉํ ์์ฐ์ ํ์ด๋ค
์ํ Sandbox์์ t3.2xlarge๊ฐ ์ผ์ฃผ์ผ์งธ ๋์๊ฐ๋ค. ํ๊ทธ๋ ์๋ค. ์๋๋ ์๋ค. ์ฌ๋ฌดํ์ ์์ธ์ ์บ๋ฌป๋๋ค. ์ด์ ๋น์ ์ ๋น์ฉ ํ์ ๋ชจ๋๋ค.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: ๋ฉํฐ ๊ณ์ ์ ์์ ๋ฅผ ์ค๋ค. ํ์ง๋ง ํ๊น
๊ณผ ๋น์ฉ ๊ฐ์์ฑ์ด ์์ผ๋ฉด ๊ทธ๋ฅ ๋์ฅํ์ด๋ค.
๋ ์๋ ๊ฑธ ๋ง๋ ๋ฒ:
- ์กฐ์ง ์ฐจ์์ ํ๊น ์ ์ฑ ๊ฐ์ (๋ฐฐํฌ ์คํจ ์กฐ๊ฑด ํฌํจ)
- ํตํฉ ์ฒญ๊ตฌ + ๊ณ์ ๋ณ Cost Explorer
- ์ ๊ธฐ ๊ฐ์ฌ ์คํ (๋๋ aws-nuke ์ฌ์ฉ, ๋จ ์กฐ์ฌํ ๊ฒ) ํด๋ผ์ฐ๋๋ ์ ๋ ดํ๋ค. ๋จ, ์๋ฌด๋ ์ ์ง์ผ๋ณผ ๋๋ง.
7. ์๋์ ์๋๋ฐ, ๋๊ตฌ์๊ฒ๋ ์ ๋ฌ๋์ง ์๋๋ค
CloudWatch Alarm์ ๋ค๋ฅธ ๊ณ์ ์ SNS์ ์ฐ๊ฒฐํ๋ค. ํ๋ก๋์ ์ด ๋ป์๋ค. ๊ทธ๋ฐ๋ฐ ์๋ฌด๋ ํธ์ถ๋์ง ์๋๋ค. ์๋์ ์์๋๋ฐ, ์๋ฌด๋ ๋ฐ์ง ๋ชปํ๋ค.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: SNS๋ ๊ณ์ ๊ฐ ํผ๋ธ๋ฆฌ์
๋ฅผ ๋ช
์์ ์ผ๋ก ํ์ฉํ์ง ์์ผ๋ฉด ์ซ์ดํ๋ค. EventBridge๋ ๋ง์ฐฌ๊ฐ์ง๋ค.
๊ณ ์น๋ ๋ฒ:
- SNS Access Policy๋ฅผ ์์ฑํด ์์ค ๊ณ์ ์์ ํ์ฉ
- ๊ฐ์ง ์ด๋ฒคํธ๋ก ๋ฐ๋์ ํ ์คํธ
- ์๋ฆผ ์ธํ๋ผ๋ ์ค์ ์ง์คํ, ์๋น์ค๊ฐ ๊ฑฐ๊ธฐ์ ๊ตฌ๋ ํ๋๋ก ๊ตฌ์ฑ ๋๊ตฌ์๊ฒ๋ ์ ๋ฌ๋์ง ์์ ์๋์, ์๋ ๊ฒ๊ณผ ๋ค๋ฆ์๋ค.
8. ์ ๊ท ๊ฐ๋ฐ์๋ Role Assumption ์ง์ฅ์ ๋น ์ง๋ค
์๋ก์ด ์์ง๋์ด๊ฐ ํฉ๋ฅํ๋ค. ์ ๊ทผ ๊ถํ์ ์คฌ๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ์ ํ ๋ฐฐํฌ๊ฐ ์ ๋๋ค. ํ์ฐธ ๋๋ฒ๊น ๋์ ์๊ฒ ๋๋ค โ ์๋ชป๋ Role์, ์๋ชป๋ ๊ณ์ ์์ ๊ฐ์ ํ๊ณ ์์๋ค.
์ ์ด๋ฐ ์ผ์ด ์๊ธธ๊น: ๊ฐ ๊ณ์ ๋ง๋ค Role, ๊ถํ, MFA ๊ท์น, ์ด๋ฆ ์ฒด๊ณ๊ฐ ์ ๊ฐ๊ฐ์ด๋ค. ์จ๋ณด๋ฉ ๊ฐ์ด๋? ์๋ง ์ค๋์ ์ ์
๋ฐ์ดํธ ๋ฉ์ท์ ๊ฑฐ๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- IAM Identity Center(SSO) ์ฌ์ฉ โ ๊ณ์ ๋ณ Permission Set ํ ๋น
- CLI ์ค์ ์คํฌ๋ฆฝํธํ (
aws configure ssoํน์ awsume)
[์ถ์ฒ] https://medium.com/towards-aws/8-things-that-break-after-going-multi-account-on-aws-0658a0dd12eb
