๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿคท๐Ÿผ‍โ™€๏ธ Etc.../- linux, aws, docker, k8s39

[AWS IAM] S3์™€ CodeDeploy ๋ฅผ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•œ Travis CI ๋ฐฐํฌ ์ „์šฉ IAM ๊ณ„์ •๊ณผ ์—ญํ•  ๋งŒ๋“ค๊ธฐ. Travis CI๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” AWS๋ฅผ Travis์—๊ฒŒ ์ฅ์–ด์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” AWS IAM์ด๋ผ๋Š” ๊ฐœ๋…์ด ํ•„์š”ํ•˜๋‹ค. ๋งŒ์•ฝ IAM์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์•„์ง ์žกํ˜€์žˆ์ง€ ์•Š๋‹ค๋ฉด IAM์ด๋ž€?์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ˆœ์„œ Travis๊ฐ€ ๋ฐฐํฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐฐํฌ ์ „์šฉ IAM ๊ณ„์ •์„ ๋งŒ๋“œ๋Š” ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. AWS ๋กœ๊ทธ์ธ ๋ฐ IAM ๊ฒ€์ƒ‰ IAM ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ ์‚ฌ์šฉ์ž ์„ค์ • csv ํŒŒ์ผ ๋‹ค์šด AWS ๋กœ๊ทธ์ธ ๋ฐ IAM ๊ฒ€์ƒ‰ ์•„๋งˆ์กด์— ๋กœ๊ทธ์ธํ•œ ๋’ค, IAM ์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค. IAM ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ IAM์˜ ์•ก์„ธ์Šค ๊ด€๋ฆฌ ํƒญ์—์„œ ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ ํƒญ์„ ํด๋ฆญํ•œ๋‹ค. IAM ์‚ฌ์šฉ์ž ์„ค์ • ์‹๋ณ„ํ•˜๊ธฐ ์‰ฌ์šด ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๋„ฃ๊ณ , ๊ธฐ์กด์˜ ์ •์ฑ…์— 2๊ฐœ ์ •์ฑ…์„ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ๋ฐ, AmazonS3FullAccess AWSCodeDeployFullA.. 2020. 12. 6.
[Simple Storage Service] Travis CI์˜ ๋นŒ๋“œ ์ €์žฅ์†Œ๋กœ S3 ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ ์˜ค๋Š˜์€ S3๋ฅผ Travis CI์˜ ๋นŒ๋“œ ์ €์žฅ์†Œ๋กœ ๋งŒ๋“ค ๋ฒ„ํ‚ท์„ ๋งŒ๋“ค์–ด๋ณผ ๊ฒƒ์ด๋‹ค. ์ˆœ์„œ S3๋Š” ๋‹ค๋ฅธ Instance์™€๋Š” ๋‹ค๋ฅด๊ฒŒ Staticํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด์ฃผ๋Š” ๋‹จ์ˆœํ•œ ์ €์žฅ์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์กฐ๊ธˆ ๊ฐ„๋‹จํ•˜๋‹ค. ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์•„๋งˆ์กด์— ๋กœ๊ทธ์ธ ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ ๋ฒ„ํ‚ท ์ƒ์„ฑ ์•„๋งˆ์กด์— ๋กœ๊ทธ์ธํ•˜๊ณ  S3 ์„œ๋น„์Šค ๊ฒ€์ƒ‰ ์•„๋งˆ์กด์— ๋กœ๊ทธ์ธํ•˜๊ณ  S3๋ฅผ ์„œ๋น„์Šค์—์„œ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ ํด๋ฆญ ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฒ„ํ‚ท์„ ๋งŒ๋“ค์–ด์ฃผ๋Š”๋ฐ, ๋ฆฌ์ „์„ ap-northeast-2 ๋ผ๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์ž. ๋ฒ„ํ‚ท ์ƒ์„ฑ ๋ฒ„ํ‚ท ์ด๋ฆ„์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ง€์ •ํ•ด์ฃผ๊ณ  ์•ž์„œ ๋ง ํ–ˆ๋˜๊ฒƒ ์ฒ˜๋Ÿผ ๋ฆฌ์ „์„ ap-northeast-2 ๋ผ๋Š” ๊ฒƒ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. ๋ฒ„ํ‚ท ์ƒ์„ฑ ์™„๋ฃŒ ๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํ‚ท ์ƒ์„ฑ์„ ๋ˆ„๋ฅด๋ฉด ๋ฒ„ํ‚ท ์ƒ์„ฑ์ด ์™„๋ฃŒ๋œ๋‹ค. ๋ฒ„์ „ ๊ด€๋ฆฌ๋‚˜ ๋น„๋ฐ€ ์•ก์„ธ.. 2020. 12. 6.
[AWS IAM] EC2์— ๋ฐฐํฌํ•  CodeDeploy๋ฅผ ์œ„ํ•œ IAM ์ƒ์„ฑ ๊ณผ์ • ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” EC2์— ์ง์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์„œ ๋นŒ๋“œ๋œ ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•  CodeDeploy์— ๋Œ€ํ•œ IAM์„ ์ƒ์„ฑํ•ด๋ณด์ž. ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. AWS ์ฝ˜์†”์— ๋กœ๊ทธ์ธ IAM ์ฝ˜์†”๋กœ ์ด๋™ EC2 ์ ‘๊ทผํ•  IAM์˜ ์—ญํ•  ์„ ํƒ ๋ฐ ์—ญํ•  ์ƒ์„ฑ CodeDeploy์˜ IAM ์—ญํ•  ์„ ํƒ ๋ฐ ์ƒ์„ฑ aws ์— ๋กœ๊ทธ์ธ aws IAM ์œผ๋กœ ๊ฐ€๊ธฐ EC2์— ์ ‘๊ทผํ•  IAM์˜ ์—ญํ•  ์„ ํƒ ๋ฐ ์ƒ์„ฑ IAM์˜ ์—ญํ•  ์ƒ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ์—ญํ•  ๋งŒ๋“ค๊ธฐ ์„œ๋น„์Šค ์„ ํƒ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์„ ํƒ ์ •์ฑ… ์ถ”๊ฐ€ ํƒœ๊ทธ ์ถ”๊ฐ€ ์—ญํ•  ์ด๋ฆ„ ์ถ”๊ฐ€ ์—ญํ•  ๋งŒ๋“ค๊ธฐ ์—ญํ• ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ IAM์˜ ์•ก์„ธ์Šค ๊ด€๋ฆฌ ํƒญ ์•„๋ž˜์˜ ์—ญํ• ์„ ํด๋ฆญํ•œ๋‹ค. ์„œ๋น„์Šค ์„ ํƒ ์„œ๋น„์Šค์—์„œ๋Š” Default์ธ AWS ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•ด์ค€๋‹ค. ์‚ฌ์šฉ ์‚ฌ๋ก€ ์„ ํƒ ์‚ฌ์šฉ ์‚ฌ๋ก€๋กœ EC2๋ฅผ ํ—ˆ์šฉํ•ด์ฃผ๊ณ , ์ •์ฑ… ์ถ”๊ฐ€ ์ •์ฑ…์œผ๋กœ.. 2020. 12. 6.
[AWS-IAM] AWS์— ๋กœ๊ทธ์ธ ํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ์‹ (๋ฃจํŠธ ์‚ฌ์šฉ์ž์™€ IAM ์‚ฌ์šฉ์ž) AWS์˜ ๋กœ๊ทธ์ธ ๋ฐฉ์‹ AWS์—์„œ ๋กœ๊ทธ์ธ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด 2๊ฐ€์ง€์˜ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฃจํŠธ ์‚ฌ์šฉ์ž. IAM ์‚ฌ์šฉ์ž. ๋ฃจํŠธ ์‚ฌ์šฉ์ž ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‹ค์Šต ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•œ๋‹ค๊ฑฐ๋‚˜ ๊ฐœ์ธ ์„œ๋ฒ„๋ฅผ ์˜คํ”ˆ ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด AWS ํšŒ์›๊ฐ€์ž…์ด๋‚˜ ๋กœ๊ทธ์ธ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ AWS ๊ณ„์ •์œผ๋กœ ํšŒ์›๊ฐ€์ž…์ด๋‚˜ ๋กœ๊ทธ์ธ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ–๋Š” SSO(Single Sign In) ID๋กœ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๋ง์€ ์šฐ๋ฆฌ๊ฐ€ AWS์˜ ๋ชจ๋“  ์ž์›๊ณผ ๋ฆฌ์†Œ์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ๋˜๋ฉฐ, ๊ทธ ๋ง์€ ๋ชจ๋“  ์ž์›์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์†Œ๋ฆฌ์ด๋‹ค. ๋งŒ์•ฝ ์•…์˜์ ์ธ ๊ณต๊ฒฉ์ž์˜ ๊ณต๊ฒฉ์œผ๋กœ ์šฐ๋ฆฌ์˜ ๊ณ„์ •์ด ํƒˆ์ทจ๋œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ์•„๋งˆ ์•…์˜์ ์ธ ๊ณต๊ฒฉ์ž๋Š” ๋ˆ์„ ๋ฒŒ๊ธฐ ์œ„ํ•ด AWS์˜ ์•„์ฃผ ๋น„์‹ผ ์ปดํ“จํ„ฐ๋ฅผ ๊ตฌ๋งคํ•ด์„œ ์—„์ฒญ๋‚œ ๋น„ํŠธ์ฝ”์ธ ์ฑ„๊ตด๊ธฐ๋ฅผ ์„ค์น˜ํ•ด ์ฑ„๊ตด์„ ๋Œ๋ฆด ๊ฒƒ์ด๋‹ค... 2020. 12. 6.
[Travis CI] Travis ๋ง›๋ณด๊ธฐ (2) Travis์™€ Github๋ฅผ ์—ฐ๋™ํ•˜๊ณ  CI ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋ฉด ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ ๊นŒ? ์ด ๊ธ€์€ Travis CI ๋ง›๋ณด๊ธฐ ์‹œ๋ฆฌ์ฆˆ์˜ 2๋ถ€์ž‘์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Travis-CI ์— ๊ฐ€์ž…ํ•˜๊ณ  Github Repo์™€ ์—ฐ๋™ํ•˜๊ณ  CI๋ฅผ ๋ง›๋ณด์ž. Travis์™€ Github๋ฅผ ์—ฐ๋™ํ•˜๊ณ  CI ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋ฉด ๋‘˜ ์‚ฌ์ด์— ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ ๊นŒ? ์„œ๋กœ ๋‚ด์šฉ์„ ๋ณด์™„ํ•˜๊ณ  ์žˆ๋Š” ๊ด€๊ณ„์ด๋ฏ€๋กœ ํ•œ ๋ฒˆ ํ•ด๋‹น ํฌ์ŠคํŒ…์œผ๋กœ ๊ฐ€์„œ ๊ฐ€๋ฒผ์šด ๋งˆ์Œ์œผ๋กœ ์ฝ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ฃผ์˜! ์ด ๊ธ€์€ ์ „ ๊ธ€๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ์ง€๋‚œ ์‹œ๊ฐ„์— ์šฐ๋ฆฌ๋Š” ๋งŽ์€ ๊ฒƒ์„ ํ–ˆ๋‹ค. Travis CI์— ๊ฐ€์ž…๋„ ํ•˜๊ณ  ,Github Repo์™€ ์—ฐ๋™๋„ ํ•˜๋ฉฐ ์ง์ ‘ .travis.yml์„ ์ž‘์„ฑํ•ด CI๋ฅผ ๊ตฌ์ถ•์„ ๋ง›๋ณด๊ธฐ๋„ ํ–ˆ๋‹ค. ์˜ค๋Š˜์€ ์šฐ๋ฆฌ๊ฐ€ ์ง€๋‚œ ์‹œ๊ฐ„๊ณผ ๊ฐ™์€ ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด travis๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ค์ผ๋“ค์ด ์ผ์–ด๋‚˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž. ์šฐ์„  Travis CI์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„๋ณด์ž.. 2020. 12. 6.
[Travic CI] Travis ๋ง›๋ณด๊ธฐ (1) Travis-CI ์™€ Github Repo์™€ ์—ฐ๋™ํ•˜๊ธฐ ์ด ๊ธ€์€ Travis CI ๋ง›๋ณด๊ธฐ ์‹œ๋ฆฌ์ฆˆ์˜ 2๋ถ€์ž‘์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Travis-CI ์— ๊ฐ€์ž…ํ•˜๊ณ  Github Repo์™€ ์—ฐ๋™ํ•˜๊ณ  CI๋ฅผ ๋ง›๋ณด์ž. Travis์™€ Github๋ฅผ ์—ฐ๋™ํ•˜๊ณ  CI ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋ฉด ๋‘˜ ์‚ฌ์ด์— ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ ๊นŒ? ์„œ๋กœ ๋‚ด์šฉ์„ ๋ณด์™„ํ•˜๊ณ  ์žˆ๋Š” ๊ด€๊ณ„์ด๋ฏ€๋กœ ํ•œ ๋ฒˆ ํ•ด๋‹น ํฌ์ŠคํŒ…์œผ๋กœ ๊ฐ€์„œ ๊ฐ€๋ฒผ์šด ๋งˆ์Œ์œผ๋กœ ์ฝ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Travis CI ์— ๋Œ€ํ•ด ๊ฐ€๋ณ๊ฒŒ ์‹ค์Šตํ•ด๋ณด๋ฉฐ ๊ฐ์„ ์ตํ˜€๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ณ ์ž ํ•œ๋‹ค. ์‚ฌ์‹ค ์ด๋ก  ์„ค๋ช…์„ ๋จผ์ € ํ•˜๊ณ  ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๊ณ  ํ•„์ž๊ฐ€ ์ข‹์•„ํ•˜์ง€๋งŒ, ํ•ด๋‹น ํ•™์Šต์€ ํŠน๋ณ„ํ•˜๊ฒŒ ๋จผ์ € ์‹ค์Šต์„ ํ•˜๋Š” ๊ฒƒ์ด ์˜คํžˆ๋ ค ๋” ์ข‹๊ฒ ๋‹ค ์‹ถ์€ ๋งˆ์Œ์— ๋จผ์ € ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๊ณ  ๋’ค์— ์„ค๋ช…์„ ํ•œ๋‹ค. ๋จผ์ € ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋Œ€์ถฉ ์–ด๋–ค ๋Š๋‚Œ์ธ์ง€๋งŒ ๊ฐ์„ ์žก๊ณ  ๋’ค์—์„œ๋Š” ์–ด๋–ค ์ผ์ด ์ผ.. 2020. 12. 6.