Amazon Web Services ํ๊ตญ ๋ธ๋ก๊ทธ
AWS Well-Architected Framework ํ๊ตญ์ด ๋ฐฑ์ ๊ณต๊ฐ
์ฌ๋ฌ๋ถ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋ผ์ฐ๋ ๋ด์์ ํ๋ฅญํ ๊ตฌ์กฐ๋ก ์ค๊ณ(Well-Architected)ํ์ฌ ๊ทธ ์์ฑ๋๋ฅผ ๋ํ ์ ์๋๋ก ์ ์ฒ๊ฐ์ ๊ณ ๊ฐ์ฌ์ ํ๋ ฅ๊ณผ AWS ์๋ฃจ์ ์ฆ ์ํคํ ํธ๋ฅผ ํตํด ํด๋ผ์ฐ๋ ์์คํ ์ค๊ณ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก ๋ฐ ํต์ฌ ์ ๋ต์ AWS Well-Architected Framework์ผ๋ก ์ ๋ฆฌํ ๋ฐ ์์ต๋๋ค.
์ด๋ฒ์ ํ๊ตญ ๊ณ ๊ฐ์ ์ํด AWS Well-Architected Framework ํ๊ตญ์ด ๊ธฐ์ ๋ฐฑ์(PDF ๋ฒ์ )๋ฅผ ๊ณต๊ฐํฉ๋๋ค.
์ด ๋ฌธ์์์๋ ์ข์ ์ค๊ณ๋ฅผ ์ํ ๋ช ๊ฐ์ง ์ง๋ฌธ์ ํฌํจํ๊ณ ์์ต๋๋ค. ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ์ํคํ ์ฒ๋ฅผ ๋น๊ตํ์ฌ, ๋จ์ ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค. AWS Well-Architected๋ ๋ณด์์ฑ, ์ ๋ขฐ์ฑ ๋ฐ ์ฑ๋ฅ ํจ์จ, ๋น์ฉ ์ต์ ํ ๋ฑ ๋ค ๊ฐ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๋ํ, ์ง๋ AWS Cloud 2016 ํ์ฌ์์๋ ์์น๋ AWS ์๋ฃจ์ ์ฆ ์ํคํ ํธ๊ป์ AWS Well-Architected Framework์ ๋ํ ๊ฐ์ฐ์ ์งํํ์์ต๋๋ค.
์ต๊ณ ์ ํด๋ผ์ฐ๋ ์ํคํ ์ณ ๊ตฌ์ฑ์ ๋ํ ๋น๋ฒ๋ ์ป์ผ์๊ณ , ์ฌ๋ฌ๋ถ์ ํ์ฌ ์ํคํ ์ณ์ ๋ํด ๋๋์ ๋ณด๊ณ , ๊ฐ์ ํ ์ฌํญ์ ํ์ธํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
โ AWS์ฝ๋ฆฌ์ ๋ง์ผํ ํ
AWS ๋ณด์ ๊ธฐ์ ๋ฐฑ์ ํ๊ตญ์ด ๋ฒ์ ๋๊ฑฐ ๊ณต๊ฐ
์๋ง์กด ์น ์๋น์ค์์๋ 2016๋ 1์ ์์ธ ๋ฆฌ์ ๊ฐ์ค ์ดํ ํ๊ตญ ๊ณ ๊ฐ๋ค์ ํด๋ผ์ฐ๋ ๋ณด์๊ณผ ๊ด๋ จํ ๋ค์ํ ์ ๋ณด์ ๋ํ ์๊ตฌ์ ํผ๋๋ฐฑ์ ๋ฐ์์์ต๋๋ค.
์ด๋ฏธ ๊ธ๋ก๋ฒ ๋ฌธ์๋ก ์์ด๋ก ์ ๊ณต ์ค์ธ ๋ค์ํ ๊ธฐ์ ๋ฐฑ์ ์ค์ ํน๋ณํ ๋ณด์ ๋ถ์ผ ๋ฐฑ์๋ฅผ ์์ ํ ํ๊ตญ์ด ์์ ์ ์งํํ์ฌ, ์๋์ ๊ฐ์ด ๋ค์์ ์ ๊ท ๋ณด์ ๊ธฐ์ ๋ฐฑ์๋ฅผ ๊ณต์ ํ ์ ์๊ฒ ๋์์ต๋๋ค.

์๋ ๋ณด์ ๊ธฐ์ ๋ฐฑ์๋ฅผ ํตํด ๊ณ ๊ฐ๋ค์ด AWS ํด๋ผ์ฐ๋ ๋ณด์์ ๋ํ ์ดํด๋๋ฅผ ๋์ด๋ ๋ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ฃผ๋ณ์ ๋ง์ ๋ถ๋ค์๊ฒ ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. (์๋ ๋งํฌ๋ฅผ ๋๋ฅด์๋ฉด, PDF ๋ฒ์ ์ผ๋ก ๋ค์ด๋ก๋ ๊ฐ๋ฅํฉ๋๋ค.)
์ ๊ท ํ๊ตญ์ด ๋ณด์ ๊ธฐ์ ๋ฐฑ์
- ๊ท๋ชจ๋ณ ๋ณด์: AWS ๊ธฐ๋ฐ ๊ฑฐ๋ฒ๋์ค โจโจโจโจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ AWS๋ก ์ํฌ๋ก๋๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ ๋ ์์ฃผ ๊ฐ๊ณผ๋๋ ์ฅ์ ์ ์ ๊ณต๋๋ ๋ง์ ๊ฑฐ๋ฒ๋์ค ํ์ฑ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๊ท๋ชจ์ ๋ง๋ ๋์ฑ ๋์ ๋ณด์ ์์ค์ ๋ฌ์ฑํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด ๋ฌธ์์์๋ AWS๋ฅผ ์ฌ์ฉํ์ฌ IT ๋ฆฌ์์ค์ ๋ํด ๋์ ์์ค์ ๊ฑฐ๋ฒ๋์ค๋ฅผ ๋ฌ์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
- ๊ท๋ชจ๋ณ ๋ณด์: AWS์์ ๋ก๊น ํ๊ธฐ โจโจโจโจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ ๋ก๊น ๊ณผ ๊ด๋ จ๋ ์ผ๋ฐ์ ์ธ ๊ท์ ์ค์ ์๊ตฌ ์ฌํญ์ ๊ฐ์ ๋ฐ AWS CloudTrail์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค. AWS CloudTrail์ ๋ณด์ ๋ฐ ์ด์ ๊ด์ ์์ ๋งค์ฐ ์ ์ฉํ ์ผ๋ฐ ๋ก๊น ๋๋ฉ์ธ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- Securing Data at Rest with Encryption(์ ์ฅ ๋ฐ์ดํฐ ์ํธํ)โจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ AWS ์๋น์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ํธํํ ์ ์๋ ์ต์ ์ ๋ํด ๊ฐ๊ด์ ์ผ๋ก ์ค๋ช ํ๊ณ ์ํธํ ํค๊ฐ ์ ์ฅ๋๋ ์์น์ ์ํธํ ํค์ ๋ํ ์ก์ธ์ค ์ ์ด ๋ฐฉ๋ฒ์ ๊ด์ ์์ ์ด๋ฌํ ์ต์ ์ ์ค๋ช ํฉ๋๋ค. ์๋ฒ ์ธก ์ํธํ ๋ฐฉ๋ฒ๊ณผ ํด๋ผ์ด์ธํธ ์ธก ์ํธํ ๋ฐฉ๋ฒ์ ๋ค์ํ AWS ์๋น์ค์์ ์ด๋ฌํ ์ํธํ๋ฅผ ์ํํ๋ ๊ฐ๋ณ์ ์ธ ์๋ฅผ ํตํด ์ค๋ช ํฉ๋๋ค.
- AWS ์ฌ์ฉ์ ์ํ ๊ฐ์ฌ ๋ณด์ ์ฒดํฌ๋ฆฌ์คํธโจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ AWS ๊ณ ๊ฐ์ ๋ด๋ถ ๊ท์ ์ค์ ํ๊ณผ ์ด๋ฌํ ํ์ ์ธ๋ถ ๊ฐ์ฌ์ ๊ทธ๋ฆฌ๊ณ ๋ด๋ถ ๊ฒํ ๋๋ ์ธ๋ถ ๊ฐ์ฌ๋ฅผ ์ํด AWS ์ฌ์ฉ์ ํ๊ฐ ๋๋ ๊ฐ์ฌํ๋ ๋ด๋น์๋ฅผ ๋์์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๋ํ ์ฐ์ ๋๋ ๊ท์ ํ์ค์์ ์๊ตฌํ ์ ์๋, ์กฐ์ง์ AWS ์ฌ์ฉ์ ๋ํ ๋ณด์ ํ๊ฐ๋ฅผ ์ค๊ณํ๊ณ ์คํํ๋ ๋ฐ ์ ์ฉํ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์ ์ค๋น ์ํ ํ๊ฐ์ ์ ์ฉํ ์ด์ ๋ฐ ์ํคํ ์ฒ ์ง์นจ์ ์ ๊ณตํ๋ ์ด์ ์ฒดํฌ๋ฆฌ์คํธ ๋ฐฑ์๋ฅผ ๋ฐํ์ผ๋ก ์์ฑ๋์์ต๋๋ค.โจ
- AWS Security by Design ์๊ฐ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ ๊ณ ๊ฐ์ด AWS ๊ณ์ ์ค๊ณ๋ฅผ ์ ํํํ๊ณ , ๋ณด์ ์ ์ด๋ฅผ ์๋ํํ๊ณ , ๊ฐ์ฌ๋ฅผ ๊ฐ์ํํ๋๋ก ํด์ฃผ๋ ๋ณด์ ๋ณด์ฅ ์ ๊ทผ๋ฒ์ ๋๋ค. ๋ณธ ๋ฐฑ์์์๋ Security by Design์ ๊ฐ๋ ์ ์ค๋ช ํ๊ณ , ์ฌ๋ฌ ์ฐ์ ๊ณ์ ๋๊ท๋ชจ์ ๋ณด์ ๋ฐ ๊ท์ ์ค์๋ฅผ ์ ์งํ๊ธฐ ์ํ 4๋จ๊ณ ์ ๊ทผ๋ฒ์ ์๊ฐํ๋ฉฐ, AWS ๊ณ ๊ฐ์ด AWS ํ๊ฒฝ์ ๋ณด์์ ์ ์ฉํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ฆฌ์์ค์ ๋ํด ์์๋ณด๊ณ , ์ ์ด๊ฐ ์๋ ์ค์ธ์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํฉ๋๋ค.
์ด์ธ, ๊ธฐ์กด์ ์๋ ๋ณด์ ๋ฐ ์ปดํ๋ผ์ด์ธ์ค ๊ด๋ จ ๋ฐฑ์์ ๋ชฉ๋ก๋ ์ถ๊ฐํฉ๋๋ค.
๊ธฐ์กด ํ๊ตญ์ด ๋ณด์ ๊ธฐ์ ๋ฐฑ์
- AWS Security Best Practices(AWS ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก)โจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ Information Security Management System(ISMS)๋ฅผ ์ ์ํ๊ณ ์กฐ์ง์ ๋ณด์ ์ ์ฑ ๋ฐ ํ๋ก์ธ์ค ์ธํธ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ด ๋๋ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํ๋ฏ๋ก AWS ํด๋ผ์ฐ๋์ ์๋ ๋ฐ์ดํฐ ๋ฐ ์์ฐ์ ๋ณดํธํ ์ ์์ต๋๋ค. ๋ํ AWS์ ์์ฐ์ ํ์ธ, ๋ถ๋ฅ ๋ฐ ๋ณดํธํ๊ณ ๊ณ์ , ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน์ ์ฌ์ฉํ AWS ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ ๋ฐ ํด๋ผ์ฐ๋์์ ๋ฐ์ดํฐ, ์ด์ ์ฒด์ , ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์ ๋ฐ์ ์ธ ์ธํ๋ผ๋ฅผ ๋ณด์ ์กฐ์นํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ ๋ฑ ๋ค์ํ ๋ณด์ ์ฃผ์ ์ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- AWS Risk and Compliance(Amazon Web Services: ์ํ ๋ฐ ๊ท์ ์ค์)โจโจโจโจโจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ AWS ๊ณ ๊ฐ์ด IT ํ๊ฒฝ์ ์ง์ํ๋ ๊ธฐ์กด์ ์ ์ด ํ๋ ์์ํฌ์ AWS๋ฅผ ํตํฉํ๋ ๋ฐ ๋์์ด ๋ ๋งํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์์ฑ๋์์ต๋๋ค. ์ด ๋ฌธ์๋ AWS ์ปจํธ๋กค์ ํ๊ฐํ๋ ๊ธฐ๋ณธ ์ ๊ทผ๋ฒ์ ํฌํจํ๋ฉฐ ๊ณ ๊ฐ์ด ์ ์ด ํ๊ฒฝ์ ํตํฉํ ์ ์๋๋ก ์ง์ํ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ ์ผ๋ฐ์ ์ธ ํด๋ผ์ฐ๋ ์ปดํจํ ๊ท์ ์ค์ ๋ฌธ์ ์ ๋ํ AWS ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ค๋ฃน๋๋ค.
- Overview of Security Processes(Amazon Web Services: ๋ณด์ ํ๋ก์ธ์ค์ ๊ฐ์)โจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ โAWS๊ฐ ๋ด ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ ๋ฐ ์ด๋ ํ ๋์์ ์ค ์ ์์ต๋๊น?โ๋ผ๋ ์ง๋ฌธ์ ๋ตํ๊ธฐ ์ํด ์์ฑ๋์์ต๋๋ค. ํนํ, AWS์ ๋ฌผ๋ฆฌ์ ๋ณด์ ์ด์ฉ ํ๋ก์ธ์ค๋ฅผ AWS ๊ด๋ฆฌ ํ์ ์๋ ๋คํธ์ํฌ ๋ฐ ์ธํ๋ผ์ ๊ด์ ์์ ์ค๋ช ํ๊ณ ์๋น์ค๋ณ ๋ณด์ ๊ตฌํ์ ๋ํด์๋ ์ค๋ช ํฉ๋๋ค.
- DDoS ๋์์ ์ํ AWS ๋ชจ๋ฒ์ฌ๋กโจ โ ๋ณธ ๊ธฐ์ ๋ฐฑ์๋ DDoS(Distributed Denial of Service) ๊ณต๊ฒฉ์ ๋๋นํ์ฌ Amazon Web Services(AWS)์์ ์คํํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณต์๋ ฅ์ ๋์ด๊ณ ์ ํ๋ ๊ณ ๊ฐ์ ๋์์ผ๋ก ํฉ๋๋ค. ๋ณธ ๋ฐฑ์์์๋ DDoS(Distributed Denial of Service) ๊ณต๊ฒฉ์ ๊ฐ์, ๊ฐ์ฉ์ฑ ์ ์ง์ ๋์์ด ๋๋ ๊ธฐ์ , ์ฐธ์กฐ ์ํคํ ์ฒ์ ๋ํ ์ค๋ช ์ ํตํด ๋ณต์๋ ฅ ํฅ์์ ์ํ ์ํคํ ์ฒ ์ง์นจ์ ์ ๊ณตํฉ๋๋ค.
Amazon GameLift๋ฅผ ์์ํ๊ธฐ ์ํ ๊ธฐ์ ํ ๋ชจ์
์ง๋ 2์ 11์ผ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ฒ์ ๊ฐ๋ฐ์์๊ฒ ๊ฒ์ ๊ฐ๋ฐ์ ์ํ ์ ๊ท Lumberyard, Amazon GameLift ๋ฐ Twitch ํตํฉ ์๋น์ค๋ผ๋ ๋ฐ๊ฐ์ด ์์์ด ์์์ต๋๋ค.
Amazon Lumberyard๋ CryEngine์ ๊ธฐ๋ฐํ ๊ฒ์ ๊ฐ๋ฐ ์์ง์ ๋๋ค. ์์ค ์ฝ๋ ํํ๋ก ์ ๊ณต๋๋ฉฐ ์ฌ์ฉ์๊ฐ ์ง์ ์ ์ผ๋ก ๋น๋ํด์ ์ํ๋ ๊ฒ์์ ๋ง๋ค ์ ์์ต๋๋ค. ํ์ฌ CryEngine 3.8.1์ ๊ธฐ๋ณธ์ผ๋ก AWS ์๋น์ค์ GameLift๋ฅผ ์ง์ํ๋๋ก ์ ๊ณต๋๊ณ ์์ต๋๋ค. Lumberyard์ ๋ํ ํํ ๋ฆฌ์ผ ์๋ฃ๋ ์์ํ๊ธฐ ๊ธฐ์ ๋ฌธ์๋ Amazon GameDev Tutorials๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋ฉ๋๋ค.
์ด ๊ธ์์๋ Amazon GameLift์ ๋ํ ์๊ฐ์ ์ฒซ ์์ ๋ฅผ ์คํํ ๋, ๋ฐ์ํ๊ธฐ ์ฌ์ด ๋ฌธ์ ๋ค์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ๋ฑ์ ๋ํด ์๊ฐํ๊ณ ์ ํฉ๋๋ค.
Amazon GameLift๋ ๋ฌด์์ธ๊ฐ?
Amazon GameLift๋ ์ธ์
๊ธฐ๋ฐ์ ๋ฉํฐ ํ๋ ์ด์ด ๊ฒ์ ์๋น์ค๋ฅผ ์ํ ๊ด๋ฆฌํ ์๋น์ค์
๋๋ค. ๊ฒ์ ์๋ฒ๋ฅผ ๋ฐฐํฌ, ์ด์, ํ์ฅํ๊ธฐ ์ํด ๊ธฐ์กด ๋ค๋ฅธ AWS ์๋น์ค์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ด๋ฆฌํ์ผ๋ก ์ ๊ณต๋์ด ๊ฒ์ ์๋ฒ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ๊ณ ๊ด๋ฆฌํ ์ ์๊ฒ ํฉ๋๋ค.

Amazon GameLift ์๋น์ค๋ ํด๋ผ์ฐ๋์์ ๊ฒ์ ์๋ฒ๋ฅผ ์ด์ํ ๋ ์๊ธฐ๋ ์ด๋ ค์ด ์ ์ ํด์ํฉ๋๋ค. ๊ฒ์ ์๋ฒ๋ฅผ ๊ฐ๋ฐํ ์ดํ์ ์ด๊ฒ์ ๋ฐฐํฌํ๊ณ ํ์ฅ์ฑ ์๊ฒ ์ด์ํ๋ ๊ฒ์ ์ฌ์ด ์ผ์ด ์๋๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฒ์ ์๋น์ค๋ฅผ ๋ง๋ค๋ฉด ์ต์ด๋ก ๊ฒ์์ด ์คํ ๋์์ ๋, ์์ธก ํ ์ ์๋ ํธ๋ํฝ์ผ๋ก ์๋ฒ๊ฐ ๋ค์ด๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ฒ์ ์๋ฒ์ ๋ค์ด์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์๋ ค์ง๊ณ , ๊ฒ์ ์ปค๋ฎค๋ํฐ ๋ด์์ ์ข์ง ์์ ํํ์ด ๋ง๋ค์ด์ ธ์ ๊ฒ์ ์๋น์ค์ ์น๋ช ์ ์ด ๋ ์์ง๊ฐ ๋ง์ต๋๋ค. GameLift๋ AWS์ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ํตํด ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ํ, ๋ฉํฐ ํ๋ ์ด์ด ๊ฒ์์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์๋ฒ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๊ฐ์ ์ถ์ ๋ ๊ฒ์ ์๋น์ค ๊ธฐ์ ์ง์์ ๊ธฐ๋ฐํด์ AWS ๋ด๋ถ ์ ๋ฌธ๊ฐ๋ค์ ์ํด ์ค๊ณ ๋ฐ ๊ฐ๋ฐ๋์๊ณ , ๊ฒ์ ๋๋ฒ๊น ์ด๋ ํ๋ ์ด์ด๋ค์ ์ํ๋ฅผ ์ฝ๊ฒ ํ์ ํ๊ธฐ ์ํด ๋ค์ํ ๊ฒ์ ํ ๋ฆฌ๋ฉํธ๋ฆฌ(telemetry)๋ฅผ ์ง์ํฉ๋๋ค.
๋ฟ๋ง ์๋๋ผ, ์ธ์ ํ ๋ฉํฐ ํ๋ ์ด์ด ๊ฒ์์๋ ์ ํฉํฉ๋๋ค. ์ฆ, ์ค๋ ์๊ฐ๋์ ์ธ์ ์ด ์ ์ง๋๋ฉด์ ์ํธ ๋ฐ์ดํฐ๊ฐ ๋๊ธฐํ ๋๋ ํํ ๋ณด๋ค๋ ์ผ์ ์๊ฐ ์์ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ํ๋ ์ดํ๋ฉด์ ์ํธ ๋ฐ์ดํฐ ๋๊ธฐํ๋ฅผ ํ ํ์๊ฐ ์๋ ๊ฒ์์ ์ ํฉํฉ๋๋ค.
Amazon GameLift์ ๋ํ ์ถ์ฒ ๊ฒ์ ์ข ๋ฅ๋ ์๋ ํ์ ๊ฐ์ต๋๋ค.
| ์ ํฉํ ๊ฒ์ ํ์ | ๊ฒ์ ์ |
| FPS | Call of Duty, Evolce |
| MOBA(Multiplayer Online Battle Arena)s | Legue of Legends, Heroes of the Storm |
| Survival/Sandbox | Minecraft, Ark |
| Racing | Mario Kart, Kart Rider |
| Sports | NBA2K, FIFA |
MMO๋ ๋ชจ๋ฐ์ผ ์์ ๊ฒ์ ๋ฐ ์ ์ฉ ์๋ฒ๊ฐ ์๋ P2P ๊ฒ์ ๋ฑ์ ์ ํฉํ์ง ์์ผ๋ฉฐ, Amazon GameLift๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋ฐํ๊ธฐ ์ ํฉํ ๊ฒ์์ ์ ์ฉ ์๋ฒ(dedicate server) ํ์ ๊ฒ์์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
GameLift์ ์์ ์๋น์ค ์ฌ๋ฆฌ๊ธฐ
ํฅํ์๋ GameLift์ ๋ค์ํ ๊ฒ์ ์์ง๊ณผ๋ ์ฐ๋ํ๋ค๋ ๊ณํ์ด์ง๋ง, ํ์ฌ๋ Lumberyard๋ง ์ง์ํ๊ณ ์์ต๋๋ค. Lumberyard์๋ ์ฌ๋ฌ ์ํ ํ๋ก์ ํธ๊ฐ ํฌํจ๋์ด ์๋๋ฐ ๋ฉํฐํ๋ ์ด์ด ์ํ ๊ฒ์๋ ์กด์ฌํฉ๋๋ค.
์์ ๊ฒ์ ํํ ๋ฆฌ์ผ์ ๋ฐ๋ผ ํ๋ฉด ์์ฝ๊ฒ ์ํ ๊ฒ์์ ๋น๋ํ๊ณ GameLift๋ก ์๋น์ค๋ฅผ ์ฌ๋ ค ๋ณผ ์ ์์ต๋๋ค.
์ด ๊ธ์์๋ ํํ ๋ฆฌ์ผ ๊ทธ ์์ฒด ๋ณด๋ค๋ ์ํ์ ์ฌ๋ฆฌ๋ ๊ณผ์ ์์ ๋์ค๋ ๋ฒ๊ทธ๋ผ๋๊ฐ ์ค์๋ฅผ ๋ฐฉ์งํ๋ ๊ธฐ์ ํ์ ์ดํด๋ณด๋๋ก ํ ์์ ์ ๋๋ค. ๋จผ์ ๊ธฐ์ ํ์ ์ค๋ช ํ๊ธฐ ์์์ ์ํ ํ๋ก๊ทธ๋จ์ GameLift์ ์ฌ๋ฆฌ๋ ๋จ๊ณ๋ฅผ ๊ฐ๋จํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
- Lumberyard์ ์ค์น
- Visual Studio 2013, update 4๋ฅผ ์ค์นํ๋ค.
- Lumberyard๋ฅผ ํ๊ณ , 3rd ํํฐ ํด๋ค์ ๋ชจ๋ ์ค์นํ๋ค.
- ์์ ๊ฒ์ ํํ ๋ฆฌ์ผ๋๋ก ์๋ฒ ์์ ๋ฅผ ์ ํํ ์ดํ์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ค.
- ๋น๋ ํจํค์ง๋ฅผ ๊ตฌ์ฑํ๋ค ์) install.bat ๋ฑ์ ์ ์ ํ ์์ ํ๋ค.
- ๋น๋๋ ํจํค์ง๋ฅผ ์๋ฒ๋ก ์
๋ก๋
- AWS CLI๋ฅผ ์ค์นํ๋ค.
- GameLift๋ฅผ ์ํ Policy๋ฅผ ์์ฑํ๊ณ , AWS IAM ์ ์ ๋ฅผ ๋ถ์ธ๋ค.
- CLI ๋ช ๋ น์ ํตํด GameLift์ ๋น๋๋ ์๋ฒ ํจํค์ง๋ฅผ ์ฌ๋ฆฐ๋ค.
- GameLift Fleet์ ์์ฑ
- Fleet์ด๋ฆ, ์๋ฒ ๋น๋, ์ธ์คํด์ค ํ์ ์ ์ ํํ๋ค.
- EC2 ํฌํธ ์ธํ ์ ํ๋ค.
- ๋ฐ์น ํจ์ค์ ๋ฐ์น ํ๋ผ๋ฏธํฐ๋ฅผ ์ง์ ํ๋ค.
- ๊ฒ์ ํด๋ผ์ด์ธํธ ์์ฑ
- GameLiftClient.bat๋ฅผ ์์ฑํ๋ค.
- ๊ฒ์ ์ธ์ ์ ์์ฑํ๋ค.
- ํ๋ ์ด์ด๊ฐ ๊ฒ์ ์ธ์ ์ ์ ๊ทผํ๋ค
ํํ ๋ฐ์ํ๋ ์ค๋ฅ๋ ์ค์๋ฅผ ์ํ ๊ธฐ์ ํ
์์ ๊ฐ์ด GameLift์ ์ํ ๊ฒ์์ ์ฌ๋ฆฌ๋ ๊ณผ์ ์์ ์๋์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ํ ๊ธฐ์ ํ์ ์๊ฐํ๊ณ ์ ํฉ๋๋ค.
Tip 1. Unicode ๋ฌธ์
์์ ์ค๋ช
ํ ๋จ๊ณ ์ค ์ํ ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผ ํ๋ ์์ค์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด์, ์ปดํ์ผ์ด ์ค๋จ๋ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํ์ผ์ด Unicode ํ์ผ ํ์์ผ๋ก ์ ์ฅ์ด ๋์ง ์์ ์ฃผ๋ก ๋ฐ์ํฉ๋๋ค.
์๋ฌ ๋ฉ์์ง๋ฅผ ๋ณด๊ณ Visual Studio์์ ํด๋น ํ์ผ์ ์์ ํ๋ฉด ๋ฉ๋๋ค. ์๋๋IntersectorSegment.cppํ์ผ์ ๋ํ ์์ ๋ด์ญ์ ๋๋ค.
[๊ทธ๋ฆผ 1] ํ์ผ ์ธ์ฝ๋ฉ ํ์
๋ณ๊ฒฝ
UTF-8 ํ์ผ ํ์ ์ผ๋ก ์ธํ ์ค๋ฅ๋ ๊ฒ์ ๊ฐ๋ฐ์์๊ฒ ๋งค์ฐ ์ต์ํ ์ผ์ด๋ฏ๋ก ์ฝ๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ ๋ค์ ๋จ๊ณ๋ก ๋์ด ๊ฐ ์ ์์ต๋๋ค.
Tip 2. Install.bat ๋ฑ ๋ฐฐ์น ํ์ผ ์ค๋ฅ
๋น๋ ํจํค์ง๋ฅผ ๊ตฌ์ฑํ ๋ ํํ ์ค๋ฅ๋ ๋ฐฐ์น ์คํฌ๋ฆฝํธ๋ฅผ ์ ํํ ๋ง๋ค์ง ์๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด Install.batํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํด์ผ ํ๋ค.
vcredist_x64.exe /q
๋ง์ฝ ์ฌ๊ธฐ์ /q ์ต์ ์ ์ค์๋ก ๊ธฐ์ ํ์ง ์์ ์ฑ ํจํค์ง์ ํ๊ณ , GameLift๋ก ์ฌ๋ ธ๋ค๋ฉด ์๋ฒ ๊ทธ๋ฃน(Fleet)์ ์์ฑํ ๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ ๋ฉ์์ง๊ฐ ๋ฐ์ํฉ๋๋ค.
LEET STATUS changed sequentially like this: NEW ๏ DOWNLOADING ๏ ERROR.
๋ฐฐ์น ์คํฌ๋ฆฝํธ์ ๊ฐ์ข ์ค๋ฅ๋ก ์ธํ ๊ฒฐ๊ณผ๋ ๋น๋๋ฅผ GameLift๋ก ์ฌ๋ฆด ๋ ๋ฐ์ํ๋ ๊ฒ์ด ์๋๋ผ ์๋ฒ ๊ทธ๋ฃน(Fleet) ๋ฑ์ ์์ฑํ ๋ ๋ํ๋ ์ ์๊ณ , ๋ ์๋ฌ ๋ฉ์์ง๊ฐ ์ง๊ด์ ์ด์ง ์์ ๋๋ฒ๊น ์ ๋งค์ฐ ์ด๋ ค์์ ๊ฒช์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์, ๊ผญ ๋ฐฐ์น ์คํฌ๋ฆฝํธ์ ์๋ฌ๋ฅผ ํ์ธํ์๊ธธ ๋ฐ๋๋๋ค.
Tip 3. EC2 ํฌํธ์ค์
๊ฒ์ ์๋ฒ ๊ทธ๋ฃน(Fleet)์ ์์ฑํ ๋, EC2 port ์ ๋ํ ์ค์ ์ ์ง์ ํด์ผ ํฉ๋๋ค. ์ฝ์์์ ์์
ํ ๋ ํฌํธ ์ค์ ์ ์ฅ์ด ๋๋๋ก ํ๋ ค๋ฉด ์๋ ๊ทธ๋ฆผ์ ๊ฐ์ฅ ์ค๋ฅธ ์ชฝ์ ์์ ์์ด์ฝ์ ๋๋ฌ์ ์ ์ฅ์ ํด์ผ ํฉ๋๋ค.
ํํ ๊ทธ๋ฅ ๊ฐ์ ๊ธฐ๋กํ๋ฉด ์๋์ผ๋ก ์ ์ฅ๋ ์ค ์๊ณ ๊ฐ๋ง ๋ฃ์ ๋ค์ Initialize Fleet ๋ฒํผ๋ง ๋๋ฅผ ์ ์๋๋ฐ, ์ด๋ ๊ฒ ๋๋ฉด ํฌํธ ์ค์ ์ด ๋์ง ์์์ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค.

[๊ทธ๋ฆผ 2] EC2 ํฌํธ ์ค์
Fleet์ ์์ฑํ ์ดํ์๋ ๊ฐ ์ค์ ๊ฐ์ ํ์ธ ํ ์ ์์ต๋๋ค. ์ ํํ EC2 ํฌํธ๊ฐ ์ค์ ๋์๋์ง ๊ทธ๋ฆผ 3์์ ํ์ธํ ์ ์์ต๋๋ค.

[๊ทธ๋ฆผ 3] Fleet ์ ์ค์ ๊ฒฐ๊ณผ ํ์ธ
Tip 4. GameLiftClient.bat ์์ ํ๊ธฐ
๋ง์ง๋ง์ผ๋ก ์์ ์ด ํ์ํ ๊ฒ์ ๊ฒ์ ํด๋ผ์ด์ธํธ ์์ฑ ์ GameLiftClient.bat๋ฅผ ์์ฑํ๋ ๋จ๊ณ์
๋๋ค. ํํ ๋ฆฌ์ผ ๋ฌธ์์๋ ์๋์ ๊ฐ์ด ๋ด์ฉ์ ์์ฑํ๋ฉด ๋๋ค๊ณ ํ์ง๋ง, ์ถ๊ฐ์ ์ผ๋ก ๋ ๊ฐ์ ์ ๋ณด๊ฐ ๋ ํ์ํฉ๋๋ค.
MultiplayerProjectLauncher.exe +sv_port 33435 +gamelift_endpoint gamelift.us-east-1.amazonaws.com +gamelift_aws_region us-east-1 +gamelift_fleet_id +gamelift_aws_access_key +gamelift_aws_secret_key +map gameliftlobby
์๋์ ๊ฐ์ด ์๋ํฌ์ธํธ์ ๋ฆฌ์ ์ ๋ณด๋ฅผ ์ถ๊ฐํด ์ฃผ์ด์ผ ํฉ๋๋ค.
MultiplayerProjectLauncher.exe +sv_port 33435 +gamelift_endpoint gamelift.us-east-1.amazonaws.com +gamelift_aws_region us-east-1 +gamelift_fleet_id +gamelift_aws_access_key +gamelift_aws_secret_key +map gameliftlobby
๋ฐฐ์น ํ์ผ์ ์คํํ๋ฉด ์๋์ ๊ฐ์ ์คํ๋ ๊ฒ์์ ๋ณด์ค ์ ์์ต๋๋ค.

์ด ๊ธ์์๋ Amazon GameLift์ ์ํ ํ๋ก์ ํธ๋ฅผ ์ธํ ํ๋ฉด์ ํํ ๋ง์ฃผ์น๊ฒ ๋๋ ์ค๋ฅ๋ฅผ ํผํ๋ ํ์ ์ค๋ช ํ์์ต๋๋ค. ๋ค์์๋ Amazon GameLift SDK๋ฅผ ์ด์ฉํด์ ์ง์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ฅผ ์ธํ ํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ณธ ๊ธ์ ์๋ง์กด์น์๋น์ค ์ฝ๋ฆฌ์์ ์๋ฃจ์ ์ฆ ์ํคํ ํธ๊ฐ ๊ตญ๋ด ๊ณ ๊ฐ์ ์ํด ์ ํด ๋๋ฆฌ๋ AWS ํ์ฉ ๊ธฐ์ ํ์ ๋ณด๋ด๋๋ฆฌ๋ ์ฝ๋๋ก์, ์ด๋ฒ ๊ธ์ ๋ฐ์ ์ฉ ์๋ฃจ์ ์ฆ ์ํคํ ํธ๊ป์ ์์ฑํด์ฃผ์ จ์ต๋๋ค.

Amazon RDS โ MySQL 5.7 ์ง์ ์์
์ค๋๋ถํฐ Amazon RDS์์ MySQL 5.7์ ์ฌ์ฉํ์ค ์ ์๊ฒ ๋์์ต๋๋ค.
์ด๋ฒ ์ถ์์๋ MySQL ์ฑ๋ฅ ํฅ์ ๋ฐ ํ์ฅ์ฑ, ๋ณด์ ๊ธฐ๋ฅ ํฅ์ ๋ฑ๋ ํจ๊ป ํฌํจ๋์ด ์์ต๋๋ค.
- MySQL JSON ๋ค์ดํฐ๋ธ ์ง์: JSON ๋ฐ์ดํฐ ๋ฐ ๋นํธ์ธ ํจ์ (
JSON_ARRAY,JSON_OBJECT,JSON_QUOTE,JSON_CONTAINS,JSON_CONTAINS_PATH,JSON_EXTRACT,JSON_KEYS,JSON_SEARCH,JSON_APPEND,JSON_ARRAY_APPEND,JSON_ARRAY_INSERT,JSON_INSERT,JSON_MERGE,JSON_REMOVE,JSON_REPLACE,JSON_SET,JSON_UNQUOTE,JSON_DEPTH,JSON_LENGTH,JSON_TYPE, andJSON_VALID). - Performance Schema๋ฅผ ํตํ ์ฑ๋ฅ ํฅ์ ํต๊ณ ์ ๊ณต
- ํ์ฑ, EXPLAIN ๋ฐ ์ฟผ๋ฆฌ ์ต์ ํ ์ฑ๋ฅ ๊ฐ์
- GIS๋ฅผ ์ํ ๋ค์ดํฐ๋ธ InnoDB ๊ณต๊ฐ ๋ฐ์ดํฐ ์ธ๋ฑ์ค ์ง์ ๋ฐ Boost.Geometry ํตํฉ (์์ธํ ๊ฒ์ MySQL 5.7 and GIS, an Example ๋ฐ Making Use of Boost Geometry in MySQL GIS์ ์ฐธ๊ณ ํ์ธ์.)
- ์ ๊ท ํด๋ฝ ๋ชจ๋๋ฅผ ํตํ ๋ณ๋ ฌ ๋ฆฌํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ํฅ์ (๋ ์์ธํ ๊ฒ์ Multi-threaded Replication Performance in MySQL 5.7์ ์ฐธ๊ณ ํ์ธ์.)
- InnoDB ํ์ฅ์ฑ ๋ฐ ์์ ํ ์ด๋ธ ์ฑ๋ฅ ํฅ์ ๋ฐ ๋์ buffer pool ํฌ๊ธฐ ๋ณ๊ฒฝ๊ณผ ์ถฉ๋ ๋ณต๊ตฌ ๊ฐ์ .
๊ธฐํ ๋ ์์ธํ ๊ฒ์ MySQL 5.7 Release Notes์ ์ฐธ๊ณ ํ์ญ์์ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค ์์ํ๊ธฐ
AWS ๊ด๋ฆฌ ์ฝ์, AWS Command Line Interface (CLI), AWS Tools for Windows PowerShell ๋ฐ RDS API (CreateDBInstance) ๋๋ CloudFormation ํ
ํ๋ฆฟ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค๋ฅผ ์์ํ ์ ์์ต๋๋ค.
๊ด๋ฆฌ ์ฝ์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ:

๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค๋ฅผ ์์ํ๋ฉด EC2 ์ธ์คํด์ค์ ๋ณด์ ๊ทธ๋ฃน์ ํธ์งํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.

์ ๊ท Performance Schema๋ฅผ ๋ณผ ์ ์์ต๋๋ค.

MySQL 5.7์ ์๋ก์ด ๊ธฐ๋ฅ์ ํ ์คํธํ์๊ณ ๋ ํ, ์ ๊ทธ๋ ์ด๋ ํ์๊ธธ ๊ถ์ฅํด ๋๋ฆฝ๋๋ค.
์ค๋ ๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ!
Amazon RDS for MySQL 5.7 ์ธ์คํด์ค๋US East (Northern Virginia), US West (Northern California), US West (Oregon), Europe (Ireland), Europe (Frankfurt), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Seoul), China (Beijing), South America (Brazil) ๋ฐ AWS GovCloud (US) ๋ฆฌ์ ์์ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
โ Jeff;
์ด ๊ธ์ Amazon RDS Update โ Support for MySQL 5.7์ ํ๊ตญ์ด ๋ฒ์ญ์ ๋๋ค.
AWS Lambda ํจ์์์ VPC๋ด ์์ ์ ๊ทผ ๊ธฐ๋ฅ ์ถ์
๋ช ๋ฌ ์ ์ ๊ณง AWS Lambda ํจ์์์ VPC๋ด ์์์ ์ ๊ทผํ ์ ์์ ๊ฑฐ๋ผ๊ณ ์๊ณ ํด ๋๋ ธ์ต๋๋ค. ์ค๋ ๋ถํฐ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ค ์ ์์ต๋๋ค.
Lambda ํจ์๋ฅผ ํตํด Amazon Redshift ๋ฐ์ดํฐ์จ์ด ํ์ฐ์ค, Amazon ElastiCache ํด๋ฌ์คํฐ, Amazon Relational Database Service (RDS) ์ธ์คํด์ค ๋ฐ ํน์ VPC ๋ด์์๋ง ์ ๊ทผํ ์ ์๋ ์๋น์ค ์๋ ํฌ์ธํธ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ์์ ์ VPC๋ฅผ ํ๋ ์ ํํ๊ณ ์ ์ ํ ์๋ธ๋ท๊ณผ ๋ณด์ ๊ทธ๋ฃน์ ์ง์ ํ๋ฉด ๋ฉ๋๋ค. Lambda ํจ์๊ฐ VPC ๋ด์ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์๋๋ก ํ๊ธฐ ์ํด Lambda๋ ์ด๋ฌํ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก Elastic Network Interfaces (ENI)์ ์ฌ์ค IP ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค.
VPC๋ด ๋ฆฌ์์ค ์ ๊ทผํ๊ธฐ
์๋ก์ด ํจ์๋ฅผ ๋ง๋ค ๋ ์ค์ ํ๊ฑฐ๋, VPC ์ ๊ทผ์ ์ํด ๊ธฐ์กด ํจ์๋ฅผ ์
๋ฐ์ดํธ ํ ์ ์์ต๋๋ค. Lambda ์ฝ์ ๋๋ CLI์์ ๊ธฐ๋ฅ์ ๊ตฌ์ฑ ํ ์ ์์ผ๋ฉฐ, ์๋๋ ์ฝ์์์ ์ค์น ๋ฐฉ๋ฒ์
๋๋ค.

์์ ํ๋ฉด์ ๋ฐ๋ผ ์ค์ ํ๋ฉด ๋๋ฉฐ, ๋ ์์ธํ ๊ฒ์ Configuring a Lambda Function to Access Resources in an Amazon VPC์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
์์ ๋์ค ์
์๋๋ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํ ๋ช ๊ฐ์ง ์์๋์๋ฉด ์ข์ ์ ๋ค์
๋๋ค.
ENI & IP ์ฃผ์ ์์ โ ์ฒ๋ฆฌํ ์ด๋ฒคํธ ์์ ๋ฐ๋ผ Lambda๊ฐ ์๋์ผ๋ก ํ์ฅํ๋ฏ๋ก VPC๋ ์ง์ ๋ ์๋ธ๋ท์ ์ถฉ๋ถํ IP ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผํฉ๋๋ค.
์ธํฐ๋ท ์ ์ โ ํน์ ํจ์์ ๋ํด ์ด ๊ธฐ๋ฅ์ ํ์ฑํํ๋ฉด ํด๋น ํจ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ธํฐ๋ท์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๋ง์ฝ ํจ์๊ฐ ์ธํฐ๋ท ์ ์์ด ํ์ํ๋ค๋ฉด, VPC์์ Managed NAT Gateway๋ฅผ ์ค์นํ๊ฑฐ๋ (์์ธํ ๋ด์ฉ์ AWS ์ ๊ท NAT ๊ฒ์ดํธ์จ์ด ์๋น์ค ์ถ์! ์ฐธ๊ณ ) ์์ ์ NAT ์ธ์คํด์ค๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๋ณด์ ๊ทธ๋ฃน โ ๋๋ค ํจ์๋ฅผ ์ํด ์ฌ์ฉํ๋ ๋ณด์ ๊ทธ๋ฃน์ด ์๋ธ๋ท๊ณผ ์ธํฐ๋ท ์์์ ๋ํ ์ ๊ทผ์ ์ ์ดํฉ๋๋ค.
S3 ์๋ํฌ์ธํธ โVPC์ ์๋ S3 ์๋ ํฌ์ธํธ(์์ธํ ๋ด์ฉ์ New โ VPC Endpoint for Amazon S3)์ ์ ๊ทผ ๊ธฐ๋ฅ๋ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์จ๋ผ์ธ ์ธ๋ฏธ๋ โ ๋ ์์ธํ ์ฌํญ์ Essentials: Introducing AWS VPC Support for AWS Lambda ์จ๋ผ์ธ ์ธ๋ฏธ๋์ ์ฐธ์ฌํด ๋ณด์ญ์์ค.
โ Jeff;
์ด ๊ธ์ New โ Access Resources in a VPC from Your Lambda Functions์ ํ๊ตญ์ด ๋ฒ์ญ์ ๋๋ค.
๊ฒ์ ๊ฐ๋ฐ์ ์ํ ์ ๊ท Lumberyard, Amazon GameLift ๋ฐ Twitch ํตํฉ ์๋น์ค
์ธ๊ณ ์์ค์ ํ์ง ๋์ ๊ฒ์ ๊ฐ๋ฐ์ ๋งค์ฐ ์ด๋ ต๊ณ ์๊ฐ๊ณผ ๋น์ฉ์ด ๋ง์ด ์์๋ฉ๋๋ค. ๊ฒ์ ์ฌ์ฉ์๋ค์ ์๊ตฌ๋ ๋งค์ฐ ๋๊ณ , ๋ฐ์คํฌํฑ, ์ฝ์, ๋ชจ๋ฐ์ผ ํ๋ซํผ ๋ฑ ๋ค์ํ ์์ ๊ฒ์์ ์ฐพ๊ณ ์์ต๋๋ค. ๊ฒ์์ ๊ณ ์ ์ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ๋ฆ์ ์ํ ๊ธด ๊ฐ๋ฐ ์๊ฐ์ด ํ์ํ๊ณ , ์ฑ๊ณตํ๊ธฐ ์ํด์๋ ์์ญ ๋ง ๋๋ ์๋ฐฑ ๋ง์ ์ฌ์ฉ์๊ฐ ํ๋ฃจ ๋ง์ ์ฌ์ฉํด ๋ณด๊ณ ์ธ๊ธฐ๋ฅผ ์ป์ด์ผ ํฉ๋๋ค.
์ด๋ฌํ ๋ฐฐ๊ฒฝ์์ ๊ฒ์ ๊ฐ๋ฐ ๊ณผ์ ์ ์ฌ์ฉ์๊ฐ ๊ธฐ๋ํ๋ ๊ฒ์ ๋ฐ์ํ๋๋ก ์ค๊ณ ํด ๋๊ฐ์ผ ํฉ๋๋ค. ๊ฒ์ ๊ฐ๋ฐ ํ์ ์คํ ๋ฆฌ ๋์์ธ, ๊ฒ์ ๋์์ธ, ๋ฌผ๋ฆฌ ๋ ผ๋ฆฌ ์๋ฎฌ๋ ์ด์ , ์ฌ์ด๋ ์ ์, ๊ทธ๋ํฝ ๋์์ธ, ์๊ฐ ํจ๊ณผ ๋ฐ ์ ๋๋ฉ์ด์ ์ ๋ฌธ ๊ธฐ์ ์ ๊ฐ์ถ ํ์๋ค์ด ํ์ํฉ๋๋ค. ๊ฒ์์ด ์ธํฐ๋ท ๊ธฐ๋ฐ์ด๋ผ๋ฉด, ๋์ ํ์ฅ์ฑ, ์ ์ฐํ ์จ๋ผ์ธ ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ํต์ ๋ฐ ๊ด๋ฆฌ, ๋ณด์ ๋ฑ ๋ค์ํ ์ ๋ฌธ์ฑ์ ๊ฐ์ถ ํ์๋ ์์ต๋๋ค.
18~36 ๊ฐ์์ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ ๊ฐ๋ฐ๊ณผ ์ฐฝ์์ ์ ์ ์์ ์ ์ํด ๊ฒ์ ์คํ๋์ค์ ์์ด์๋ ์๋นํ ๊ธ์ ์ ๋ถ๋ด์ด ๋ฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ก์ด ๊ฒ์์ ๋ง๋๋ ๊ฒ์ด ์ฝ์ง ์์ ์ํฉ์ ๋๋ค.
์ ๊ท AWS ๊ฒ์ ์๋น์ค
์ค๋ ๋ ๊ฐ์ ์ ๊ท AWS ๊ฒ์ ์๋น์ค๋ฅผ ํด๋ผ์ฐ๋๋ฅผ ์ด์ฉํ์ฌ ํฌ๋ก์ค ํ๋ซํผ ์ ๋ฌธ ๊ฒ์ ๊ฐ๋ฐ์๋ฅผ ์ํด ๊ณต๊ฐํฉ๋๋ค. ์
๊ณ์์ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ ๊ฒ์ ์์ง๊ณผ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ณ , ์ฌ๊ธฐ์ AWS ์๋น์ค๋ฅผ ํตํฉํ์ต๋๋ค. ์ด๋ฌํ ์ ์ฒด ํจํค์ง๋ Twitch ๋น๋์ค ํ๋ซํผ๊ณผ ์ปค๋ฎค๋ํฐ๋ฅผ ์ฐ๊ณํ๊ณ ๊ด๋ จ AWS ๋ฉ์์ง ์๋น์ค, ์คํ ๋ฆฌ์ง ์๋น์ค๋ฅผ ์ด์ฉํ์ค ์ ์์ต๋๋ค. ์ด๋ค์ด ๋ฐํํ๋ ๋ด์ฉ์
๋๋ค.
Lumberyard โ
์ ๋ฌธ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ก์ด ๊ฒ์ ์์ง๊ณผ ๊ฐ๋ฐ ํ๊ฒฝ์
๋๋ค. CryEngine, Double Helix ๋ฐ AWS ๋ฑ ์๋ก์ด ๊ธฐ์ ๊ณผ ์ฆ๋ช
๋ ๊ธฐ์ ์ ํจ๊ป ์ตํฉํ์ฌ ๊ฒ์ ๊ฐ๋ฐ์์ ๋ญ๋น๋ฅผ ์์ ๊ณ ๋จ๊ณ๋ฅผ ๋จ์ํ ํ ์ ์์ต๋๋ค. Lumberyard ๊ฒ์ ์์ง์ผ๋ก ํด๋ผ์ฐ๋ ์ฐ๊ฒฐ ๋ฐ 3D ๊ฒ์ ๊ฐ๋ฐ์ ์ง์ํ๊ณ ๊ฒ์ ์์ฐ์ ๊ด๋ฆฌ ๋ฐ ์ธ๊ณต ์ง๋ฅ(AI), ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
, ์ํฅ ๋ฑ์ ์ง์ํฉ๋๋ค. ๊ฐ๋ฐ ์ธก๋ฉด์์๋ Lumberyard IDE์ ์ํด ์ค๋ด ๋ฐ ์ผ์ธ ํ๊ฒฝ์ด๋ ์บ๋ฒ์ค์์ ์ค๊ณ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ ๋ฌธ ๊ฐ๋ฐ์๋ผ๋ฉด ์๋ฒ ๋๋ ์ฝํ
์ธ ํ๋ฆ๊ณผ ๋ฆฌ์์ค ํ์ดํ ๋ผ์ธ, Photoshop, Maya, 3ds Max์์ ๋ง๋ค์ด์ง ๊ฒ์ ๋์ค์ IDE์์ ๊ฐ์ ธ์ ํธ์งํ์ฌ ํ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ์กด์ C++ ๋ฐ Visual Studio (AWS SDK for C++) ๋ฐ Flow Graph ๋๊ตฌ์ Cloud Canvas๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ฐ๋ ์ฐ๊ฒฐ ๊ฒ์์ ๋ง๋ค ์ ์์ต๋๋ค.
Amazon GameLift โ
์ต๊ทผ ๋ง์ ๊ฒ์์ ํ์ฑ ์ฌ์ฉ์ ์ฐ๊ฒฐ ์์ ๋ฐ๋ผ ํ์ฅ์ฑ ๋์ ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. Amazon GameLift๋ Lumberyard์์ ๊ตฌ์ถํ ๊ฒ์์์ ๋ฉํฐ ํ๋ ์ด์ด๋ก ์ฐ๊ฒฐ ๊ฐ๋ฅํ ๊ฒ์ ์๋ฒ์ ์ฐ๊ฒฐ ์์ ๋ฐ๋ผ ํ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. AWS ๊ฒ์ ์๋ฒ์ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ํ๊ณ , ํ๋ ์ด์ด๋ก ๋ถํฐ ์คํ ๋ถํ์ ๋ฐ๋ผ ํ์ฅํ๋๋ก EC2 ์ธ์คํด์ค ๊ทธ๋ฃน์ ์ค์ ํฉ๋๋ค. ์ด์ ์๋ฒ ๊ตฌ์ถ, ํ์ฅ, ์คํ ๋ฐ ๋ชจ๋ํฐ๋ง์ ์์ฒด์ ์ผ๋ก ํ ํ์๊ฐ ์์ต๋๋ค. ๋์ GameLift์์ ์ผ์ผ ํ์ฑ ์ฌ์ฉ์ ์(DAU)์ ๋ํด ์ผ๋ฐ EC2 ์จ๋๋ฉ๋ ๋น์ฉ, ์ปดํจํ
์ฑ๋ฅ, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ๋์ญํญ์ ์ฌ์ฉํ ๋งํผ ์ง๋ถํ๋ฉด ๋ฉ๋๋ค.
Twitch ํตํฉ โ
์ต๊ทผ ๊ฒ์ ์ฌ์ฉ์๋ค์ ์๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ๊ฒ์์ ํ์ง ์๋ ๊ฒฝ์ฐ์๋ Twitch์์ ๋ค๋ฅธ ํ๋ ์ด์ด์ ํฌ๋ผ๋ฆฌ ๊ต๋ฅ๋ฅผ ํฉ๋๋ค. ํ๋ก์ ์๋ง์ถ์ด ์ ์๋ Twitch์์ ์์ ์ ์ ๋ฌธ ๋ถ์ผ๋ฅผ ํ์ํ๊ณ ํฌ์ ๋๋ฆฌ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ์ต๊ทผ ์ํฉ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ํ ๊ด๊ณ๋ฅผ ํค์ ๊ฐํ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๋ค๋ ค๋ฉด Lumberyard์์ ๊ตฌ์ถ ๋ ๊ฒ์๊ณผ ๋ ๊ฐ์ง ์๋ก์ด Twitch ๊ธฐ๋ฅ๊ณผ ์ฐ๊ณํ์ฌ ํ์ฉํ ์ ์์ต๋๋ค. Twitch ChatPlay๋ Twitch ์ฑํ
๋ํ ์ ํน์ ํค์๋์ ๋ฐ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฒ์ด๋จธ๊ฐ ๊ฐ์ฅ ๊ธฐ๋ํ๋ ํ๋์ ํด ์ฃผ๋๋ก ์ฑํ
์์ ์ ์ ํ ์ ์์ต๋๋ค. Twitch JoinIn ์ฑํ
์ฑ๋ ๋ด์์ ๊ฒ์ด๋จธ๋ฅผ ๋ฉค๋ฒ๋ก ๋์ฌ ๋ค์ด๊ธฐ ์ํ ์๋ฆผ์ด ์์ต๋๋ค.
์ด๋ฌํ ์๋น์ค๋ AWS ๋ค๋ฅธ ๋ง์ ์๋น์ค์ฒ๋ผ ๋ ์ฐฝ์ ์ธ ๊ธฐ๋ฅ์ ๊ฒ์์์ ๋ง๋ค ์ ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ๋ํ, ํผ๋๋ฐฑ์ ํตํ ๋น ๋ฅธ ๊ฒ์ ๊ฐ๋ฐ ๋ฐฉํฅ ์ ํ ๋ฐ ์ฌ์ฉ์๋ผ๋ฆฌ์ ์ฐ๊ฒฐ๊ณผ ์ค๋ฝ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
๊ณ ๊ฐ ์ง์ ์๋น์ค โ ๊ฐ์ข ๊ธฐ์ ๋์๋ง(๋ฌธ์ ๋ฐ ๋์์), ์ ์ฉ ํฌ๋ผ์ ํฌํจํ ๊ณ ๊ฐ ์ง์๋ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ผ๋ถ ๋ฉ๋ด์ ๋ํด์ AWS ์ ์ ์ง์๋ ์ค๋นํ๊ณ ์์ต๋๋ค.
Lumberyard๋ก ๊ฒ์ ๊ฐ๋ฐํ๊ธฐ
Lumberyard๊ฐ ์ค๋ ๋ฐํ ์ฃผ์ ์๋น์ค์
๋๋ค. ์์ ์ด์ผ๊ธฐํ ๋๋ก ์ ๋ฌธ ๊ฒ์ ๊ฐ๋ฐ์๋ก ๊ณ ํ์ง์ ํฌ๋ก์ค ํ๋ซํผ ๊ฒ์์ ๊ฐ๋ฐ ํ ์ ์๋๋ก ๋์์ธํ ์๋ก์ด ๊ฒ์ ์์ง์ด๋ฉฐ, ๋ค์ ํ๊ฒฝ์ ์ง์ํฉ๋๋ค.
- Windows โ Vista, Windows 7, 8, and 10.
- Console โ PlayStation 4 and Xbox One.
๋ชจ๋ฐ์ผ ๋จ๋ง์ด๋ VR ํค๋์ ์ ํ์ฌ ํ์ธ ์ค์ด๋ฉฐ, ๋ช ๊ฐ์ ๋ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Lumberyard ๊ฐ๋ฐ ํ๊ฒฝ์ Windows PC ๋๋ ๋ ธํธ๋ถ์์ ์๋ํฉ๋๋ค. ๋์ ์๋๊ฐ ๋น ๋ฅธ ์ฟผ๋ ์ฝ์ด ํ๋ก์ธ์, ์ต์ 8GB์ ๋ฉ๋ชจ๋ฆฌ, 200GB์ ๋์คํฌ ์ฌ์ ๊ณต๊ฐ 2GB ์ด์์ ๋ฉ๋ชจ๋ฆฌ์์ Direct X 11 ํธํ์ ํ์ด ์๋ ๋น๋์ค ์นด๋๊ฐ ํ์ํฉ๋๋ค. Visual Studio 2013 Update 4 ๋ง์ด๊ทธ๋ ์ด์ ๋ฐ Visual C ++ ์ฌ๋ฐฐํฌ ํจํค์ง๋ ํ์ํฉ๋๋ค.
Lumberyard Zip ํ์ผ์ ๋ฐ์ด๋๋ฆฌ ํ ํ๋ฆฟ ์์ฐ๊ณผ ํธ์ง๊ธฐ๋ฅผ ์ํ ๊ตฌ์ฑ ํ์ผ์ด ํฌํจ๋์ด ์์ต๋๋ค. Lumberyard ๊ฒ์ ์์ง ๋ฐ์ด๋๋ฆฌ์ ์์ค ์ฝ๋๋ ํฌํจ๋์ด ์์ต๋๋ค. ๊ทธ๋๋ก ์ฌ์ฉํด๋ ๊ด์ฐฎ๊ณ , ์ฐธ์กฐ ์ฉ์ผ๋ก ์์ค ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ๋ ์ข์ต๋๋ค. ๋ํ, ์ฌ๋ฌ๋ถ์ ๊ฒ์์ ์ฐจ๋ณํํ๊ธฐ ์ํด ๋ค์ํ ๋ง์ถคํ ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ ์ข์ ๊ฒ์ ๋๋ค. Zip ํ์ผ์ ๋ฐ์ฒ๋ ํฌํจ๋์ด ์์ผ๋ฉฐ, Lumberyard ๋ฐ ๊ธฐํ ๋ฐํ์ SDK ๋๊ตฌ ๋ฐ ํ๋ฌ๊ทธ์ธ์ด ์ ๋๋ก ์ค์น๋์ด ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
Lumberyard Editor๋ ๊ฐ๋ฐ ์ค์ธ ๊ฒ์์ ์บก์ํํ๊ฑฐ๋ ๊ฒ์ ์์ ํธ์ง์ ์ฌ์ฉํ ํธ์ง ๋๊ตฌ์ ๋๋ค.

Lumberyard Editor๋ Asset Browser, Layer Editor, LOD Generator, Texture Browser, Material Editor, Geppetto (character and animation tools), Mannequin Editor, Flow Graph (visual programming), AI Debugger, Track View Editor, Audio Controls Editor, Terrain Editor , Terrain Texture Layers Editor, Particle Editor, Time of Day Editor, Sun Trajectory Tool, Composition Editor, Database View, UI Editor๋ฅผ ํฌํจํ ์ ํ๊ตฐ์ ๋๋ค. ๋ชจ๋ ๋๊ตฌ ๋ชจ์์ ํตํด ํ๋ฉด์์ ์กฐ์ ํ ์ ์์ต๋๋ค.
๊ฒ์์ ์ถ๊ฐ ๊ธฐ๋ฅ์ผ๋ก์ ์ ํ๋ ๋ชจ๋ ์์์ ์ถ๊ฐํ๊ธฐ ์ํด Gems๋ผ๋ ์ฝ๋ ํจํค์ง ์์คํ ์ ์ฌ์ฉํฉ๋๋ค. Gems์ ํ์ฑํํ๋ฉด, ๊ฒ์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์๋์ผ๋ก ํฌํจํฉ๋๋ค. Lumberyard์๋ AWS์ ์ฐ๊ณํ๊ธฐ ์ํ Gems๋ ์์ต๋๋ค. ๊ทธ ๋ฐ์๋ ๊ตฌ๋ฆ, ๊ฒ์ ํจ๊ณผ, GameLift ์ ๊ทผ, ๋น, ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ , ๋น, ๋, ํ ๋ค์ด๋, ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋ฉํฐ ํ๋ ์ด์ด ๊ธฐ๋ฅ, ์ฒ ๋ฑ์ ๋ค์ํ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
Flow Graph์ Cloud Canvas๊ธฐ๋ฐ ์ฝ๋ฉ
์์ ์๋ ๊ฐ๋ฐ์๊ฐ C++์ ๊ธฐ๋ฐ์ผ๋ก ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ ๋ผ์ดํ ์ฌ์ดํด(ํธ์ง/์ปดํ์ผ/์คํ)์ ๊ตฌ์ถํ์์ต๋๋ค. ๋ง์ฝ Lumberyard๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๊ฐ์ ๋ฐฉ์์ผ๋ก Lua์ Flow Graph๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Flow Graph๋ ๋ณต์กํ ๊ฒ์ ๋ก์ง์ ์ฝ๋ ์์ ์์ด ํตํฉํ ์ ์๋ ์ต์ ๋น์ฃผ์ผ ์คํฌ๋ฆฝํ ์์คํ ์ ๋๋ค. ๊ฒ์์ ์ค์ , ์๋ฆฌ ์ ์ด ํจ๊ณผ ๊ด๋ฆฌ๋ฅผ ์ํด ๊ธฐ ๊ตฌ์ถ ๋ ๋ ธ๋ ๊ธฐ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Flow Graph๋ ๋ ธ๋์ ๋งํฌ์์ ์์ฑ๋ฉ๋๋ค. ์ฑ๊ธ ๋ ๋ฒจ์ ๋ค์ค ๊ทธ๋ํ๋ฅผ ํฌํจํ๊ณ ํ์ฑํ ํ ์ ์์ต๋๋ค. ๋ ธ๋๋ ๊ฒ์ ์ํฐํฐ๋ ํ๋์ ๋ณด์ฌ์ค๋๋ค. ๋งํฌ๋ ํ ๋ ธ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ ๋ ธ๋์ ์ ๋ ฅ๊ณผ ์ฐ๊ฒฐํฉ๋๋ค. ์ด๋ฌํ ์ ๋ ฅ์ ์ฌ๋ฌ ํ์ (Boolean, Float, Int, String, Vector)์ ๊ฐ์ง๋๋ค. ์ถ๋ ฅ ํฌํธ๋ ์ด๋ ์ ๋ ฅ ํฌํธ์์๋ ์ฐ๊ฒฐ ๊ฐ๋ฅํ๋ฉฐ, (๊ฐ๋ฅํ๋ค๋ฉด) ์๋์ผ๋ก ํ ๋ณํ์ด ์ด๋ฃจ์ด์ง๋๋ค.
30๊ฐ๊ฐ ๋๋ ๋ค์ํ ํํ์ ๋ ธ๋๊ฐ ์์ผ๋ฉฐ, AWS ์๋น์ค์ ์ ๊ทผํ ์ ์๋ (Cloud Canvas๋ผ๋) ์ธํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. Amazon Simple Queue Service (SQS)์ ์ ๊ทผ ๊ฐ๋ฅํ 2๊ฐ์ ๋ ธ๋์ Amazon Simple Notification Service (SNS)์ ์ ๊ทผ ๊ฐ๋ฅํ 4 ๊ฐ์ ๋ ธ๋, Amazon DynamoDB์ Read/Write๋ฅผ ํ ์ ์๋ 7๊ฐ์ ๋ ธ๋, AWS Lambda ํจ์๋ฅผ ํธ์ถํ ์ ์๋ ํ ๊ฐ์๋ ธ๋, Amazon Cognito๋ฅผ ์ฌ์ฉํ ํ๋ ์ด์ด์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ํ ๊ฐ ๋ฑ์ ํฌํจํฉ๋๋ค. AWS๋ฅผ ํธ์ถ ํ๋ ๋ชจ๋ ๊ฒ์์ Cloud Canvas๋ฅผ ์ค์ ํ๊ณ , AWS Identity and Access Management (IAM)๋ฅผ ํตํด์๋ง ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค.
Lambda ํจ์๋ฅผ ํธ์ถํ๋ DailyGiftLambda ์ฌ์ฉ ์:
DailyGiftLambda:

์๋๋ โDaily Giftโ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํ Lambda์ DynamoDB๋ฅผ ์ฌ์ฉํ Flow Graph์ ๋๋ค.

๋ ์์ธํ ์ถ๊ฐ ์ ๋ณด๋ Lumberyard User Guide Cloud Canvas ๋ฌธ์๋ฅผ ํ์ธํ์ญ์์ค.
Amazon GameLift ๊ธฐ๋ฐ ๋ฐฐํฌ
๋ง์ฝ ์ ์ ๊ฒ์์ด ๋์ ํ์ฅ์ฑ ๋ฐ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ๋ฐํ์ ํ๊ฒฝ์ด ํ์ํ๋ค๋ฉด Amazon GameLift๋ฅผ ์ฌ์ฉํ์๊ธธ ๊ถํด ๋๋ฆฝ๋๋ค.

๊ฐ์ธ ์ํ ๊ฒ์, ์๋ฐ์ด๋ฒ ๋ ์ด์ค, ์คํฌ์ธ , MOBA(๋ฉํฐ ํ๋ ์ด ๋ฐฐํ ์๋ ๋) ๋ฑ ์ฌ์ฉ์ ๊ฐ ๊ณต์ ์ฐ๊ฒฐ, ์ ๊ธฐ์ ๋๊ธฐํ ๋ฑ์ด ํ์ํ ๋ค์ํ ์ข ๋ฅ์ ๊ฒ์์ ์๋น์คํ ์ ์์ต๋๋ค.
์๋ฒ ์ธก ๋ก์ง๋ฅผ ๋น๋ํ ํ์ Amazon GameLift์ ์ ๋ก๋ํ๋ฉด Windows ๊ธฐ๋ฐ AMI (Amazon Machine Image)์ผ๋ก ๋ช ๋ถ๋ง์ ๋ณํ๋ฉ๋๋ค. AMI๊ฐ ์ค๋น ์๋ค๋ฉด, Amazon GameLift ๊ทธ๋ฃน์ ๋ง๋ค๊ณ , AMI๋ก ์ค์ ํ๋ฉด ๋ฐฑ์๋ ์ค๋น๊ฐ ์๋ฃ๋ฉ๋๋ค.
์คํ ์ค์ธ ๊ฒ์ ์ธ์ ์ Amazon GameLift ์ฝ์์์ ๋ณผ ์ ์์ต๋๋ค.

Flow Graph ์ฝ๋๋ Amazon GameLift Gem์ ๋ง๋ค ์ ์ธ์ ์์ฑ ๋ฐ ์๋น์ค ๊ฐ์๋ฅผ ์ ์ด ํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ Amazon GameLift ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Twitch ํตํฉํ๊ธฐ
๊ฐ๋ฐํ ๊ฒ์์ Twitch ChatPlay๊ณผ Twitch JoinIn์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ฐ๊ณ ํ ์ ์์ต๋๋ค.
์๋ง์กด ํ๋ซํผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์์ ๋ง๋ค๋ฉด, ์ง์ ๋ Twitch ์ฑ๋์ ์ ๋ ฅ๋ ํค์๋๋ฅผ ์ฒ๋ฆฌ ํ ์โโ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํค์๋๋ก ๋นจ๊ฐ, ๋ ธ๋, ํ๋, ๋ น์, ์ค๋ ์ง์ ๋ณด๋ผ์์ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ๋ ์๋์ ๊ฐ์ด ๋ฉ๋๋ค.

๊ฐ๊ฒฉ ๋ฐ ์๋น์ค ์ง์ญ
Lumberyard๊ณผ Amazon GameLift ์ค๋ ๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ก ์ฌ๋ฌ๋ถ์ ๊ฒ์์ ์์ฝ๊ฒ ๋ง๋ค์ด ๋ณด์ธ์.
๋ฌด๋ฃ๋ก ์ ๊ณต๋๋ Lumberyard๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋ฆฝ ์คํํ ๊ฒ์์ ๋ง๋ค ์ ์์ผ๋ฉฐ, Cloud Canvas์์ ์ค์ ๋ IAM ์ฌ์ฉ์๋ฅผ ์ฌ์ฉํด AWS ์๋น์ค๋ฅผ ํธ์ถํ๊ฑฐ๋ AWS SDK for C++๋ฅผ ์ฌ์ฉ ํ๋๋ฐ๋ง ๋น์ฉ์ด ์์๋ฉ๋๋ค. (GameLift๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.)
Amazon GameLift๋ US East (Northern Virginia) ๋ฐ US West (Oregon) ๋ฆฌ์ ์์ ํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ณ ๊ฐ์ ํผ๋๋ฐฑ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฆฌ์ ์๋ ๊ณ์ ํ๋ํ ์์ ์ ๋๋ค. ๋ฌด๋ฃ ์ด์ฉ ๋ฒ์๋ c3.large ์ธ์คํด์ค์์ ์ต๋ ์๊ฐ 125์๊ฐ (์ต์ฅ 1 ๋ )๊น์ง ์ด์ฉํ์ค ์ ์์ต๋๋ค. ๊ทธ ์ดํ์๋ ์ฌ์ฉ EC2 ์ธ์คํด์ค์ ์ ์ ๊ฐ๊ฒฉ์ด ์ ์ฉ๋ฉ๋๋ค. ์ธ์คํด์ค ๋น EBS ์คํ ๋ฆฌ์ง๋ 1 ๊ฐ์ ๋น 50GB์ ๋น์ฉ์ด 1,000 ๋ฐ์ผ๋ฆฌ ์กํฐ๋ธ ์ ์ ๋น 1๊ฐ์์ USD 1.5์ ๋๋ค.
โ Jeff;
์ด ๊ธ์ Lumberyard + Amazon GameLift + Twitch for Games on AWS์ ํ๊ตญ์ด ๋ฒ์ญ์ ๋๋ค.
์์ด์ง๋ ๋ฐ์ดํฐ ์ผํฐ์ ๋ํ 120๊ฐ์ง ์์ด๋์ด
์์๊ป๊ธฐ๋ฅผ ํ๋ ๋ด๊ฒ ์ต๋๋ค. ์์ฒญ ํฐ ๊ฑด๋ฌผ์ธ๋ฐ, ์์๋ ๋งค์ฐ ์ถฅ๊ณ ๋ค์ด๊ฐ๊ธฐ ์ด๋ ค์ด ๊ฒ์ด ๋ฌด์์ผ๊น์? ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋น์ด์์ต๋๋ค. ๋ฐ๋ก AWS ํด๋ผ์ฐ๋๋ก ์ ํํ ๋ค์ ๋จ๊ฒจ์ง โ๋ฐ์ดํฐ ์ผํฐโ์ ๋๋ค. ํ๋๋ IT ๊ด๋ จ ์ข ์ฌ์๋ค์ ์๋ถ์ฌ์ด๊ธฐ๋ ํ์ง๋ง, ์ด์ ๋ ์ธ์์ด ๋ฐ๋์ด ํฌ๊ณ ๊ด๋ฆฌํ๊ธฐ ํ๋ ์ฐฝ๊ณ ์ ๋ถ๊ณผํฉ๋๋ค.
๋ง์ AWS ๊ณ ๊ฐ๋ค์ด ์ด๋ฏธ ๊ธฐ์กด์ ์ด์ํ๋ ๋ฐ์ดํฐ์ผํฐ๋ฅผ AWS๋ก ์ด์ ํ์๊ณ , ์๋์ ๋ช ๊ฐ์ง ์๋ฅผ ์๊ฐํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
- Delaware North โ ํ์ฝ ์ ์กฐ ์ ์ฒด๋ก์ ๊ธฐ์กด ๋ฐ์ดํฐ ์ผํฐ ๋ฌผ๋ฆฌ ์๋ฒ๋ฅผ AWS๋ก ์ฎ๊ฒจ ์๋ฒ ๋์๋ฅผ 90% ์ด์ ์ค์ด๊ณ , 5๋ ๊ฐ 3.5๋ฐฑ๋ง ๋ฌ๋ฌ์ ๋น์ฉ์ด ๊ฐ์ํ์์ต๋๋ค.
- Seaco โ SAP Business Suite๋ฅผ AWS๋ก ๊ตฌ๋ํ์ฌ 90% ์ด์ ๊ธฐ์กด ์๋ฒ๋ฅผ ์ค์์ต๋๋ค.
- Kaplan โ ๊ต์ก ์ํ์ ์ฃผ๊ดํ๋ ๊ธฐ์ ์ผ๋ก ๊ฐ๋ฐ, ํ ์คํธ, ์ ์ ์๋น์ค ์๋ฒ๋ค์ด ํ๋ 12๊ฐ ๋ฐ์ดํฐ ์ผํฐ์ ๋๋ ์ ธ ์์๋๋ฐ AWS ์ด์ ์ ํตํด 8๊ฐ๋ฅผ ์ค์์ต๋๋ค.
- Talen Energy โ ํต ๋ฐ์ ์ ์ ์ฒด๋ก์ AWS๋ก ์๋ฒ๋ฅผ ๋ชจ๋ ์ด์ ํจ์ผ๋ก์ ํต์ฌ ๋ถ์ผ์ธ ์๋์ง ๊ด๋ จ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ง์คํ ์ ์์์ต๋๋ค.
- Condé Nast โ ์ ๋ช ์ก์ง ์ถํ์ฌ๋ก์ 500์ฌ๋ ์๋ฒ์ 1ํํ๋ฐ์ดํธ ๋ฐ์ดํฐ๋ฅผ AWS๋ก ๋ชจ๋ ์ด์ ํ๊ณ ๋ฐ์ดํฐ ์ผํฐ๋ฅผ ํ์ํ์ต๋๋ค.
- Hearst Corporation โ ์ปค๋ฎค๋์ผ์ด์ ํ์ฌ๋ก์ 29๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ ์ค์ 10๊ฐ๋ฅผ AWS๋ก ์ด์ ํ์ต๋๋ค.
- University of Notre Dame โ ๋ํ ํํ์ด์ง ์๋ฒ๋ฅผ ๋ชจ๋ AWS๋ก ์ด์ ํ์๊ณ , ๋จ์ ์๋ ๋ถ๋ถ๋ ํฅํ 3๋ ๋ด์ ์ด์ ์์ ์ ๋๋ค.
- Capital One โ ๋ฏธ๊ตญ ์ ์ฉ์นด๋ ๋ฐ ๊ธ์ต์ฌ๋ก์ ์ค์ ๊ธฐ์ ๋ถ๋ฌธ์ AWS๋ก ์ด์ ํ๊ณ ์์ต๋๋ค.
- General Electric โ ๋ฏธ๊ตญ ์ฃผ์ ๊ธฐ์ ์ผ๋ก 9,000์ฌ๊ฐ์ ์ ๋ฌด๋ฅผ ์ด๋ฏธ AWS๋ก ์ด์ ํ์๊ณ , ํฅํ 34๊ฐ ์ค 30๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ๋ฅผ ๋ซ์ ์์ ์ ๋๋ค.
- ์กฐ์ด์ํฐ โ ํ๊ตญ ๊ฒ์ ์ ์ฒด๋ก์ ์์ฌ์ 14๊ฐ ์ฃผ์ ๊ฒ์์ AWS๋ก ์ด์ ํ๊ณ ํฅํ ์ถ์ ๋๋ 8๊ฐ์ ๊ฒ์๋ AWS์์ ์ถ์๋ ์์ ์ ๋๋ค.
๋ง์ฝ ์ด๋ ๊ฒ AWS ํด๋ผ์ฐ๋๋ก ์ด์ ํ๊ฒ ๋๋ฉด ๊ธฐ์กด์ ๋ฐ์ดํฐ ์ผํฐ์๋ ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊น์? ์๋ ๋์์์ Condé Nast์ AWS ํด๋ผ์ฐ๋ ์ด์ ํ ์์ฒด ๋ฐ์ดํฐ ์ผํฐ ํ์ ๊ณผ์ ์ ๋ณด์ฌ ๋๋ฆฝ๋๋ค.
์ด๋ ๊ฒ ํ์๋ ๋ฐ์ดํฐ ์ผํฐ์ ๋จ์ ๊ฑด๋ฌผ ๊ณต๊ฐ์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
๋ง์ ๋ถ๋ค์ด ์ด์ ๋ํด ์์ด๋์ด๋ฅผ ๋ณด๋ด์ฃผ์ จ๋๋ฐ, 120์ฌ ๊ฐ์ง ์ ๋ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์์ด์คํํค ๊ฒฝ๊ธฐ์ฅ, ์ค๋ด ์คํค์ฅ์ ๋ง๋ค์๋ ๋ถ ๋ถํฐ ๋ํ ์๋น, ๋ฏธ์ ๊ด, ๋ฐ๋ฌผ๊ด, ๋๋ก ๋ ๋ฆฌ๋ ๊ณต๊ฐ ๋ฑ๋ฑ ๋ง์ ์์ด๋์ด๊ฐ ์์์ต๋๋ค.
120์ฌ๊ฐ์ง์ ๋ค์ํ ์์ด๋์ด๋ฅผ ์ดํด ๋ณด์ธ์. ์ด์ AWS ํด๋ผ์ฐ๋๋ฅผ ํตํด ๊ธฐ์กด ๋ฐ์ดํฐ ์ผํฐ์ ์ฌํ์ฉ์ ๋ํ ๋ถ๋ถ์ ๋ํ ์ฆ๊ฑฐ์ด ์์๋ ๊ฐ๋ฅํด์ก์ต๋๋ค.
์ด ๊ธ์ 120 Uses for Your Empty Data Center ํ๊ตญ์ด ํธ์ง๋ณธ์ ๋๋ค.
AWS API ํธ์ถ ํ๊ธฐ (2) โ Amazon S3 ๊ฐ์ฒด์ ๋ํ ๋ฏธ๋ฆฌ ์ ์ธ๋(pre-signed) URL ์์ฑํ๊ธฐ
์ด๋ฒ ๋ธ๋ก๊ทธ ํฌ์คํ ์ ์ง๋ ๋ฒ์ ์ฌ๋ ธ๋ AWS API ํธ์ถํ๊ธฐ(๊ฐ๋ก ํธ)์ ํ์ํธ์ ๋๋ค. ์๋ง๋ ๊ฐ๋ก ํธ ๋ธ๋ก๊ทธ๋ฅผ ๋๊น์ง ์ฝ์ผ์๊ณ ๋ ์ ๋งค๋ชจํธ ํ์ จ์ ๊ฒ์ผ๋ก ์๊ฐ๋ฉ๋๋ค. ์ค์ ๋ก HTTP/HTTPS API ํธ์ถ ์์ฒญ์ ๋ง๋ค์ด ๋ณด๋ฉด์ ์ ์ฒด์ ์ธ ํ๋ฆ์ ํ์ ํ๊ณ ์ดํด๋ฅผ ๋๋๋ก ํ๊ฒ ์ต๋๋ค.
โ์ด๋ค ์์ ๊ฐ ๊ฐ๋จํ๋ฉด์๋ ์ค์ ์ ๋ฌด์ ๋์์ด ๋ ์ ์์๊น?โ ๋ง์ด ๊ณ ๋ฏผํ์๋๋ฐ์. ์ ๋ชฉ์์ ์ถ์ธกํ์ จ๊ฒ ์ง๋ง, Amazon S3 ๋ฒํท์ ์๋ ๊ฐ์ฒด๋ฅผ ํน์ ์๊ฐ ๋ด์๋ง ์ ํจํ๊ฒ ๊ณต์ ํ ์ ์๋ ๋ฏธ๋ฆฌ ์ ์ธ๋(pre-signed) URL์ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฌผ๋ก ์ด๊ณณ์ ์ฐธ์กฐํด์, Java, .NET ๊ทธ๋ฆฌ๊ณ Ruby์ฉ SDK๋ฅผ ์ด์ฉํด ๋ฏธ๋ฆฌ ์ ์ธ๋ URL์ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๋ํ AWS Explorer๋ ๊ธฐํ ์์ฉ ๋๊ตฌ์์๋ ์ด๋ฐ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์์ต๋๋ค.
์ด๋ฒ ๋ธ๋ก๊ทธ ํฌ์คํ ์์๋ bash ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด์ ์ด ๊ธฐ๋ฅ์ ์ง์ํ๋ HTTP/HTTPS API ํธ์ถ ์์ฒญ์ ์ง์ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์์ ์ ์คํฌ๋ฆฝํธ๋ ๋ฏธ๋ฆฌ ์ ์ธ๋ URL์ ๋ง๋๋๋ฐ ์๋ช ๋ฒ์ 4๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. Amazon S3 ๊ฒฝ์ฐ 2014๋ 1์ 30์ผ ์ดํ์ ์์ฑ๋ ๋ฆฌ์ ์์๋ ์๋ช ๋ฒ์ V2๋ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ 2016๋ 1์ 7์ผ ๊ฐ์ค๋ ์์ธ ๋ฆฌ์ ๋ ์๋ช ๋ฒ์ V4 ๋ง ์ง์ํฉ๋๋ค.
1. ์ฌ์ ์ค๋น ์ฌํญ
์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ openssl(1) ๋ฒ์ 1 ๋๋ ๊ทธ ์ด์์ด ํ์ํฉ๋๋ค. ์๋ช
ํค๋ฅผ ๋ง๋ค ๋ ํค๊ฐ์ด ๋ฌธ์์ด์ด ์๋ ์ด์งํค๊ฐ์ ์
๋ ฅ์ผ๋ก ๋ฐ์์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฒ์ 1 ์ด์์ด ํ์ํฉ๋๋ค. ๋ฒ์ ํ์ธ์ ์๋์ ๊ฐ์ด ํ์๊ณ , ์์ ์ ๊ฐ์ด 0.9.8zg ๋ฒ์ ์ด๋ฉด ์ด๊ณณ์์ ์์ค ์ฝ๋๋ฅผ ๋ฐ์ ์ค์นํ์๋ฉด ๋ฉ๋๋ค. ์ค์น ๋ฐฉ๋ฒ์ ์ด ๋ธ๋ก๊ทธ ๋ฒ์๋ฅผ ๋ฒ์ด๋๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์ค๋ช
๋๋ฆฌ์ง๋ ์๊ฒ ์ต๋๋ค.
$ openssl version
OpenSSL 0.9.8zg 14 July 2015
๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์ ์ ์ ์ ๋ณด์ ๋ฆฌ์ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด์ ํ๊ฒฝ ๋ณ์ AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY ๋ฐ AWS_DEFAULT_REGION ์ ์ด์ฉํ์์ต๋๋ค. ์ค์ ๋ฐฉ๋ฒ์ ์ด๊ณณ์ด๋ ์๋๋ฅผ ์ฐธ์กฐํ์๋ฉด ๋ฉ๋๋ค. AWS ๊ณ์ ์ ๋ํ ์ค์ํ ์ ์ ์ ๋ณด๋ฅผ ์คํฌ๋ฆฝํธ ์ฝ๋ ๋ด์ ํฌํจ์ํค๋ ๊ฒ์ ์ํํฉ๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ ํ๊ฒฝ์ ์ค์ ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
$ export AWS_ACCESS_KEY_ID=<YOUR_ACCESS_KEY_ID>
$ export AWS_SECRET_ACCESS_KEY=<YOUR_SECRET_ACCESS_KEY_ID>
$ export AWS_DEFAULT_REGION=<AWS_REGION>
๋ก์ผ์ผ ์ธ์ด ์ค์ ์ UTF-8์ธ์ฝ๋ฉ์ผ๋ก ์ค์ ํฉ๋๋ค. ์ด ๋ก์ผ์ผ ์ค์ ์ด ์ฌ๋ฌ๋ถ์ ์์ ํ๊ฒฝ๊ณผ ๋ค๋ฅด๋ค๋ฉด bash ์ ์คํฌ๋ฆฝํธ ๋ด์ ํฌํจ์์ผ๋ ๋ฌด๋ฐฉํฉ๋๋ค.
$ export export LC_ALL=ko_kr.UTF-8
$ export LANG=ko_kr.UTF-8
2. ์คํฌ๋ฆฝํธ ์์ฑํ๊ธฐ
์ ์ ํ ์์
์ด ์๋ฃ๋์๋ค๋ฉด, ์ด์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ค๋น๊ฐ ๋์์ต๋๋ค. Amazon S3 API ํธ์ถ ์์ฒญ์ Amazon S3 API Reference๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐธ์กฐํ์์ผ๋ฉฐ, ๋ฏธ๋ฆฌ ์ ์ธ๋ URL์ ๋ง๋ค๊ธฐ ์ํ ์ ๋ฐ์ ์ธ ์์
์์๋ ์๋์ ๊ฐ์ต๋๋ค:
- ํ์ค ์์ฒญ(Canonical Request) ํ์์ผ๋ก ๋ฉ์์ง ๋ด์ฉ๋ค์ ์ ๋ ฌํ๊ธฐ
- ์๋ช ํ๊ธฐ ์ํ ๋ฌธ์์ด(String To Sign) ๋ง๋ค๊ธฐ
- AWS ์๋ช ๋ฒ์ 4(Signature) ๊ณ์ฐํ๊ธฐ
- ์์ฑํ ์๋ช ์ ๋ณด๋ฅผ HTTP/HTTPS API ์์ฒญ์ ์ถ๊ฐํ๊ธฐ
์ ์๋ช ๊ณ์ฐ ์ ์ฐจ๋ฅผ ๊ตฌ์ฒด์ ์ด๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋์ํํด ๋์ ๊ฒ์ด ์๋ ๋ค์ด์ด๊ทธ๋จ์ด๋ฉฐ, ์ด ์์๋ฅผ ๋ฐ๋ผ์ ์คํฌ๋ฆฝ์คํ ์์ฑํ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ํญ๋ชฉ์๋ํ ๊ตฌ์ฒด์ ์ธ ์ค๋ช ์ ์ด๊ณณ์ ์ฐธ์กฐํ์๋ฉด ๋ง์ ๋์์ ์ป์ ์ ์์ต๋๋ค.

์๋๋ ์ ์ ์ฐจ์ ๋ฐ๋ผ ์์ฑ๋ ๋ฏธ๋ฆฌ ์ ์ธ๋ URL์ ํ ์์ ๋๋ค. ๊ฐ๋ ์ฑ์ ๋์ด๊ธฐ ์ํด URL์ ์ค๋ฐ๊ฟ ๋ฌธ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ค์ ๋ก๋ ํ ์ค๋ก ํํ๋์ด์ผ ํฉ๋๋ค.
https://examplebucket.s3.amazonaws.com /test.txt?
X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=<YOUR_ACCESS_KEY_ID>/20160115/ap-northeast-2/s3/aws4_request&
&X-Amz-Date=20160115T000000Z
&X-Amz-Expires=86400
&X-Amz-SignedHeaders=host
&X-Amz-Signature=<SIGNATURE_VALUE>
๊ทธ๋ฆฌ๊ณ URL์์ X-Amz-Credential ํค๋์ ๊ฐ๋ ๊ฐ๋ ์ฑ์ ์ํด์ โ/โ๋ฌธ์๋ฅผ ์ฌ์ฉํด์ ํํํ์์ต๋๋ค. ์ค์ ๋ก๋ %2F๋ก ์ธ์ฝ๋ฉ๋์ด์ ์๋์ ๊ฐ์ด ์ฌ์ฉ๋์ด์ผ ํฉ๋๋ค.
&X-Amz-Credential=<YOUR_ACCESS_KEY_ID>%2F20160115%2Fap-northeast-2%2Fs3%2Faws4_request
URL๋ด์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด, ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ค์ด ํฌํจ๋์ด ์์ต๋๋ค.
| ๋งค๊ฐ๋ณ์ | ์ค๋ช |
| X-Amz-Algorithm | ์๋ช ๋ฒ์ ๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ์๋ณํ๊ณ , ์๋ช ์ ๊ณ์ฐํ๋๋ฐ ์ฌ์ฉ. ์๋ช ๋ฒ์ 4๋ฅผ ์ํด์ โAWS4-HMAC-SHA256โ ๋ก ์ค์ |
| X-Amz-Credential | ์ก์ธ์ค ํค ID์ ๋ฒ์ ์ ๋ณด(์์ฒญ ๋ ์ง, ์ฌ์ฉํ๋ ๋ฆฌ์ , ์๋น์ค ๋ช ). ๋ฆฌ์ ๋ช ์ ๋ฆฌ์ ๋ฐ ์๋ํฌ์ธํธ์์ ํ์ธ ๊ฐ๋ฅ |
| X-Amz-Date | ๋ ์ง๋ ISO 8601ํ์. ์: 20160115T000000Z |
| X-Amz-Expires | ๋ฏธ๋ฆฌ ์ ์ธ๋ URL์ด ์ ํจํ ์๊ฐ ์ฃผ๊ธฐ. ์ด๋จ์. ์ ์ ๊ฐ. ์ต์ 1์์ ์ต๋ 604800 (7์ผ) ์: 86400 (24์๊ฐ) |
| X-Amz-SignedHeaders | ์๋ช ์ ๊ณ์ฐํ๊ธฐ ์ํด ์ฌ์ฉ๋์ด์ง๋ ํค๋ ๋ชฉ๋ก. HTTP host ํค๋๊ฐ ์๊ตฌ๋จ |
| X-Amz-Signature | ์์ฒญ์ ์ธ์ฆํ๊ธฐ ์ํ ์๋ช |
์ฃผ์: X-Amz-Signature ํค๋๋ฅผ ์ ์ธํ ๋ชจ๋ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ค์ ํ์ค ์ฟผ๋ฆฌ ๋ฌธ์์ด(Canonical Query String)์ ํฌํจ์ํต๋๋ค. ํ์ค ํค๋(Canonical Headers)๋ HTTP host ํค๋๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. ๋ฏธ๋ฆฌ ์ฌ์ธ๋ URL์ ๋ง๋ค ๋ ์ค์ ํ์ด๋ก๋์ ๋ํด ์ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ค ์์ฒญ(Canonical Request)์ ์๋ ํ์ด๋ก๋ ํด์๋ ํฌํจ ์ ์ํต๋๋ค. ๋์ โUNSIGNED-PAYLOADโ ๋ฌธ์์ด์ ์ฌ์ฉํฉ๋๋ค.
์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ง๋ ์์ฑ๋ ์คํฌ๋ฆฝํธ๋ ์๋์ ๊ฐ์ต๋๋ค. Bash ์ ์คํฌ๋ฆฝํธ์ ๋ํ ๋ธ๋ก๊ทธ ํฌ์คํ ์ด ์๋๊ธฐ ๋๋ฌธ์ bash ์ ๋ฌธ๊ตฌ์ ๋ํด์๋ ๋ฐ๋ก ์ค๋ช ํ์ง ์๊ฒ ์ต๋๋ค.
#!/bin/bash
#
export PATH="/usr/local/ssl/bin:$PATH"
urlEncode() {
LINE="$1"
LENGTH="${#LINE}"
I=0
while [ $I -lt $LENGTH ]
do
C="${LINE:I:1}"
case $C in
[a-zA-Z0-9.~_-]) printf "$C" ;;
*) printf '%%%02X' "'$C" ;;
esac
let I=I+1
done
}
getHexaDecimalString() {
read LINE
LENGTH="${#LINE}"
I=0
while [ $I -lt $LENGTH ]
do
C="${LINE:I:1}"
printf '%2x' "'$C"
let I=I+1
done
}
getSignatureKey() {
SECRET_KEY=$1
DATESTAMP=$2
REGIONNAME=$3
SERVICENAME=$4
STRING_TO_SIGN=$5
HEX_KEY=$(echo -n "AWS4${SECRET_KEY}" | getHexaDecimalString)
HEX_KEY=$(echo -n "${DATESTAMP}" | openssl dgst -sha256 -mac HMAC -macopt hexkey:${HEX_KEY})
HEX_KEY=$(echo -n "${REGIONNAME}" | openssl dgst -sha256 -mac HMAC -macopt hexkey:${HEX_KEY#* })
HEX_KEY=$(echo -n "${SERVICENAME}" | openssl dgst -sha256 -mac HMAC -macopt hexkey:${HEX_KEY#* })
SIGNING_KEY=$(echo -n "aws4_request" | openssl dgst -sha256 -mac HMAC -macopt hexkey:${HEX_KEY#* })
SIGNATURE=$(echo -en "${STRING_TO_SIGN}" | openssl dgst -binary -hex -sha256 -mac HMAC -macopt hexkey:${SIGNING_KEY#* })
echo "${SIGNATURE#* }"
}
getHexaHash() {
PAYLOAD="$@"
HASH=$(echo -n "${PAYLOAD}" | openssl dgst -sha256)
echo "${HASH#* }"
}
### Main ###
if [ -z $AWS_DEFAULT_REGION ] || [ -z $AWS_SECRET_ACCESS_KEY ] || [ -z $AWS_ACCESS_KEY_ID ]
then
echo "Please set $AWS_DEFAULT_REGION, $AWS_SECRET_ACCESS_KEY, and $AWS_ACCESS_KEY_ID environment variables"
exit 1
fi
SK="$AWS_SECRET_ACCESS_KEY"
AK="$AWS_ACCESS_KEY_ID"
REGION="$AWS_DEFAULT_REGION"
[ $# -ne 6 ] && exit 2
while getopts ":b:k:e:" OPT; do
case $OPT in
b)
BUCKET=$OPTARG
;;
k)
S3KEY=$OPTARG
;;
e)
EXPIRES=$OPTARG
;;
*)
echo "Invalid option: -$OPTARG" >&2
exit 3
;;
esac
done
SERVICENAME="s3"
HOST="${BUCKET}.${SERVICENAME}.amazonaws.com"
ENDPOINT="http://${BUCKET}.${SERVICENAME}.amazonaws.com"
# step 1. Create a Canonical request
AMZ_DATE=$(date -u +%Y%m%dT%H%M%SZ)
DATESTAMP=$(date -u +%Y%m%d)
AMZ_EXPIRES=$((${EXPIRES}*60)) # minute -> second
HTTPMETHOD="GET"
CANONICAL_URI="/${S3KEY}"
#
CANONICAL_HEADERS="host:${HOST}\n"
SIGNED_HEADERS="host"
PAYLOAD_HASH="UNSIGNED-PAYLOAD"
#
ALGORITHM="AWS4-HMAC-SHA256"
CREDENTIAL_SCOPE="${DATESTAMP}/${REGION}/${SERVICENAME}/aws4_request"
#
CANONICAL_QUERYSTRING="X-Amz-Algorithm=${ALGORITHM}"
CANONICAL_QUERYSTRING="${CANONICAL_QUERYSTRING}&X-Amz-Credential=$(urlEncode "${AK}/${CREDENTIAL_SCOPE}")"
CANONICAL_QUERYSTRING="${CANONICAL_QUERYSTRING}&X-Amz-Date=${AMZ_DATE}"
CANONICAL_QUERYSTRING="${CANONICAL_QUERYSTRING}&X-Amz-Expires=${AMZ_EXPIRES}"
CANONICAL_QUERYSTRING="${CANONICAL_QUERYSTRING}&X-Amz-SignedHeaders=${SIGNED_HEADERS}"
CANONICAL_REQUEST="${HTTPMETHOD}\n${CANONICAL_URI}\n${CANONICAL_QUERYSTRING}\n${CANONICAL_HEADERS}\n${SIGNED_HEADERS}\n${PAYLOAD_HASH}"
# step 2. String To Sign
STRING_TO_SIGN="${ALGORITHM}\n${AMZ_DATE}\n${CREDENTIAL_SCOPE}\n$(getHexaHash "$(echo -e "${CANONICAL_REQUEST}")")"
# step 3. Signature
SIGNATURE="$(getSignatureKey $SK $DATESTAMP $REGION $SERVICENAME $STRING_TO_SIGN)"
# step 4. Create a request URL
CANONICAL_QUERYSTRING="${CANONICAL_QUERYSTRING}&X-Amz-Signature=${SIGNATURE}"
echo "request_url = ${ENDPOINT}/${S3KEY}?${CANONICAL_QUERYSTRING}"
์คํฌ๋ฆฝํธ์ ๊ฐ๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํด์ ๋๋ถ๋ถ์ ์๋ฌ ์ฒ๋ฆฌ ๋ฃจํด์ ๋ฐฐ์ ํ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ ์ ํ ์๋ฌ ์ฒ๋ฆฌ ๋ฃจํด๋ค์ด ์ถ๊ฐ๋์ด์ผ ํ๊ณ ์ถฉ๋ถํ ํ ์คํธ๋ฅผ ๊ฑฐ์น ํ ์ฌ์ฉํ์๊ธธ ๊ถ์ฅํฉ๋๋ค.
์๋๋ ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด์ ํ ์๊ฐ๋์๋ง ๋ฒํท examplebucket์ ํฌํจ๋ ์ค๋ธ์ ํธtest.txt๋ฅผ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๊ณต์ ํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ์ฌ์ธ๋ URL์ ๋ง๋ ์์ ๋๋ค.
$ ./apis3.sh -b examplebucket -k test.txt -e 60
request_url = http://examplebucket.s3.amazonaws.com/test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<YOUR_ACCESS_KEY_ID>%2F20160115%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20160115T130732Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=d0578b9fe721c9964765f2ab6bf6f8a1fc7c4966956785688b881783b661bdfd
์ด URL์ ์์ฑ๋ ์๊ฐ๋ถํฐ 60๋ถ๊ฐ ์ ํจํ๋ฉฐ, ๊ณต์ ํ๊ณ ์ถ์ ์์์ ์ฌ๋์๊ฒ ์ ๋ฌํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณต์ ๋ ๋งํฌ๋ฅผ ํด๋ฆญํ๊ฑฐ๋ curl(1) ๋ช ๋ น์ด๋ก ์คํํ๊ฒ ๋๋ฉด, ํด๋น API ํธ์ถ ์์ฒญ์ดAmazon S3 ์๋ํฌ์ธํธ๋ก ์ ๋ฌ๋๊ณ ์ ์ ํ ์ฒ๋ฆฌ๋ฉ๋๋ค.
์๋๋ curl(1) ๋ฅผ ์ด์ฉํด์ ์ค๋ธ์ ํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ค์ด๋ก๋ํ ์์ ๋๋ค.
$ curl -o "test.txt" "http://examplebucket.s3.amazonaws.com/test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<YOUR_ACCESS_KEY_ID>%2F20160115%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20160115T130732Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=d0578b9fe721c9964765f2ab6bf6f8a1fc7c4966956785688b881783b661bdfd"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3619 100 3619 0 0 6305 0 --:--:-- --:--:-- --:--:-- 6304
๊ทธ๋ฆฌ๊ณ ์๋๋ ์๊ฐ์ด ์ด๊ณผ๋์ด ๋ค์ด๋ก๋๊ฐ ์คํจํ ์์ ๋๋ค.
$ curl -o "test.txt" "http://examplebucket.s3.amazonaws.com/test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<YOUR_ACCESS_KEY_ID>%2F20160115%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20160115T130732Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=d0578b9fe721c9964765f2ab6bf6f8a1fc7c4966956785688b881783b661bdfd"
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Request has expired</Message><X-Amz-Expires>60</X-Amz-Expires><Expires>2016-01-15T140732:52Z</Expires><ServerTime>2016-01-18T20:13:55Z</ServerTime><RequestId>F865CB514FF4C92A</RequestId><HostId>f6Bv6Jtht91bSqt8OPsxirsrHZkWs7Qcc4kNYjZ2tJbPUmt8BW9Wv1hAUY2YFDKqSpEvFr8PLbI=</HostId></Error>
์ง๊ธ๊น์ง ์ด 2ํ์ ํฌ์คํ
์ ํตํด์ AWS API ํธ์ถ ์์ฒญ์ ์ด๋ป๊ฒ ๋ง๋ค ์ ์๋์ง ์ดํด๋ณด์์ต๋๋ค. ํนํ ์ค์ ํธ์์ ์ ๊ณต๋ ์๋ ๋ง์ ์ฌ์ฉ์๋ค์ด ๋ฌธ์ํ์ ๋ด์ฉ์ด๊ธฐ๋ ํฉ๋๋ค. ์ด๋ฒ ๊ธ์ ํตํด์ ์์ผ๋กAWS API ํธ์ถ์ ํ์ฉํ์ค ์ ์๊ณ , S3 ์ค๋ธ์ ํธ๋ฅผ ์์ ํ๊ฒ ๊ณต์ ํ๋๋ฐ ์กฐ๊ธ์ด๋ผ๋ ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค.
๋ณธ ๊ธ์ ์๋ง์กด์น์๋น์ค ์ฝ๋ฆฌ์์ ์๋ฃจ์
์ฆ ์ํคํ
ํธ๊ฐ ๊ตญ๋ด ๊ณ ๊ฐ์ ์ํด ์ ํด ๋๋ฆฌ๋ AWS ํ์ฉ ๊ธฐ์ ํ์ ๋ณด๋ด๋๋ฆฌ๋ ์ฝ๋๋ก์, ์ด๋ฒ ๊ธ์ ๋ฐ์ฒ ์ ์๋ฃจ์
์ฆ ์ํคํ
ํธ๊ป์ ์์ฑํด์ฃผ์
จ์ต๋๋ค.

AWS API ํธ์ถํ๊ธฐ (1) โ ๊ฐ๋ก ํธ
์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๊ธฐ ์ํ ํ๊ฒฝ์ ์ป๊ธฐ๊น์ง ์ ํต์ ์ธ ๋ฐ์ดํฐ์ผํฐ ํ๊ฒฝ์์ ๊ด๋ฆฌ์๋ ๊ฑฐ์ ๋ชจ๋ ์์ ์ ์๋์ผ๋ก ์ํํฉ๋๋ค. ๊ด๋ฆฌ์์ ์ด์์๋ ์๋ฒ, ์คํ ๋ฆฌ์ง ๋ฐ ๋คํธ์ํฌ์ ๊ฐ์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด์์ฒด์ ์ ํ์ํ ํ๋ ์์ํฌ๋ฅผ ์ค์นํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ ์ ์๋ ํ๊ฒฝ๊น์ง ์ ๊ณตํ๋๋ฐ ์๋นํ ์๊ฐ์ ์๋นํฉ๋๋ค.
๋ฐ๋ผ์ ๊ทธ ๋งํผ ๋น์ฆ๋์ค์ ์์ฅ ์ง์ ์๊ฐ์ ๊ธธ์ด์ง ์ ๋ฐ์ ์์ต๋๋ค. ํ์ง๋ง ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ฒฝ์ฐ์๋ ๋คํธ์ํฌ๊ฐ ๊ฐ๋ฅํ ๊ณณ์ด๋ผ๋ฉด ์ฅ์๋ ์๊ฐ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ์ธ์ ์ด๋์๋ API ํธ์ถ์ ํตํด ์๋ถ๋ด์ ์ํ๋ ์์์ ์ฝ๊ฒ ์ป์ ์ ์์ต๋๋ค.

AWS ํด๋ผ์ฐ๋์์ ์ธํ๋ผ ๋ฟ๋ง ์๋๋ผ ๋ณด์, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ถ์, ๋ฐฐํฌ ๋ฐ ๋ชจ๋ํฐ๋ง ๋ฑ์ ๋ชจ๋ IT ์์์ API ํธ์ถ์ ํตํด์ ์ด์ฉ๋ฉ๋๋ค. API๋ ์ด๋ ๊ฒ ๋ชจ๋ IT ์์์ ์ฝ๋๋ก ์ ์ดํ ์ ์๋๋ก ๋ง๋ค์์ต๋๋ค. API๋ฅผ ํธ์ถํ๋ค๋ ๊ฒ์ ๊ฐ๋ฐ์์๊ฒ๋ ๊ทธ๋ฆฌ ์ด๋ ต๊ณ ์์ํ ์ผ์ ์๋์ง๋ง, ์ด์์๋ ๊ด๋ผ์ ๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ ์ฌ์ฉ์ ์ธก๋ฉด์์๋ ๋ฏ์ ์ผ์ ๋๋ค.
๊ทธ๋์, AWS๋ ์ฌ์ฉ์๋ค์ ํธ์๋ฅผ ์ํด ์ง์ API ํธ์ถ์ ํ์ง ์๊ณ ๋ ๋ณด๋ค ์ฝ๊ณ ํธํ๊ฒ ์์์ ํ๋ก๋น์ ๋ํ๊ฑฐ๋ ๋ณ๊ฒฝ ๋ฐ ๊ด๋ฆฌํ ์ ์๋ ์ฌ๋ฌ๊ฐ์ง ๋๊ตฌ๋ค๋ ๊ฐ๋ฐํด์ ํจ๊ป ์ง์ํฉ๋๋ค. ์๋น์ค๋ง๋ค ์ ์ค๊ณ๋ ์น ๊ธฐ๋ฐ์ ๊ด๋ฆฌ ์ฝ์์ด๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค๊ฐ ๋ํ์ ์ธ ์์ด๊ณ , ์ฌ์ง์ด ๊ฐ๋ฐ์์๊ฒ๋ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ํ SDK๊น์ง ์ ๊ณตํฉ๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ๋ด๋ถ์ ์ผ๋ก ๊ธฐ๋ณธ ์์ฌ๋ฃ์ ํด๋นํ๋ API๋ฅผ ํธ์ถํ๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค.
์ด์ฒ๋ผ ์ง๊ด์ ์ด๊ณ ํธ๋ฆฌํ ๋ง์ ๋๊ตฌ๋ค์ด ์ ๊ณต๋์ง๋ง, ๊ฒฝ์ฐ์ ๋ฐ๋ผ AWS ํด๋ผ์ฐ๋์ HTTP/HTTPS ๊ธฐ๋ฐ์ APIํธ์ถ ์์ฒญ์ ์ง์ ๋ณด๋ด์ผ ํ๋ ๋๋ ์์ต๋๋ค. ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ๋ํ์ ์ธ ์๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค:
- C์ ๊ฐ์ด SDK๋ฅผ ์ ๊ณตํ์ง ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ
- ์ ๊ท๋ก ์ ๊ณต๋๋ ์๋น์ค์ ๊ธฐ๋ฅ๋ค์ ๋ํด SDK ์ง์์ด ์์ง ์ ๋๋ ๊ฒฝ์ฐ
- AWS ์์์ ๋ณด๋ด์ง ์์ฒญ์ด๋ ์๋ต์ ๋ํด์, ๋ณด๋ค ์ธ๋ถ์ ์ด๊ณ ์๋ฒฝํ๊ฒ ์ ์ดํ๊ณ ์ถ์ ๊ฒฝ์ฐ
AWSํด๋ผ์ฐ๋๋ก API๋ฅผ ์์ฒญํ ๋, ๋ชจ๋ HTTP/HTTPS ์์ฒญ์ ๋ฉ์์ง์ ๋ํ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ธ์ฆ์ ๋ณด์ฅํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ๋ฏธ๋ฆฌ ์๋ช ์ฒ๋ฆฌ๊ฐ ๋์ด์ผ ํ๊ณ , ์ด๋ฐ ์๋ช ์ฒ๋ฆฌ๋ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ํตํด์ ์์ฒญ ๋ฉ์์ง์ ์์ ์ฑ์ ๋ณด์ฅํฉ๋๋ค:
- ์์ฒญ์ ์ ์ ํ์ธ: ์์ฒญ์๋ ์ ํจํ โ์ก์ธ์ค ํค IDโ์ โ๋น๋ฐ ์ก์ธ์ค ํคโ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํฉ๋๋ค. (๋๋ AssumeRole์ด๋ GetFederationToken๊ณผ ๊ฐ์ STS API ํธ์ถ์ ํตํด์ ์ป์ ์์ ๋ณด์ ์๊ฒฉ์ ๊ฐ์ง๊ณ ๋ ์์ฒญํ ์ ์์ต๋๋ค.)
- ์ ์ก ์ค ๋ฐ์ดํฐ ๋ณดํธ: ์ ์ก ์ค ์์ฒญ์ด ์กฐ์๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์, ์์ฒญ ๊ตฌ์ฑ ์์๋ค ์ค ๋ช ๊ฐ์ง๋ ์์ฒญ์ ๋ํด ํด์๋ฅผ ๊ณ์ฐํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ํด์๊ฐ์ ์์ฒญ์ ์ผ๋ถ๋ก ํฌํจ๋ฉ๋๋ค. AWS๊ฐ ํด๋น ์์ฒญ์ ์์ ํ๋ฉด, ๋์ผํ ์ ๋ณด์ ๊ธฐ์ดํ์ฌ ํด์๋ฅผ ๊ณ์ฐํ๊ณ ์์ฒญ์ ํฌํจ๋ ํด์ ๊ฐ๊ณผ ์ผ์นํ๋์ง ๋น๊ตํฉ๋๋ค. ๋ง์ผ ํด์๊ฐ์ด ์ผ์นํ์ง ์์ผ๋ฉฐ, AWS๋ ํด๋น ์์ฒญ์ ๊ฑฐ์ ํฉ๋๋ค.
- ์ ์ฌ์ ์ธ ์ฌ์ ๊ณต๊ฒฉ(replay attack) ๋ฐฉ์ด: ๋ชจ๋ ์์ฒญ์ ํ์ ์คํฌํ๋ฅผ ๊ธฐ์ค์ผ๋ก 5๋ถ๊ฐ๋ง ์ ํจํ๋ค๊ณ ์ธ์ ๋๋ฉฐ, ๊ทธ ๊ธฐ๊ฐ์ด ์ง๋ ์์ฒญ์ ์ ๋ถ ๊ฑฐ์ ๋ฉ๋๋ค.
์ด์ ๋ํ ์ ์ฒด์ ์ธ ์๋ช
๊ณผ์ ์ ์์ฝํ์๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ต๋๋ค.

๋ณด์์ ๋ ๊ฐํํ๊ธฐ ์ํด์ HTTPS๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญ์ ์ ์กํ ์ ์์ต๋๋ค. SSL์ ์ํธํ ์ ์ก์ ํ๊ธฐ ๋๋ฌธ์, ์์ฒญ๊ณผ ์๋ต ์ ์ก์ ์ํธํํด์ ์ถ๊ฐ์ ์ผ๋ก ๋ ๋ณดํธํฉ๋๋ค. ํ์ง๋ง AWS์ ์๋น์ค๋ค๋ง๋ค ์ง์ํ๋ ํ๋กํ ์ฝ์ด ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ด๋ค ์๋น์ค๋HTTP ๋๋ HTTPS๋ง ์ง์ํ๋ ์๋น์ค๊ฐ ์์ ์ ์๊ณ , ๋ ๋ ๊ฐ์ง ํ๋กํ ์ฝ ๋ชจ๋๋ฅผ ์ง์ํ๋ ์๋น์ค๋ ์์ต๋๋ค. ์ง์ํ๋ ์๋น์ค์ ํ๋กํ ์ฝ์ ๋ํ ์์ธํ ์ฌํญ์ ์ฌ๊ธฐ๋ฅผ ํด๋ฆญํด๋ณด์๋ฉด ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
AWS๋ ํ์ฌ ์๋ช ๋ฒ์ (signature version) 2์ ์๋ช ๋ฒ์ 4 ๋ ๊ฐ์ง๋ฅผ ์ง์ํฉ๋๋ค. ๋๋ถ๋ถ์ ์๋น์ค๋ ๋ฒ์ 2๋ณด๋ค ๋ฒ์ 4๋ฅผ ๋ ์ง์ํฉ๋๋ค. ๋ง์ผ ์๋น์ค๊ฐ ๋ ๊ฐ์ง ์๋ช ๋ฒ์ ์ ๋ชจ๋ ์ง์ํ๋ค๋ฉด, ์ต์ ์ ๋ฒ์ 4๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์๋ช ๋ฒ์ 2์ ๋ํ ์ฌํญ์ ์ด๊ณณ์ ์ฐธ์กฐํ์๊ณ , ์๋ช ๋ฒ์ 4์์ ๋ณ๊ฒฝ๋ ์ฌํญ์ ํ์ธํ์๋ ค๋ฉด ์ฌ๊ธฐ๋ฅผ ํ์ธํด ๋ณด์ธ์. ์ด ํ ์ค๋ช ๋๋ ๋ชจ๋ ์ฌํญ๋ค์ ์๋ช ๋ฒ์ 4์ ๋ํ ๋ด์ฉ์ ๋๋ค.
๊ฐ ์์ฒญ์ ์๋ช ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ ํํ ์ ์์ต๋๋ค:
- HTTP ์ธ์ฆ ํค๋: HTTP ์ธ์ฆ ํค๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ช ์ ์ถ๊ฐํฉ๋๋ค.
- ์ฟผ๋ฆฌ ๋ฌธ์์ด ๋งค๊ฐ๋ณ์: ์๋ช ์ ์ฟผ๋ฆฌ ๋ฌธ์์ด ๊ฐ์ผ๋ก ์ถ๊ฐํฉ๋๋ค. ์์ฒญ ์๋ช ์ด ๊ทธ URL์ ์ผ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์ข ๋ฅ์ URL์ ๋ฏธ๋ฆฌ ์๋ช ๋(pre-signed) URL์ด๋ผ๊ณ ์ง์นญํฉ๋๋ค.
์๋๋ ์๋ ๋ธ๋ผ์ฐ์ ์์ ์๋ช ์ ๋ณด ์์ด AWS๋ก ์์ฒญ์ ๋ณด๋ผ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค.
GET https://iam.amazonaws.com/?Action=ListUsers&Version=2010-05-08 HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Host: iam.amazonaws.com
X-Amz-Date: 20150830T123600Z
์ด๋ฌํ ์์ฒญ์ HTTP ์ธ์ฆ ํค๋๋ก ์ ์ก๋์์ ๋์ ์ฟผ๋ฆฌ ๋ฌธ์์ด ๋งค๊ฐ๋ณ์๋ก ์ ์ก๋์ด์ก์ ๋ ์๋์ ๊ฐ์ด ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
HTTP ์ธ์ฆ ํค๋
์ฌ์ฉ์๋ Authorization ํค๋๋ฅผ ํตํด์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋น๋ก ํค๋ ์ด๋ฆ์ด Authorization๋ก ๋์ด ์์ง๋ง, ์๋ช
์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ํค๋ ๊ฐ๋ค์ ์ค์ ๋ก ํด๋น ์์ฒญ์ด ๋๊ตฌ์์ ์๋์ง ์ธ์ฆ์ ํ๋ฆฝํ๊ธฐ ์ํด์ ์ฌ์ฉ๋ฉ๋๋ค.
Authorization ํค๋๋ ์๋ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค:
- ์๋ช ํ๊ธฐ ์ํด ์ฌ์ฉ๋ ์๊ณ ๋ฆฌ์ฆ (์: AWS4-HMAC-SHA256)
- ์๊ฒฉ ๋ฒ์ (์: ์ก์ธ์ค ํค ๋ฑ)
- ์๋ช ํค๋ ๋ชฉ๋ก
- ๊ณ์ฐ๋ ์๋ช
๊ณ์ฐ๋ ์๋ช ์ ์ํธํ๋์ด ์์ฑ๋ ๋ฌธ์์ด์ ๋๋ค. ์ด ์๋ช ์ ์์ฒญ ์ ๋ณด์ ๊ธฐ๋ฐํ์ฌ ์์ฑ๋๋ฉฐ, AWS ๋น๋ฐ ์ก์ธ์ค ํค๋ฅผ ์ฌ์ฉํด์ ์๋ช ์ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ์ ์์ฒญ์ ์์ ํ AWS์์ ์ฌ์ฉ์ ์ ์์ ํ์ธํ๋๋ฐ ์ด์ฉ๋ฉ๋๋ค.
์๋ ์๋ ์์์ ๋ณด์ จ๋ ์์ฒญ์ ์๋ช ์ ๋ณด๋ฅผ ์์ฑํ๊ณ , ์ด๋ฅผ Authorization ํค๋์ ์ถ๊ฐํ ๊ฒฝ์ฐ ๋ณด์ฌ์ง๋ ๋ด์ฉ์ ๋๋ค.
GET https://iam.amazonaws.com/?Action=ListUsers&Version=2010-05-08 HTTP/1.1
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7
content-type: application/x-www-form-urlencoded; charset=utf-8
host: iam.amazonaws.com
x-amz-date: 20150830T123600Z
์ฟผ๋ฆฌ ๋ฌธ์์ด ๋งค๊ฐ๋ณ์
์์ฒญ ํค๋์ ์ธ์ฆ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ๋์ , ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ํฌํจ ํ ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ์๋น์ค ์ด๋ฆ๊ณผ ์ก์
, ๋ ์ง, ๊ทธ๋ฆฌ๊ณ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ํ ๋งค๊ฐ๋ณ์๋ค ๋ฑ ์์ฒญ์ ์ผ๋ถ์ธ ๋ชจ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
์๋ ์๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ์ก์ ๊ณผ ์ธ์ฆ ์ ๋ณด๋ฅผ ํฌํจ์์ผ์, GET ์์ฒญ์ ์ด๋ป๊ฒ ๊ตฌ์ฑํ์๋์ง ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค
GET https://iam.amazonaws.com?Action=ListUsers&Version=2010-05-08&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fiam%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=60&X-Amz-SignedHeaders=content-type%3Bhost&X-Amz-Signature=37ac2f4fde00b0ac9bd9eadeb459b1bbee224158d66e7ae5fcadb70b2d181d02 HTTP/1.1
content-type: application/x-www-form-urlencoded; charset=utf-8
host: iam.amazonaws.com
๋ง์ AWS ์๋น์ค๋ค์ด ์ง์ํ๋ ์ฟผ๋ฆฌAPI๋ HTTP GET์ด๋ POST๋ฅผ ์ฌ์ฉํด์ ์์ฒญ์ ๋ง๋ค ์ ์๋๋ก ํด์ค๋๋ค. GET ์์ฒญ์ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ๊ธฐ ๋๋ฌธ์, URL์ ์ต๋ ๊ธธ์ด ์ ํ์ ์ ์ฉ๋ ์ ์์ต๋๋ค. ๋ง์ผ IAM ์ ์ฑ ์ ์ ๋ก๋ํ๊ฑฐ๋ DynamoDB ์์ฒญ์ ์ํด JSON ํํ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ์์ฒญ์ด ํฐ ํ์ด๋ก๋(Payload)๋ฅผ ํฌํจํ๊ณ ์๋ค๋ฉด, ์ผ๋ฐ์ ์ผ๋ก POST ์์ฒญ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
์๋ ์ ์ฐจ๋ HTTP/HTTPS ๊ธฐ๋ฐ์ ์๋ช ๋ AWS API ์์ฒญ์ ์ด๋ป๊ฒ ๋ง๋๋์ง ๊ฐ๋ตํ๊ฒ ์์ฝํ ๋ด์ฉ์ ๋๋ค:
- ํ์ค ์์ฒญ(Canonical Request)ํ์์ผ๋ก ๋ด์ฉ๋ค์ ์ ๋ ฌํ๊ธฐ โ ํธ์คํธ, ์ก์ , ํค๋ ๋ฑ์ ์์ฒญ ๋ด์ฉ์ ์ ๋ ฌํ์ฌ ํ์ค ํ์์ผ๋ก ๋ง๋ญ๋๋ค. ์ด ํ์ค ์์ฒญ์ ์๋ ์๋ช ํ๊ธฐ ์ํ ๋ฌธ์์ด์ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๊ตฌ์ฒด์ ์ ์ ๋ณด๋ ์ด๊ณณ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
- ์๋ช ํ๊ธฐ ์ํ ๋ฌธ์์ด(StringToSign) ๋ง๋ค๊ธฐ โ ์๊ณ ๋ฆฌ์ฆ, ์์ฒญ ๋ ์ง, ์๊ฒฉ ๋ฒ์ ๋ฐ ์์ ์์ฑํ ํ์ค ์์ฒญ์ ํด์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ช ํ๊ธฐ ์ํ ๋ฌธ์์ด์ ๋ง๋ญ๋๋ค. ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ์ด๊ณณ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
- AWS ์๋ช ๋ฒ์ 4(Signature) ๊ณ์ฐํ๊ธฐ โ AWS ๋น๋ฐ ์ก์ธ์ค ํค๋ฟ๋ง ์๋๋ผ ์์ฒญ ๋ ์ง, ๋ฆฌ์ , ๊ทธ๋ฆฌ๊ณ ์๋น์ค์ด๋ฆ์ ๊ฐ์ง๊ณ ์ฐ์์ ์ธ ํด์ ํค์ ๋์์ ํํจ์ผ๋ก์จ ์๋ช ํค๋ฅผ ์ ๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์๋ช ํค์ ์๋ช ํ๊ธฐ ์ํ ๋ฌธ์์ด์ ์ด์ฉํด์ ์๋ช ์ ๋ง๋ญ๋๋ค. ๊ตฌ์ฒด์ ์ธ ์ ๋ณด๋ ์ด๊ณณ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
- ์์ฑํ ์๋ช ์ ๋ณด๋ฅผ HTTP/HTTPS API ์์ฒญ์ ์ถ๊ฐํ๊ธฐ โ ์๋ช ์ ๊ณ์ฐํ ํ, ๊ทธ๊ฒ์ ํค๋๋ ์์ฒญ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ์ถ๊ฐํฉ๋๋ค. ๊ตฌ์ฒด์ ์ธ ์ ๋ณด๋ ์ด๊ณณ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ์์ฑ๋ URL์ ํด๋น AWS ์๋น์ค์ ์๋ํฌ์ธํธ์ ๋ณด๋ด๋ ๊ฒ์ด API ํธ์ถ์ ๋๋ค. ๋ฆฌ์ ๋ณ ๊ฐ ์๋น์ค์ ์๋ํฌ์ธํธ๋ ์ด๊ณณ์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ฒ ๋ธ๋ก๊ทธ์์๋ AWS API ํธ์ถ ์์ฒญ์ ๋ํ ๊ธฐ๋ณธ ์ ๋ณด์ ์ด๋ป๊ฒ ๋ง๋๋์ง ์ ๋ฐ์ ์ธ ๊ณจ๊ฒฉ์ ํ์ธํ์์ต๋๋ค. ๋ค์ ํ์์๋ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ค์ HTTP/HTTPS API ํธ์ถ ์์ฒญ์ ์ง์ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค.
๋ณธ ๊ธ์ ์๋ง์กด์น์๋น์ค ์ฝ๋ฆฌ์์ ์๋ฃจ์
์ฆ ์ํคํ
ํธ๊ฐ ๊ตญ๋ด ๊ณ ๊ฐ์ ์ํด ์ ํด ๋๋ฆฌ๋ AWS ํ์ฉ ๊ธฐ์ ํ์ ๋ณด๋ด๋๋ฆฌ๋ ์ฝ๋๋ก์, ์ด๋ฒ ๊ธ์ ๋ฐ์ฒ ์ ์๋ฃจ์
์ฆ ์ํคํ
ํธ๊ป์ ์์ฑํด์ฃผ์
จ์ต๋๋ค.

1์-2์ AWS ๊ธฐ์ด ์จ๋น๋ ๋์์ ๋ฐ ๋ฐํ ์๋ฃ ๋ชจ์
AWS์ฝ๋ฆฌ์์์๋ AWS ํด๋ผ์ฐ๋ ๊ธฐ์ด ์ง์๊ณผ ์ต์ ๊ธฐ์ ์ ์๊ฐํ๋ ์จ๋ผ์ธ ์ธ๋ฏธ๋์ธ ์จ๋น๋(Webinar)๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐ์ตํ๊ณ ์์ต๋๋ค. ์ง๋ ์จ๋ผ์ธ ์ธ๋ฏธ๋ ๋ฐํ ์๋ฃ ๋ฐ ๋ นํ ๋์์์ ํตํด์๋ ๋ฐฐ์ธ ์ ์์ผ๋ฉฐ, ๋ นํ ์ ์ฌ์ฉ์๋ค์ Q&A ๋ฑ์ ํตํด ๋ ์์ธํ ๋ด์ฉ๋ ํ์ธํ์ค ์ ์์ต๋๋ค.
AWS ํด๋ผ์ฐ๋ ๊ธฐ์ ์ ์ดํดํ์๋๋ฐ, ๋์์ด ๋์๊ธธ ๋ฐ๋ผ๋ฉฐ ๋งค์ ํน์ ๋ฐ๊ธฐ๋ณ ์จ๋น๋ ์ผ์ ์ Twitter ํน์ Facebook์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.

2016๋ 1์ AWS ๊ธฐ์ด ์จ๋น๋ ์๋ฆฌ์ฆ
์๋ฆผ: ๋์์ ๋ค์ ๋ณด๊ธฐ๋ ํ๋์๊ฐ ์ค์น๋ PC์์๋ง ๊ฐ๋ฅํฉ๋๋ค.
2์ 27์ผ(์)
[์ฌํ] Amazon Elasticsearch Service ์๊ฐ ๋ฐ ํ์ฉ ๋ฐฉ๋ฒ
- ๊ฐ์ฌ: ์ค์์ฐฌ (AWS์ฝ๋ฆฌ์, ํ ํฌ์๋ฐ์ ค๋ฆฌ์คํธ)
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ | Youtube๋ก ๋ค์ ๋ณด๊ธฐ | ์ฌ๋ผ์ด๋ ์์ด ๋ฐํ ์๋ฃ
1์ 26์ผ(ํ)
[๊ธฐ์ด] AWS ํด๋ผ์ฐ๋ ์ดํดํ๊ธฐ โ ์ฌ๋ก ์ค์ฌ์ผ๋ก
- ๊ฐ์ฌ: ์ ๋ฏผ์ (AWS์ฝ๋ฆฌ์, ๊ธฐ์ ์์ ๋งค๋์ )
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
[๊ธฐ์ด] AWS์ ๋ํด ๊ฐ์ฅ ๊ถ๊ธํ๋ ์ด ๊ฐ์ง
- ๊ฐ์ฌ: ์ ์ฐ๊ทผ (AWS์ฝ๋ฆฌ์, ๊ธฐ์ ์์ ๋งค๋์ )
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
[๊ธฐ์ด] AWS ํด๋ผ์ฐ๋ ๋ณด์ ๋ฐ ๊ท์ ์ค์ ์๊ฐ
- ๊ฐ์ฌ: ๋ฐ์ฒ ์ (AWS์ฝ๋ฆฌ์, ์๋ฃจ์ ์ฆ์ํคํ ํธ)
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
[๊ธฐ์ด] ์ํฐํ๋ผ์ด์ฆ๋ฅผ ์ํ AWS ์ง์ ๋ฐ ์ฌ๋ก
- ๊ฐ์ฌ: ์์์ (AWS์ฝ๋ฆฌ์, ์ํฐํ๋ผ์ด์ฆ ์์ ๋ด๋น ๋ถ์ฅ)
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
1์ 27์ผ(์)/28์ผ(๋ชฉ)
[ํต์ฌ] AWS ์์ํ๊ธฐ ๋ฐ Amazon S3 ์๋น์ค ์ดํด๋ณด๊ธฐ
- ๊ฐ์ฌ: ์ค์์ฐฌ (AWS์ฝ๋ฆฌ์, ํ ํฌ์๋ฐ์ ค๋ฆฌ์คํธ)
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
[ํต์ฌ] Amazon CloudFront ์๋น์ค ์ดํด๋ณด๊ธฐ
- ๊ฐ์ฌ: ์ต์ ์ฑ (AWS์ฝ๋ฆฌ์, ์๋ฃจ์ ์ฆ์ํคํ ํธ)
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
[ํต์ฌ] Amazon EC2 ์๋น์ค ์ดํด๋ณด๊ธฐ
- ๊ฐ์ฌ: ๋ฐ์ฒ ์ (AWS์ฝ๋ฆฌ์, ์๋ฃจ์ ์ฆ์ํคํ ํธ)
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
[ํต์ฌ] Amazon RDS ์๋น์ค ์ดํด๋ณด๊ธฐ
- ๊ฐ์ฌ: ๊น์ฉ์ฐ (AWS์ฝ๋ฆฌ์, ์๋ฃจ์ ์ฆ์ํคํ ํธ)
Adobe Connect๋ก ๋ค์ ๋ณด๊ธฐ
๋งค์ ์๋ ๋ฐ๊ธฐ์ ์๋ ์ ๊ธฐ ์จ๋น๋์ ์ง์ ์ฐธ์ฌํ ๊ฒฝ์ฐ, ๊ฐ์ ๋์ค ์ฌ์ฉ์๋ค์ Q&A ๋ฑ์ ํตํด ๋ ์์ธํ ์ง์ ์๋ต๋ ๊ฐ๋ฅํฉ๋๋ค. ๋งค์ ํน์ ๋ฐ๊ธฐ๋ณ ์จ๋น๋ ์ผ์ ์ Twitter ํน์ Facebook์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
โถ ์ง๋ ์จ๋น๋ ๋ฐํ ์๋ฃ ๋์์์ ๋ค์ ๋ณด๊ธฐ




