์ค๋ฌด์์ ์ฌ์ฉํ๋ ํด๋ผ์ฐ๋ ๋ณด์ ํ๋ก๊ทธ๋๋ฐ (AWS, Python, Terraform)
ํด๋ผ์ฐ๋๋ฅผ ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Python, Terraform)๋ฅผ ๋ฐฐ์ธ ์ ์๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ฐ๋จํ์ง๋ง ๊ท์ฐฎ์ ๋ฐ๋ณต ์ ๋ฌด๋ค์ด๋, ๋ด๊ฐ ์ธ์ ์ด๋ป๊ฒ ๋ฐฐํฌํ๋์ง, ํน์ ์๋ฃจ์ ์ ํตํด ํด๊ฒฐํ์ง ๋ชปํ๋ ์ฐ๋ฆฌ ํ์ฌ๋ง์ ์ ์ฑ ๋ฑ์ ์ง์ ๋ง๋ค๊ณ ์ ์ฉ ํ ์ ์์ต๋๋ค. ํนํ ๊ฐ์ฅ ์๋๊ฐ๋ IaC(Infrastructure as Code) ์ดํ๋ฆฌ์ผ์ด์ ์ธ ํ ๋ผํผ์ ํตํด ๋ณด์ ์ํคํ ์ฒ๋ฅผ ์ ์ฉํ๊ณ , Python์ผ๋ก ์ด๊ฐ๋จ ๋์๋ณด๋ ์ ์๋ ์งํํด๋ด ๋๋ค!
์๊ฐ์ 670๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
.terraform, .terraform.lock.hcl ํ์ผ์ด ์์ฑ๋์ง ์๋ ํ์
์๋ ํ์ธ์. terraform ๊ฐ์์ค์ 3. ๋ณ์์ ์๋ฃํ ์ดํ์์๋ ๋์ํ๋๋ฐ ์ด์์ ์์ง๋ง terraform init ์์ .terraform ํด๋์ .terraform.lock.hcl ํ์ผ์ด ์์ฑ๋์ง ์์ต๋๋ค. ์ด
awsTerraform์ด์ํ
ใป
3๋ฌ ์
0
75
2
- ํด๊ฒฐ
์น์ 4 ํ๋ก์ ํธ ์ฝ๋
1. ๋ฌด์์ ํ๊ณ ์ถ์ผ์ ๊ฐ์? ์น์ 4 ํ๋ก์ ํธ ์ฝ๋๋ฅผ ๋ฐ์ ๋ณผ ์ ์์๊น์?
pythonawsTerraformdevsecopsnameunskadms
ใป
10๋ฌ ์
1
83
1
- ๋ฏธํด๊ฒฐ
mysql ์ ์ ์๋ฌ
1. ๋ฌด์์ ํ๊ณ ์ถ์ผ์ ๊ฐ์?<img src="https://cdn.inflearn.com/public/files/posts/f13e8ee2-cb8f-
pythonawsTerraformdevsecops์์ฑ์ ์์
ใป
0
106
1
- ํด๊ฒฐ
default tags , ๋ฆฌ์์ค์ tags ์ค๋ณต ๋ฌธ์
์๋ ํ์ธ์์์์์ default_tags = resource tags๊ฐ ์ค๋ณต๋๋ฉด duplicated ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๊ณ ํด์ฃผ์ จ๋๋ฐ, ์ ๊ฐ ์ฌํํด๋ณด๋ฉด ์ค๋ณต๋ผ๋ ์๋ฌ์์ด ๋ฐฐํฌ๊ฐ ๋ฉ๋๋ค.aws provider๋ 5.57, terraform์ 1.
pythonawsTerraformdevsecopsํ๋น
ใป
1
209
1
- ํด๊ฒฐ
ํ ๋ผํผ์ผ๋ก ๋๋ค ํ์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ
์๋ ํ์ธ์๋ชจ๋ ๋ฆฌ์ ์๋์ ๋๋ค.tf ๊ฐ์ ๋ฒ์ ์ผ๋ก ๋ฐฐํฌํ๋ฉด ๋๋ค ์ฝ์์์ ์ฝ๋๋ฅผ ์์ ํ๋ ๊ฒฝ์ฐ ํ ๋ผํผ์ผ๋ก ์ถ์
pythonawsTerraformdevsecopsํ๋น
ใป
1
306
1
- ํด๊ฒฐ
๊ฐ์ ์์ ๋ฌธ์
๊ฐ์ ์ถ์ฒ์ ๋ฐ์ ๊ตฌ๋งคํ๊ฒ ๋์์ต๋๋ค. ๋ฌด๋ฃ ๊ฐ์ + ๊ตฌ๋งคํ ๊ฐ์ ์ด 4๊ฐ๊ฐ ์๋๋ฐ 4๊ฐ ์์๋ฅผ ์ด๋ค์์ผ๋ก ๋ค์ผ๋ฉด ์ข์์ง ๋ฌธ์๋๋ฆฝ๋๋ค. ๊ฐ์ฌํฉ๋๋ค. <img src="https://cdn.inflearn
pythonawsTerraformdevsecops์กฐ์ ๋ ธ
ใป
1
217
1
- ํด๊ฒฐ
๋๋ค ์บ์ฑ ์ง๋ฌธ
์๋ ํ์ธ์. 4-10 ๊ฐ์๋ฅผ ๋ณด๊ณ ์ง๋ฌธ๋๋ฆฝ๋๋ค.๋๋ค๋ stateless ๋ฐฉ์์ผ๋ก ์คํ๋๋ค๊ณ ์๊ณ ์์๋๋ฐ, ์ ์ญ ๋ณ์๊ฐ ์บ์ฑ์ด ๋๋ค๊ณ ์ค๋ช ํด์ฃผ์ ์ด์ ๋ ํด๋น ํ๋ก์ ํธ ๊ฐ์ ๊ฒฝ์ฐ ๋ชจ๋ ์๋์ด ๋ฐ์ํ ๋๋ง๋ค ์คํ๋๋, coldstart๊ฐ ๋ฐ์ํ์ง ์๋๋ค๋ผ๋
pythonawsTerraformdevsecopsํ๋น
ใป
1
204
1
- ํด๊ฒฐ
webhook ๋จ์
์๋ ํ์ธ์slack ๋ถ๋ถ ๊ตฌ์ฑ์ด ์ข ๊ถ๊ธํด์ ์ผ๋จ ํด๋น ๋ถ๋ถ ๊ฐ์๋ง ๋ดค๋๋ฐWebook ๋จ์ ์์ ์ค์ ๊ฐ์ฌ๋์ด ๋ง๋์ Alert์ด ์์๋ ์๊ธฐ๋ ๋ฒํผ ๋ฐ Log์ ๋ํ ์ฐ๋ ๋๋ฅผ ๋ฌ ์์๋ ๊ธฐ๋ฅ์ webhook์ผ๋ก ๋ถ๊ฐ๋ฅํ๋ค ํ์ จ๋๋ฐ์.
pythonawsTerraformdevsecopsgomadafter
ใป
1
240
1
- ํด๊ฒฐ
for_each ์ฌ์ฉ ์ key๋ฅผ ๊ฐ์ ธ์ค๋ ๊ธฐ์ค
์๋ ํ์ธ์key๋ก ๋ฆฌ์์ค ์ ๋ฌด๋ฅผ ํ๋จํ๋ ์ค๋ณต๋๋ฉด ์๋๋ค๊ณ ์๊ฐํด ํ ์คํธํด๋ณด๋ ค๊ณ ์ค๋ณต๋ key๋ฅผ ๋ฃ์ด์ฃผ๊ณ for_each๋ก ๊ฐ์ ธ์ค๋ ์์ key๋ฅผ ๊ฐ์ ธ์ค๋๊ฑฐ ๊ฐ์ง ์์์ ๋ณ๋ ๊ธฐ์ค์ด ์๋์ง ๊ทธ๋ฅ ๋๋ค์ธ์ง ๊ถ๊ธํ์ฌ ์ง๋ฌธ๋๋ฆฝ๋๋ค. <
pythonawsTerraformdevsecopsํ๋น
ใป
1
251
2
- ํด๊ฒฐ
ModuleNotFoundError: No module named 'pprint' ์๋ฌ
์๋ ํ์ธ์ํ์ด์ฌ ์ฌ์ฉ ์ค ์ ๋ชฉ๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ฐ, ๋ฐ๋ก ๊ฑด๋๋ฆฐ ์ค์ ๋ฑ์ ์์ต๋๋ค. ์๋ฌ๋ pip --version, python -m pip install --upgrade pip ๋ฑ์ ์ฌ์ฉํ ๋ ๋ฐ์ํ๊ณ ์ผ๋ฐ ํ์ด์ฌ ํ์ผ ์คํ
pythonawsTerraformdevsecopsํ๋น
ใป
1
250
1
- ํด๊ฒฐ
๋ชจ๋ vs ๋ฆฌ์์ค
์๋ ํ์ธ์์ฝ์์์ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋๊ฑด ์ต์ํ์ง๋ง, ํ ๋ผํผ์ ์ด์ ๋ง ์์ํ ๊ฒฝ์ฐ๋ผ๋ฉด 1, 2๋ฒ ์ค ์ด๋ค๊ฒ ๋ ํ ๋ผํผ ๋์ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๋ฉด์ ์ดํดํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค.๋ชจ๋ ์ฌ์ฉ์์ด ๊ฐ๊ฐ์ <a target="_blank"
pythonawsTerraformdevsecopsํ๋น
ใป
1
215
1
- ํด๊ฒฐ
s3 bucket ์์ฑ ์๋ฌ
์๋ ํ์ธ์ ๋๋ฌด ์ง๋ฌธ์ ์์ฃผ ์ฌ๋ฆฌ๋๊ฑฐ ๊ฐ์ ๋ฏผ๋งํ๋ค์ ใ ใ ..๊ฐ์ ์๊ฐ ์ค ๊ถ๊ธํ ์ ์ด ์์ด ์ง๋ฌธ๋๋ฆฝ๋๋ค. s3 ๋ฐฐํฌ ์ ์ ์ฝ์กฐ๊ฑด?๋ฉํฐ ํ๋ก๋ฐ์ด๋ ๋ถ๋ถ์์ s3 ๋ฐฐํฌ ์,
pythonawsTerraformdevsecopsํ๋น
ใป
1
316
1
- ํด๊ฒฐ
terraform import ๊ด๋ จ ์ง๋ฌธ
์๋ ํ์ธ์์ฝ์์์ ๋ฐฐํฌํ aws ๋ฆฌ์์ค๋ค์ ํ ๋ผํผ์ผ๋ก ๊ด๋ฆฌํ๋ ค๊ณ ํ๋ค๋ฉด, ๋ฐฐํฌ๋ ๋ชจ๋ ๋ฆฌ์์ค๋ค์ ํ๋์ฉ importํ ํ planํด๋ณด๋ฉด์ ๋ณ๊ฒฝ์ ์ ์ฐพ์ ์ฝ๋ํ์ํค๋ ๋ฐฉ๋ฒ๋ฐ์ ์์๊น์?๋ฆฌ์์ค๊ฐ ๋ง์ผ๋ฉด ์ด๋ฐ ์์ ๋ ๊ณต์๊ฐ ๊ฝค๋ ๋ค์ด๊ฐ ๊ฒ ๊ฐ์
pythonawsTerraformdevsecopsํ๋น
ใป
1
209
1
- ํด๊ฒฐ
generate expression ์ฌ์ฉ ์์
์๋ ํ์ธ์ 1.14 generator expression ๊ฐ์ ๋ด์ฉ ์ค์์ athena๋ก s3์ ์ ์ฅ๋ ๋ก๊ทธ๋ฅผ ์ฟผ๋ฆฌํ์ฌ ๋ก๊ทธ๋ฅผ ๊ธ์ด์จ๋ค๋ ์์์์ 2๊ฐ์ง ๊ถ๊ธ์ฆ์ด ์์ต๋๋ค. ์ํ ๋๋ก ๊ธ์ด์จ ๋ก๊ทธ์ ์ฉ๋์ด ํฐ ๊ฒฝ์ฐ,
pythonawsTerraformdevsecopsํ๋น
ใป
1
194
1
- ํด๊ฒฐ
boto3 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ ์ ์๋ฌ
์๋ ํ์ธ์ boto3 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ ๊ฐ์์์ importํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(boto3)์ ์คํํ๋ ํ์ด์ฌ ํ์ผ(<a target="_blank" rel="noopener noreferrer nofollow" href="
pythonawsTerraformdevsecopsํ๋น
ใป
1
248
1
- ํด๊ฒฐ
boto3 ์ฌ์ฉ์ ์์ฑ ์ง๋ฌธ์ ๋๋ค.
AWS์์ ๊ณ์ ์ ์์ฑํ๋ ค๊ณ ํ๋ฉด ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ฐ ์ด๋ค ๋ฌธ์ ์ผ๊น์? ์ก์ธ์คํค์ ๋น๋ฐํค๊น์ง ๋ชจ๋ ์ ์ฉ ๋์ด ์๋ ์ํ์ธ๋ฐ... ๊ฐ์ ์์๋ ๋ด์ฉ์ด ์๋๊ฑฐ ๊ฐ์ ๋ฌธ์๋๋ฆฝ๋๋ค. 4. ์์ฑํ ์ฝ๋๋ฅผ ๊ณต์ ํด์ฃผ์ธ์.
pythonawsTerraformdevsecops๊ตฌ์ด๊ณ ๊ตฌ๋ง
ใป
1
408
2
- ํด๊ฒฐ
pip๋ก ํจํค์ง๋ฅผ ์ค์นํ์์๋ import ์ค๋ฅ๊ฐ ๋ฉ๋๋ค. ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
๊ธฐ์กด ์ง๋ฌธ์ด ์ญ์ ๋์ด ํท๊ฐ๋ฆฌ์ค ๋ค๋ฅธ ๋ถ๋ค์ ์ํด ์๋ฌธ์๋ต ํํ๋ก ๋จ๊ฒจ๋ก๋๋ค.Python์ ๊ฒฝ์ฐ ์ด๋ ๊ณณ์์ ๋ค์ด๋ก๋ ๋ฐ๋๋์ ๋ฐ๋ผ ๋ค์ํ ๊ฒฝ๋ก์ ๋ค์ํ ๋ฒ์ ์ด ์๊ธธ ์ ์์ต๋๋ค. ์ฒจ๋ถํด์ฃผ
pythonawsTerraformdevsecops์ฒ๊ฐ๋ฏผ
ใป
0
660
1
- ํด๊ฒฐ
3.2. ์ ๋ฆฌ์์ค ๊ธฐ๋ฐ ์ ์ฑ ์ Deny๋ก ํด์ผ๋๋์? ๋ถ๋ถ์ด ์ ์ดํด๋์ง ์์ต๋๋ค.
3.2. ์ ๋ฆฌ์์ค ๊ธฐ๋ฐ ์ ์ฑ ์ Deny๋ก ํด์ผ๋๋์?์์ ๋์ผ๊ณ์ ์์ ๊ถํ์ ๋ถ์ฌํ๋ค๋ ๋ง์์ด ์ ํํ ์ด๋ค ๋ง์์ด์ ๊ฑด๊ฐ์? ๊ณ์ ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ b๋ผ๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ฌ์ฉ์ a์ b๋ฆฌ์์ค ๋ชจ๋ ์๋ก
pythonawsTerraformdevsecopsnameunskadms
ใป
1
370
2
- ํด๊ฒฐ
์ ์ํฉ์ ์ข ๋ ์์ธํ ์ ๊ฒ ์ต๋๋ค.
์๋์ฐ ํ๊ฒฝ์ ๋๋ค. C:\terraform\terraform.exeํ ๋ผํผ ํ์ผ์ ์ ํด๋์์์ต๋๋ค. <img src="https://cdn.inflearn.com/public/files/posts/8c77
pythonawsTerraformdevsecops072
ใป
0
585
1
- ํด๊ฒฐ
์์์ ์๋ฌด๋ฆฌ ์ฐพ์๋ด๋
ํ ๋ผํผ ํด๋ ๊ตฌ์ฑํ๋๊ฒ์ ๋ณด์ด์ง๊ฐ์๋ค์๊ฐ์ฌ๋์ VS๋ด์ ๋ณด์ด๋ Terraform ํด๋๋ ์ด๋์ ๋ํ๋๊ฑธ๊น์..
pythonawsTerraformdevsecops072
ใป
0
399
1






