Courses
Reviews
- NodeJS backend development right now [Saju Manse Calendar]
- Naver Cloud Security Architecture and Costs
- Linux Now - Take Advantage of Free Cloud Servers
- Experience the AI Singularity Right Now [Text To Image]
- DevOps Now - Terraform X AWS
Posts
Q&A
์ธ์คํด์ค ์์ฑ ์ค ์ค๋ฅ
์๋ ํ์ธ์. ์ค๋ผํด์์ ๋ฌด๋ฃ๋ก ์ด์ฉํ๋ค๋ณด๋ ์ํํ๊ฒ ์ด์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํฉ๋๋ค.์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์๋ ๋ถํ๋๋ฆฝ๋๋ค.์ค๋ผํด ํด๋ผ์ฐ๋ ์ธํ๋ผ(OCI)์์ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ ๋ฉ์์ง๋ก ์ธํด ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค:Out of capacity for shape VM.Standard.A1.Flex in availability domain AD-1. Create the instance in a different availability domain or try again later. If you specified a fault domain, try creating the instance without specifying a fault domain, otherwise try creating the instance in a different availability domain. If that doesnโt work, please try again later.์ด๋ ์ฌ์ฉํ๋ ค๋ Availability Domain(AD)์์ ํด๋น ํํ(shape)์ ๋ํ ๋ฆฌ์์ค๊ฐ ๋ถ์กฑํ์ฌ ๋ฐ์ํ๋ ์๋ฌ์ ๋๋ค. OCI์์ ๋ฌด์(A1) ๋๋ ํน์ ๋ฆฌ์์ค๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ณ์ ์ ๋น๋ฒํ ๋ฐ์ํ ์ ์์ต๋๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒ๋ค๋ฅธ Availability Domain ์ฌ์ฉํ์ฌ ์ง์ญ(Region) ๋ด์ ์ฌ๋ฌ AD๊ฐ ์๋ ๊ฒฝ์ฐ, ๋ค๋ฅธ AD(์: AD-2, AD-3)์์ ๊ฐ์ ํํ(Shape)๋ก ๋ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํด ๋ด ๋๋ค.AD๋ณ๋ก ํ ๋น๋ ๋ฆฌ์์ค๊ฐ ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก, ํ ๋๋ฉ์ธ์์ ๋ถ๊ฐ๋ฅํ๋๋ผ๋ ๋ค๋ฅธ ๋๋ฉ์ธ์์๋ ๊ฐ๋ฅํ ์ ์์ต๋๋ค.Fault Domain ์ค์ ์ ๊ฑฐ๋ง์ฝ ์ธ์คํด์ค ์์ฑ ์, Fault Domain์ ํน์ ํด์ ์ค์ ํ๋ค๋ฉด ๊ทธ ์ค์ ์ ์ ๊ฑฐ ํ ์๋ํด ๋ด ๋๋ค.Fault Domain์ ๊ฐ์ AD ๋ด์์๋ ๋ฌผ๋ฆฌ์ ์ฅ์ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ์ง๋ง, ๊ทธ๋งํผ ์์ ํ ๋น์ด ์ ํ๋ ์ ์์ต๋๋ค.ํํ(Shape) ๋ณ๊ฒฝ ์๋๊ผญ VM.Standard.A1.Flex๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ์ด ์๋๋ผ๋ฉด, VM.Standard.E2.1 ๋๋ ๋ค๋ฅธ ํํ๋ก ์์ฑ ๊ฐ๋ฅํ์ง ํ์ธํด ๋ด ๋๋ค.ํน์ ์๋น์ค(์: Arm ๊ธฐ๋ฐ ์ปดํจํ ) ๋๋ฌธ์ A1 ์๋ฆฌ์ฆ๊ฐ ๊ผญ ํ์ํ ๊ฒ์ด ์๋๋ผ๋ฉด, ๋ค๋ฅธ Shape๊ฐ ๋ ์ฌ์ ๋กญ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์์ต๋๋ค.๋ค๋ฅธ ์ง์ญ(Region) ์ฌ์ฉ ๊ณ ๋ ค์ง์ญ(Region)์ ๋ณ๊ฒฝํ ์ ์๋ค๋ฉด, A1.Flex๊ฐ ์ฌ์ ์๋ ๋ค๋ฅธ ์ง์ญ์์ ์์ฑ ๊ฐ๋ฅํ ์๋ ์์ต๋๋ค.์๋ฅผ ๋ค์ด, ์์ธ ๋ฆฌ์ ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํ๋ค๋ฉด ๋์ฟ ๋ฆฌ์ , ํผ๋์ค ๋ฆฌ์ ๋ฑ ๋ค๋ฅธ ๋ฆฌ์ ์ ๊ณ ๋ คํด ๋ณผ ์ ์์ต๋๋ค.์ฌ์๋ ์๊ฐ ๋ณ๊ฒฝOCI ๋ฆฌ์์ค๊ฐ ์ผ์์ ์ผ๋ก ๋ถ์กฑํ ๊ฒฝ์ฐ, ์๊ฐ์ด ์ง๋๊ณ ๋๋ฉด ๋ค์ ๋ฆฌ์์ค๊ฐ ํ๋ณด๋ ์ ์์ต๋๋ค.์ํฉ์ด ๊ธํ์ง ์๋ค๋ฉด ๋ช ์๊ฐ~๋ฉฐ์น ์ ๋ ์ดํ์ ์ฌ์๋ํด ๋ด ๋๋ค.๊ฒฐ๋ก ์ค๋ฅ์ ์์ธ: ํ์ฌ ์ฌ์ฉํ๋ ค๋ ์ง์ญ/AD์์ ์ ํํ Shape์ ์ฉ๋(capacity)์ด ๋ถ์กฑํด๊ฒฐ์ฑ : ๋ค๋ฅธ AD ์ฌ์ฉ, Fault Domain ์ต์ ์ ๊ฑฐ, ๋ค๋ฅธ Shape ์ฌ์ฉ, ๋ค๋ฅธ ์ง์ญ(Region) ์ฌ์ฉ, ์ผ์ ์๊ฐ ํ ์ฌ์๋, ๊ณ ๊ฐ ์ง์ ๋ฌธ์
- 0
- 2
- 159
Q&A
์ฐ๋ถํฌ ๋ฐฉํ๋ฒฝ์์ 3000 ํฌํธ ๋ง์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
์๋ ๋ช ๋ น์ด ์์ฑํ์๋ฉด ๋ฉ๋๋ค!3000ํฌํธ ๋ซ๊ธฐ : sudo iptables -A INPUT -p tcp --dport 3000 -j DROPํ์ธ ๋ฐฉ๋ฒ : sudo iptables -L --line-numbers๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 160
Q&A
NodeJ ์ค์น์ apt-get install ์ ์ curl ์ ์ ํ๋๊ฑด๊ฐ์ ?
nodejs ํน์ ์ค์น ๋ฒ์ ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์ ์ฌ์ฉํฉ๋๋ค.ํด๋น ๋ด์ฉ์ nodejs 14 ๋ฒ์ ์ ๋ํ ์ ๋ณด๊ฐ ์๋์ง ํ์ธ ํ๋ ์ฉ๋๋ก ์ฌ์ฉํฉ๋๋ค.ํ์ฌ 14 ๋ฒ์ ์ ์ง์ํ์ง ์์ต๋๋ค. ์๋ ๋ฒ์ ๋ฑ์ผ๋ก ๋ณ๊ฒฝํด์ ์งํํด์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค. sudo curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- 0
- 1
- 167
Q&A
SSL ์ธ์ฆ์ ๋ฐ๊ธ ๋ฐ๋ ๋ถ๋ถ์ ๋ํ ์ง๋ฌธ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ์ค๋ผํด ํด๋ผ์ฐ๋ ๊ฐ์์ธ๋ฐ AWS ๋ก ์ค๋ช ์ ๋๋ ธ๋ค์.Ubuntu 18.04 ๋ ๋ ์ด์ ํด๋ผ์ฐ๋ ์ ์ฒด์์ ์ง์์ ํ์ง ์์ต๋๋ค.์๋ ๋ด์ฉ์ ์ฐธ๊ณ ํด์ ์งํํด ์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค.Ubuntu 22.04์์ Nginx๋ฅผ ์ด์ฉํด ๋ฌด๋ฃ HTTPS ์ ์ฉํ๊ธฐhttps://velog.io/@tlqhrm/Ubuntu-22.04%EC%97%90%EC%84%9C-Nginx%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4-%EB%AC%B4%EB%A3%8C-Https-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0
- 0
- 3
- 283
Q&A
SSL ์ธ์ฆ์ ๋ฐ๊ธ ๋ฐ๋ ๋ถ๋ถ์ ๋ํ ์ง๋ฌธ์์ต๋๋ค.
์๋ ํ์ธ์. OS ๋ฒ์ ๋ณ๋ก ํธํ์ด ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ด์ 18.04 ๋ก ์งํํด์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค.EC2 ์ ํ์์ ์ปค๋ฎค๋ํฐ AMI ์์ Ubuntu Server 18.04 ๋ก ๊ฒ์์ ํ์๊ณ ์๋ ๋ด์ฉ์ ์ ํํด์ ์งํํด์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค.ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20220926ami-001b7529fd6862b51(์ฌ์ง)ํ์ธ๋ ๊ณต๊ธ ์ ์ฒด
- 0
- 3
- 283
Q&A
6. S3 ์์ฑ ์ค๋ฅ ๋ฌธ์ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. ์ด์ฉ์ ๋ถํธ์ ๋๋ ค ์ฃ์กํฉ๋๋ค.์์ธ์ AWS ์์ 2023๋ 4์ ๋ถํฐ Policy ์ ์ฑ ์ ๋ํด์ ํผ๋ธ๋ฆญ ์ค์ ์ ๋ง์์ต๋๋ค. (๋ณด์ ์ด์ ๋ฑ์ ์ด์ ๋ก)ํ ๋ผํผ์์ ํผ๋ธ๋ฆญ ์ ์ฑ ์ค์ ์ ์ง์ ํ ์ ์์ต๋๋ค. ํ ๋ผํผ์์ s3 ๋ฅผ ์๋์ผ๋ก ์์ฑ๋๋ ๋ถ๋ถ์ ์น์ 2 AWS ์ S3 ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋์ฒดํ๊ฒ ์ต๋๋ค.main.tf ์ output.tf ์์ ์๋์ ๊ฐ์ด S3 ๋ถ๋ถ ์ฃผ์์ด ํ์ํฉ๋๋ค.(์ฌ์ง)output.tf>(์ฌ์ง)
- 0
- 1
- 214
Q&A
4.alb ์ค๋ฅ (Call to function "element" failed: cannot use element function with an empty list.)
์ด์ ํ์ ๋ฐ ํด๊ฒฐ ์ฑ ๊ฐ์ฌํฉ๋๋ค.ํด๋น ๋ด์ฉ ๋ฐ ์ฝ๋ ์์ ํ์์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 216
Q&A
aws build ํ ๋
์๋ ํ์ธ์.ํธ๋ฆฌ๊ฑฐ๊ฐ ๋๋ ํ์ผ์ buildspec.yml ์ ํด๋นํฉ๋๋ค.์์ธ ๊ฒฝ๋ก ์ถ๊ฐํ์์ต๋๋ค.https://github.com/vipick/saju-backend-nodejs/blob/master/buildspec.ymlCodebuild ๋จ๊ณ์์๋ buildspec.yml ์ ์ฝ๋ ๋ด์ฉ์ด ์คํ๋ฉ๋๋ค.์ ๊ฐ ์ง๋ฌธ์ ์๋ชป ์ดํดํ๋ค๋ฉด ์ข ๋ ์์ธํ ์ค๋ช ์ ํด์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 230
Q&A
frontend ๋ฐฐํฌ ๋ณด์
2๋ฒ ์ง๋ฌธ์ ๋ํด์ ๋ต๋ณ์ ๋๋ฆฝ๋๋ค.AWS CloudFront๋ก ์ฝํ ์ธ ๋ฅผ ๋ฐฐํฌํ ํ ์บ์๋ฅผ ์ฆ์ ๊ฐฑ์ ํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก "์บ์ ๋ฌดํจํ"๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋, ๋ฌดํจํ ๊ณผ์ ์ ์ฆ๊ฐ์ ์ด์ง ์์ผ๋ฉฐ, ์ ์ฒด CloudFront ๋คํธ์ํฌ์ ๊ฑธ์ณ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ํ๋๋ ๋ฐ ์๊ฐ์ด ํ์ํฉ๋๋ค.์บ์ ๋ฌดํจํ์บ์ ๋ฌดํจํ ์์ฑ: AWS Management Console์์ CloudFront ๋ฐฐํฌ๋ก ์ด๋ํ์ฌ 'Invalidations' ํญ์์ ์ ๋ฌดํจํ๋ฅผ ์์ฑํฉ๋๋ค. ์ฌ๊ธฐ์ ํน์ ํ์ผ ๋๋ ์ ์ฒด ๋๋ ํ ๋ฆฌ(/*)๋ฅผ ๋์์ผ๋ก ์ง์ ํ ์ ์์ต๋๋ค.์ ํ ์๊ฐ: ๋ฌดํจํ ์์ฒญ์ด ์ ์ถ๋๋ฉด, CloudFront๋ ์ ์ธ๊ณ์ ๋ชจ๋ ์ฃ์ง ๋ก์ผ์ด์ ์ ๋ํ ์บ์ ๋ฌดํจํ๋ฅผ ์์ํฉ๋๋ค. ์ด ๊ณผ์ ์ ์ผ๋ฐ์ ์ผ๋ก ๋ช ๋ถ์์ ์์ญ ๋ถ ์ ๋ ๊ฑธ๋ฆฝ๋๋ค. ์บ์ ๋ฌดํจํ์ ๋์๋ฒ์ ๊ด๋ฆฌ๋ ํ์ผ๋ช ์ฌ์ฉ: ํ์ผ๋ช ์ ๋ฒ์ ๋ฒํธ๋ ํ์์คํฌํ๋ฅผ ํฌํจ์์ผ ์ ๋ฒ์ ์ ์ฝํ ์ธ ๋ฅผ ์ ๋ก๋ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด CloudFront๋ ์๋์ผ๋ก ์ ๋ฒ์ ์ ํ์ผ์ ์บ์ํฉ๋๋ค.์บ์ ์ ์ด ํค๋: ์๋ณธ ์๋ฒ์์ Cache-Control ํค๋๋ฅผ ์ค์ ํ์ฌ ์บ์ ์ง์ ์๊ฐ(TTL)์ ์งง๊ฒ ์ค์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด CloudFront๊ฐ ์์ฃผ ์ฝํ ์ธ ๋ฅผ ์๋ก ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค. ๊ณ ๋ ค์ฌํญ๋น์ฉ: ๋ฌดํจํ๋ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ํนํ ์์ฃผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋น์ฉ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค.ํจ์จ์ฑ: ์บ์ ๋ฌดํจํ๋ ํ์ํ ๋๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ผ๋ฉฐ, ๋ถํ์ํ ๋ฌดํจํ๋ ์ ์ฒด ์์คํ ์ ํจ์จ์ฑ์ ๋จ์ด๋จ๋ฆด ์ ์์ต๋๋ค.์๋ํ: ์ฝํ ์ธ ์ ๋ฐ์ดํธ์ ์บ์ ๋ฌดํจํ๋ฅผ ์๋ํํ๊ธฐ ์ํด CI/CD ํ์ดํ๋ผ์ธ๊ณผ AWS Lambda์ ๊ฐ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.๊ฒฐ๋ก ์ ์ผ๋ก, CloudFront ์บ์ ๋ฌดํจํ๋ ์ฆ์ ์บ์๋ฅผ ๊ฐฑ์ ํ์ง ์์ผ๋ฉฐ, ์ ํ์๋ ์๊ฐ์ด ์์๋ฉ๋๋ค. ๋ฐ๋ผ์, ์บ์ ๋ฌดํจํ๋ฅผ ๊ณํ์ ์ผ๋ก ์ฌ์ฉํ๊ณ , ํ์ํ ๊ฒฝ์ฐ์๋ง ์ ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- 0
- 3
- 404
Q&A
frontend ๋ฐฐํฌ ๋ณด์
์๋ ํ์ธ์. 1๋ฒ์ ์ง๋ฌธ์ ๋ํด์ ๋ต๋ณ์ ๋๋ฆฝ๋๋ค.ํด๋น ๊ฐ์์์๋ S3์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๋ค๋ฃจ์ง ์์ผ๋ฉฐ, CloudFront ๋ฅผ ์ ์ฉํ๋ฉฐ, https ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.๊ฐ์์์๋ ํธ์์ ํผ๋ธ๋ฆญ์์ธ์ค๋ก ์งํ์ ํ์ง๋ง, CloudFront ์์ OAI ๋ฅผ ์ฌ์ฉํ์ฌ ์ธํฐ๋ท์ ๋ ธ์ถ์ ์ํค์ง ์๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค. AWS S3์์ ์ ์ ์น ํธ์คํ ์ ์ค์ ํ ๋, ๋ฒํท์ ํผ๋ธ๋ฆญ ์์ธ์ค๋ก ์ค์ ํ๋ ๊ฒ์ ์น์ฌ์ดํธ์ ์ฝํ ์ธ ๋ฅผ ์ธํฐ๋ท ์ฌ์ฉ์๋ค์๊ฒ ์ ๊ณตํ๊ธฐ ์ํด ์ผ๋ฐ์ ์ผ๋ก ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋, ํผ๋ธ๋ฆญ ์์ธ์ค ์ค์ ์๋ ๋ช ๊ฐ์ง ๋ณด์์์ ๊ณ ๋ ค์ฌํญ์ด ์์ต๋๋ค. ์ด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค:ํผ๋ธ๋ฆญ ์์ธ์ค๋ก ์ค์ ์ ๊ณ ๋ ค์ฌํญ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์์: ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ๋ ๋ฒํท์๋ ๋ฏผ๊ฐํ ์ ๋ณด๋ ๋น๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์์์ผ ํฉ๋๋ค. ์ด ๋ฒํท์ ์น์ ๊ณต๊ฐ๋ ์ฝํ ์ธ ๋ง ํฌํจํด์ผ ํฉ๋๋ค. HTTPS ์ฌ์ฉ: AWS CloudFront์ ๊ฐ์ CDN(Content Delivery Network) ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ HTTPS๋ฅผ ํตํ ์ํธํ๋ ์ฝํ ์ธ ์ ์ก์ ์ค์ ํ ์ ์์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ ์ ์ก ์ค์ ์์ ์ฑ์ ์ ๊ณตํฉ๋๋ค.ํผ๋ธ๋ฆญ ์์ธ์ค ์์ด ์ค์ ํ๋ ๋ฐฉ๋ฒCloudFront์ S3 ์ฐ๋: AWS CloudFront๋ฅผ ์ฌ์ฉํ์ฌ S3 ๋ฒํท์ ์ฝํ ์ธ ๋ฅผ ๋ฐฐํฌํ๊ณ , S3 ๋ฒํท ์์ฒด๋ ๋น๊ณต๊ฐ๋ก ์ ์งํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. CloudFront๋ OAI(Origin Access Identity)๋ฅผ ์ฌ์ฉํ์ฌ S3 ๋ฒํท์ ๋ํ ์ ๊ทผ์ ์ ์ดํ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ฒํท์ ์ธํฐ๋ท์ ์ง์ ๋ ธ์ถ์ํค์ง ์๊ณ ๋ ์ฝํ ์ธ ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก, S3 ๋ฒํท์ ํผ๋ธ๋ฆญ ์์ธ์ค๋ก ์ค์ ํ๋ ๊ฒ์ ์ ์ ์น์ฌ์ดํธ ํธ์คํ ์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ด์ง๋ง, ๋ณด์์์ ๊ณ ๋ ค์ฌํญ์ด ํ์ํฉ๋๋ค. ํ์์ ๋ฐ๋ผ CloudFront์ ๊ฐ์ ์ถ๊ฐ AWS ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์์ ๊ฐํํ๊ณ ์ ๊ทผ์ ์ ์ดํ ์ ์์ต๋๋ค.
- 0
- 3
- 404