AWS

GreenBeanยท2022๋…„ 3์›” 31์ผ
0
post-thumbnail

CodeDeploy

CodeDeploy๋ž€?

  • CodeDeploy๋Š” EC2, Lambda, On-Premise ๋“ฑ ๋‹ค์–‘ํ•œ ์ปดํ“จํŒ… ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ์™„์ „ ๊ด€๋ฆฌํ˜• ๋ฐฐํฌ ์„œ๋น„์Šค
    • AWS์—์„œ ์™„์ „ํžˆ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ ์†ํ•˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅ
    • ๋˜ํ•œ ๋ฐฐํฌ ๋ฐฉ์‹๋„ ๋‹ค์–‘ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๋ฐฐํฌ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์™„์ „ํžˆ ๋‹ค์šด๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ตœ์†Œํ•œ์˜ ๊ตฌ๋™๋˜๊ณ  ์žˆ์–ด์•ผ ํ•  ์ธ์Šคํ„ด์Šค ํผ์„ผํŠธ๋ฅผ ์ •์˜ํ•œ๋‹ค๊ฑฐ๋‚˜ Blue/Green Deployment๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋“ฑ์˜ ๊ณผ์ •์œผ๋กœ ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Œ
  • CodeDeploy๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์ธํ”„๋ผ๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•ด์•ผ ํ•จ
    • Deployment์—์„œ ์ธํ”„๋ผ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ์ง€๋Š” ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋””์— ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•  ๊ฒƒ์ธ์ง€, ์–ด๋–ค ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•  ๊ฒƒ์ธ์ง€ ๋“ฑ์„ ์ •ํ•˜์—ฌ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด๋‘์–ด์•ผ ํ•จ
    • ๊ทธ ํ›„ ๋ฐฐํฌํ•˜๊ณ ์ž ํ•˜๋Š” ํ™˜๊ฒฝ์— CodeDeploy Agent๋ฅผ ์„ค์น˜
    • ์„ค์น˜๋œ Agent๊ฐ€ ์ง€์†์ ์œผ๋กœ CodeDeploy๋ฅผ ํด๋งํ•˜๋ฉด์„œ ์ƒˆ๋กœ ๋ฐฐํฌํ•ด์•ผ ํ•  ์ •๋ณด๋“ค์„ ๋ฐ›์•„์˜ด
    • ๊ทธ ํ›„ ๋ฐฐํฌํ•  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฝ”๋“œ์™€ appspec.yml ์„ Github์— ํ˜น์€ S3์— ์—…๋กœ๋“œ
  • ์—ฌ๊ธฐ๊นŒ์ง€ Deployment๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์„ค์ •์ด ๋๋‚ฌ๋‹ค๋ฉด CodeDeploy Application์„ ์ƒ์„ฑ
    • ๋ฐฐํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋ฐฐํฌ ๊ทธ๋ฃน์„ ์„ค์ •ํ•˜๊ณ  ์•ž์—์„œ ํ”„๋กœ๋น„์ €๋‹ํ•œ ์ธํ”„๋ผ๋ฅผ ์ง€์ •
    • ๋ฐฐํฌ ์ƒ์„ฑ ํ›„ Deploy๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ •์˜ํ•œ appspec.yml์— ๋”ฐ๋ผ ๋™์ž‘ํ•˜๋ฉฐ ๋ฐฐํฌ
  • ๋ฐฐํฌ ๊ทธ๋ฃน์„ ์„ค์ •ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ํƒœ๊ทธ ๋“ฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Œ
    • ์—ฌ๊ธฐ์„œ CodeDeploy์˜ ํฐ ์žฅ์ ์ด ๋“ฑ์žฅ
    • ์ธ์Šคํ„ด์Šค๋งˆ๋‹ค Test, Prod, Dev ๋“ฑ ๋‹ค์–‘ํ•œ ํƒœ๊ทธ๋ฅผ ์„ค์ •ํ•ด๋†“์€ ํ›„ ๊ฐ ํƒœ๊ทธ๋ณ„๋กœ ๋ฐฐํฌ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•˜๋ฉด ๊ฐ ์šฉ๋„์— ๋งž๋Š” ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ
      • ์ฆ‰, ์ธ์Šคํ„ด์Šค๋ฅผ ํƒœ๊ทธ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ ๊ทธ๋ฃน์— ๋งž๋Š” ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ๋”ฐ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ
        • ์˜ˆ๋ฅผ ๋“ค์–ด Dev์˜ ๊ฒฝ์šฐ ๋น ๋ฅด๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ๋™์ž‘ ํ™•์ธ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑํ•˜์˜€์œผ๋ฏ€๋กœ ์‹ค์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ธ์Šคํ„ด์Šค๊ฐ€ ์ž ์‹œ ๋ชจ๋‘ ๋‹ค์šด๋˜์–ด๋„ ๊ดœ์ฐฎ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๋ฅผ ํ•œ๋ฒˆ์— ๋ฐฐํฌํ•˜๋Š” AllatOnce๋กœ ์„ ํƒํ•˜์—ฌ ํ•œ๋ฒˆ์— ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค์ •
        • ๋ฐ˜๋ฉด Prod์˜ ๊ฒฝ์šฐ ์‹ค์ œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต๋˜๋Š” ๋ฐฐํฌ ํ™˜๊ฒฝ์œผ๋กœ, ๋Š๊น€์—†์ด ์ง€์†๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ์Šคํ„ด์Šค๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฐฐํฌํ•˜์—ฌ ์•ˆ์ •์ ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” OneatOnce๋กœ ์„ ํƒ
      • ์ด ์™ธ์—๋„ ์›ํ•˜๋Š” ๋งŒํผ ์ธ์Šคํ„ด์Šค๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๋“ฑ ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ๋„ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅ
  • CodeDeploy ์—ญ์‹œ CloudWatch์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • Logs์˜ ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค์— CloudWatch Log Agent๋ฅผ ์ถ”๊ฐ€๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๋ฉฐ ๋กœ๊ทธ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฐฐํฌ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•œ ์•Œ๋žŒ์ด ์šธ๋ฆฌ๋Š” ๊ฒฝ์šฐ rollback ๊ธฐ๋Šฅ๋„ ์ง€์›
    • ์ƒˆ๋กœ ๋ฐฐํฌํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„์–˜ ์‹œ์ž‘ ์ž์ฒด๊ฐ€ ์•ˆ๋˜๊ฑฐ๋‚˜ ๊ธ‰๊ฒฉํžˆ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์ด ๋งŽ์•„์ง€๋Š” ๋“ฑ ๋ฌธ์ œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์„ ์‹œ ์•ˆ์ •์ ์ธ ๋ฒ„์ „์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์‹œ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ๋กค๋ฐฑํ•จ

Tip! CodeDeploy์˜ ํŠน์ง•

  • AWS๋Š” CodeDeploy๋ฅผ ํ†ตํ•ด CD(Continous Delivery)๋ฅผ ์ง„ํ–‰
  • CodeDeploy๋Š” Revision(code, dependencies, packages ๋“ฑ ํ•„์š”ํ•œ ํŒŒ์ผ๋“ค๊ณผ appspec.yml)์ด ๋กœ์ปฌ์—์„œ S3 Bucket, Github ๋“ฑ์œผ๋กœ ์—…๋กœ๋“œ ๋  ๋•Œ ์‹คํ–‰๋˜์–ด EC2 ์ธ์Šคํ„ด์Šค ๋˜๋Š” auto-scaling group์— ๋ฐฐํฌ
    • appspec.yml์€ OS, files, permisson ๊ทธ๋ฆฌ๊ณ  hooks์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ํŒŒ์ผ
    • appspec.yml์€ CodeDeploy Agent์—๊ฒŒ ๋ฐฐํฌ ๋˜๋Š” ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ํŒŒ์ผ๋“ค์˜ ์ˆœ์„œ์™€ ๊ฒฝ๋กœ๋ฅผ ์•Œ๋ ค์ฃผ๋Š”๋ฐ, ์ด ๋•Œ ๋ชจ๋“  EC2 ์ธ์Šคํ„ด์Šค์—๋Š” appspec.yml ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” Agent๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผํ•จ

CodeDeploy ์ปดํ“จํŒ… ํ”Œ๋žซํผ ๊ฐœ์š”

  • CodeDeploy๋Š” ์„ธ ๊ฐ€์ง€ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Œ

EC2/์˜จํ”„๋ ˆ๋ฏธ์Šค

  • ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์„ค๋ช…
    • Amazon EC2 ํด๋ผ์šฐ๋“œ ์ธ์Šคํ„ด์Šค๋‚˜ ์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„ ๋˜๋Š” ๋‘˜ ๋‹ค์ผ ์ˆ˜ ์žˆ์Œ
  • EC2/์˜จํ”„๋ ˆ๋ฏธ์Šค ์ปดํ“จํŒ… ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๊ตฌ์„ฑ ํŒŒ์ผ, ์ด๋ฏธ์ง€ ๋ฐ ๊ธฐํƒ€ ํ•ญ๋ชฉ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์Œ
  • EC2/์˜จํ”„๋ ˆ๋ฏธ์Šค ์ปดํ“จํŒ… ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฐํฌ์—์„œ๋Š” ์ธ ํ”Œ๋ ˆ์ด์Šค ๋˜๋Š” ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋กœ ํŠธ๋ž˜ํ”ฝ์ด ์ „์†ก๋˜๋Š” ๋ฐฉ์‹์„ ๊ด€๋ฆฌ

AWS Lambda

  • ์—…๋ฐ์ดํŠธ ๋ฒ„์ „์˜ Lambda ํ•จ์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
    • AWS Lambda๋Š” ๊ณ ๊ฐ€์šฉ์„ฑ ์ปดํ“จํŒ… ๊ตฌ์กฐ์˜ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ Lambda ํ•จ์ˆ˜๋ฅผ ๊ด€๋ฆฌ
    • ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ด€๋ฆฌ๋Š” AWS Lambda๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰
  • ์นด๋‚˜๋ฆฌ(Canary), ์„ ํ˜•(Linear) ๋˜๋Š” ํ•œ ๋ฒˆ์— ๋ชจ๋‘(All-at-once) ๊ตฌ์„ฑ์„ ์„ ํƒํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋œ Lambda ํ•จ์ˆ˜ ๋ฒ„์ „์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

Amazon ECS

  • Amazon ECS ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์—… ์„ธํŠธ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
    • CodeDeploy๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์—…๋ฐ์ดํŠธ ๋ฒ„์ „์„ ์ƒˆ๋กœ์šด ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ๋กœ ์„ค์น˜ํ•˜์—ฌ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ๋ฅผ ์ˆ˜ํ–‰
    • CodeDeploy๋Š” ํ”„๋กœ๋•์…˜ ํŠธ๋ž˜ํ”ฝ์„ ์›๋ž˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์—… ์„ธํŠธ์—์„œ ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ๋กœ ๋‹ค์‹œ ๋ผ์šฐํŒ…
    • ๋ฐฐํฌ๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ๊ธฐ์กด ์ž‘์—… ์„ธํŠธ๋Š” ์ข…๋ฃŒ
  • ์นด๋‚˜๋ฆฌ(Canary), ์„ ํ˜•(Linear) ๋˜๋Š” ํ•œ๋ฒˆ์— ๋ชจ๋‘(All-at-once) ๊ตฌ์„ฑ์„ ์„ ํƒํ•˜์—ฌ ๋ฐฐํฌ ์ค‘ ์—…๋ฐ์ดํŠธ๋œ ์ž‘์—… ์„ธํŠธ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

CodeDeploy ๋™์ž‘ ๊ตฌ์กฐ

  • โ‘  ์†Œ์Šค ์ฝ”๋“œ์™€ appspec.yml์„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํ‘ธ์‹œ
  • โ‘ก deployment๋ฅผ ํŠธ๋ฆฌ๊ฑฐ
  • โ‘ข CodeDeploy๋ฅผ ํด๋ง ํ•˜๊ณ ์žˆ๋˜ EC2 ์ธ์Šคํ„ด์Šค๋Š” ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ํ™•์ธ
  • โ‘ฃ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์†Œ์Šค ์ฝ”๋“œ์™€ appspec.yml์„ ๋ฐ›์•„์™€ deployment ๋ช…๋ น์„ ์ˆ˜ํ–‰

appspec.yml

# EC2/์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐฐํฌ์šฉ AppSpec ํŒŒ์ผ ์˜ˆ์ œ
version: 0.0
os: linux
files:
  - source: Config/config.txt
    destination: /webapps/Config
  - source: source
    destination: /webapps/myApp
hooks:
  BeforeInstall:
    - location: Scripts/UnzipResourceBundle.sh
    - location: Scripts/UnzipDataBundle.sh
  AfterInstall:
    - location: Scripts/RunResourceTests.sh
      timeout: 180
  ApplicationStart:
    - location: Scripts/RunFunctionalTests.sh
      timeout: 3600
  ValidateService:
    - location: Scripts/MonitorService.sh
      timeout: 3600
      runas: codedeployuser
  • Deployment ๋ช…๋ น์–ด์— ํ•ด๋‹นํ•˜๋Š” appspec.yml ํŒŒ์ผ ํ˜•ํƒœ๋Š” ์œ„์™€ ๊ฐ™์Œ
    • ๋ฐฐํฌํ•  ์†Œ์Šค ์ฝ”๋“œ์˜ ์œ„์น˜์™€ ์ƒˆ๋กœ ์ €์žฅ ํ•  ์œ„์น˜๋ฅผ ์ง€์ •ํ•œ ํ›„ hooks์„ ์ง€์ •
      • hooks์€ ๋ฐฐํฌ ๊ณผ์ • ๋‹จ๊ณ„์—์„œ ๊ฐ๊ฐ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋ช…๋ น์–ด๋“ค์„ ์ •์˜ํ•œ ๊ฒƒ
      • ๋ณดํ†ต ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ •์˜ํ•˜๋ฉฐ ๋‹น์—ฐํžˆ ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋„ ํ•จ๊ป˜ S3 ํ˜น์€ Github์— ์กด์žฌ ํ•ด์•ผํ•จ
      • ๊ฐ๊ฐ์˜ hooks ๋‹จ๊ณ„์—์„œ ์ •์˜ํ•ด์•ผ ํ•  ๋™์ž‘์€ ์•„๋ž˜์™€ ๊ฐ™์Œ

  • BeforeInstall
    • ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์ „์— ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ด ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ
    • ๋Œ€์ƒ ๊ทธ๋ฃน ํ•˜๋‚˜๊ฐ€ ์›๋ž˜ ์ž‘์—… ์„ธํŠธ์™€ ์—ฐ๊ฒฐ
    • ํ…Œ์ŠคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ ์›๋ž˜ ์ž‘์—… ์„ธํŠธ์™€ ์—ฐ๊ฒฐ
    • ์ด ์‹œ์ ์—์„œ๋Š” ๋กค๋ฐฑ์ด ๋ถˆ๊ฐ€๋Šฅ
  • AfterInstall
    • ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๋Œ€์ƒ ๊ทธ๋ฃน ์ค‘ ํ•˜๋‚˜๊ฐ€ ์—ฐ๊ฒฐ๋œ ํ›„ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋ฉด ์ด ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ
    • ํ…Œ์ŠคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ ์›๋ž˜ ์ž‘์—… ์„ธํŠธ์™€ ์—ฐ๊ฒฐ
    • ์ด ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ด๋ฒคํŠธ์—์„œ ํ›„ํฌ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋Š” ๋กค๋ฐฑ์„ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ
  • AfterAllowTestTraffic
    • ํ…Œ์ŠคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ์— ํŠธ๋ž˜ํ”ฝ์„ ์ œ๊ณตํ•œ ํ›„ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ด ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ
    • ์ด ์‹œ์ ์—์„œ ํ›„ํฌ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋Š” ๋กค๋ฐฑ์„ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ
  • BeforeAllowTraffic
    • ๋‘ ๋ฒˆ์งธ ๋Œ€์ƒ ๊ทธ๋ฃน์ด ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ์™€ ์—ฐ๊ฒฐ๋œ ํ›„ ํŠธ๋ž˜ํ”ฝ์ด ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ๋กœ ์ „ํ™˜๋˜๊ธฐ ์ „์— ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ด ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ
    • ์ด ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ด๋ฒคํŠธ์—์„œ ํ›„ํฌ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋Š” ๋กค๋ฐฑ์„ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ
  • AfterAllowTraffic
    • ๋‘ ๋ฒˆ์งธ ๋Œ€์ƒ ๊ทธ๋ฃน์ด ๋Œ€์ฒด ์ž‘์—… ์„ธํŠธ์— ํŠธ๋ž˜ํ”ฝ์„ ์ œ๊ณตํ•œ ํ›„ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ด ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ
    • ์ด ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ด๋ฒคํŠธ์—์„œ ํ›„ํฌ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋Š” ๋กค๋ฐฑ์„ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ
profile
๐ŸŒฑ Backend-Dev | hwaya2828@gmail.com

0๊ฐœ์˜ ๋Œ“๊ธ€