์ด ํ์ด์ง์์๋ ํ๋ก๊ทธ๋๋งคํฑ ๋ฐฉ์์ผ๋ก App Engine ์์
์ ๋ง๋ค์ด Cloud Tasks ํ์ ๋ฐฐ์นํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.
์ด ์ ์ฐจ๋ฅผ ์ด์ฉํ์ฌ ํ์คํฌ๋ฅผ ์ฒ๋ฆฌํ๋ ์๋น์ค์ ํธ๋ค๋ฌ๋ฅผ ๋ช
์์ ์ผ๋ก ์ง์ ํ๊ณ ํ์์ ๋ฐ๋ผ ํ์คํฌ๋ณ ๋ฐ์ดํฐ๋ฅผ ํธ๋ค๋ฌ์ ํจ๊ป ์ ๋ฌํ ์ ์์ต๋๋ค. Cloud Tasks ์๋น์ค๊ฐ ํ์คํฌ ์์ฒญ์ ํธ๋ค๋ฌ๋ก ์ ๋ฌํ์ง๋ง ์ด ์์
์๋ App Engine ๋ด์ ์์ต๋๋ค. ๋ฐ๋ผ์ App Engine ํธ๋ค๋ฌ๋ฅผ ํ๊ฒํ
ํ๋ ๋ชจ๋ ํ์๋ App Engine ์ฑ์ด ์์ด์ผ ํฉ๋๋ค. ํธ๋ค๋ฌ๋ App Engine ์ฑ์ด ์คํ๋๋ ๋ฆฌ์ ์์ ์คํ๋์ด์ผ ํฉ๋๋ค. ์ด ๋ฆฌ์ ์ Cloud Tasks ์์ฒญ์ LOCATION_ID
๋งค๊ฐ๋ณ์๋ก๋ ์ฌ์ฉ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ App Engine ๋์์ด ์๋ Cloud Tasks ํ๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ์คํฌ๋ฅผ ์คํํ ์๊ฐ์ ์์ฝํ๊ฑฐ๋ ํ์คํฌ๊ฐ ์คํจํ ๊ฒฝ์ฐ ์ฌ์๋ํ ํ์๋ฅผ ์ ํํ๋ ๋ฑ ํ์คํฌ์ ๊ตฌ์ฑ์ ์ธ๋ถ์ ์ผ๋ก ์กฐ์ ํ ์๋ ์์ต๋๋ค. ํ์คํฌ์ ์ด๋ฆ์ ์ง์ ํ๋ฉด Cloud Tasks์์ ์ด ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ํ์คํฌ ์ค๋ณต ์ญ์ ๋ฅผ ๋ณด์ฅํ ์ ์์ง๋ง ํ์ํ ์ฒ๋ฆฌ๋ก ์ธํด ์ง์ฐ ์๊ฐ์ด ๋์ด๋ ์ ์์ต๋๋ค.
App Engine ๋ฐฉํ๋ฒฝ ๊ท์น
App Engine ํ์ค ํ๊ฒฝ์์ App Engine ๋ฐฉํ๋ฒฝ์ ํน์ ๋ด๋ถ ํธ๋ํฝ์ด ๋ฐฉํ๋ฒฝ์ ์ฐํํ๋๋ก ํ์ฉํ ์ ์์ต๋๋ค. ์ฆ, default
๊ท์น์ deny
๋ก ์ค์ ํ๋ฉด App Engine ํ์ค ํ๊ฒฝ์ ๋์์ผ๋ก ํ๋ ํน์ ์๋น์ค์ ์์ฒญ์ด ์ฐจ๋จ๋์ง ์์ต๋๋ค. ์ด๋ ์ฑ ์์ฒด ๊ตฌ์ฑ์์ ์์ฒญ๋๊ฑฐ๋ ๋์ผํ ์ฑ์์ ์ ์ก๋๋ ๋ชจ๋ ์ ํ์ ํธ๋ํฝ์
๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ฐฉํ๋ฒฝ ๊ท์น์ ์ฐํํ๋ ์์ฒญ์๋ Cloud Tasks์ App Engine ํ์คํฌ(App Engine ํ์คํฌ ํ ํฌํจ)๋ ํฌํจ๋ฉ๋๋ค.
์์ ์์ฒญ์ ํ์ฉํ๋ ค๋ฉด Cloud Tasks์์ App Engine ํ์คํฌ(App Engine ํ์คํฌ ํ ํฌํจ)์ ๋ค์๊ณผ ๊ฐ์ IP ๋ฒ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
App Engine ํ์ค ํ๊ฒฝ์ผ๋ก ์ ์ก๋ ์์ฒญ์ IP ๋ฒ์:
0.1.0.2/32
(๊ฑฐ๋ถ๋ก ์ค์ ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ฐฉํ๋ฒฝ ๊ท์น์ ์ฐํ)App Engine ๊ฐ๋ณํ ํ๊ฒฝ์ผ๋ก ์ ์ก๋ ์์ฒญ์ IP ๋ฒ์:
0.1.0.2/32
ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ํ์คํฌ ๋ง๋ค๊ธฐ
์ํ๋ ๋๋ก ๊ตฌ์ฑํ ์ ์๋ HTTP ์์ฒญ ์์์ผ๋ก ํ์คํฌ๋ฅผ ๋ง๋ญ๋๋ค. ๊ทธ๋ฌ๋ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ ์์์ ๊ฐ์ด Google ์ธ์ฆ ๋ฑ ์๋ฒ์์ ํต์ ์ ๋ํ ํ์ ์์ค์ ์ธ๋ถ์ ๋ณด ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ํ์ ํ์คํฌ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด Cloud Tasks ํ์ ํ์คํฌ ์ถ๊ฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
C#
Go
์๋ฐ
pom.xml
ํ์ผ์ ํ์ธํฉ๋๋ค.
Node.js
package.json
ํ์ผ์ ํ์ธํฉ๋๋ค.
PHP
composer.json
ํ์ผ์ ํ์ธํฉ๋๋ค.
Python
requirements.txt
ํ์ผ์ ํ์ธํฉ๋๋ค.
Ruby
๋ค์ ๋จ๊ณ
- App Engine ํ์คํฌ ํธ๋ค๋ฌ ๋ง๋ค๊ธฐ ์์๋ณด๊ธฐ
- RPC API ์ฐธ์กฐ์์ ์์ ์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
- REST API ์ฐธ์กฐ์์ ์์ ์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ