์์คํ ๊ด๋ฆฌ API ๋ ํผ๋ฐ์ค
์๋ฒ์ ๋ช ๋ น์ ์ ๋ฌํ๊ฑฐ๋ ์์ด์ ํธ ์ํ๋ฅผ ์ ์ดํ๋ ์์คํ ์์ค์ ์๋ํ API๋ฅผ ์๋ดํฉ๋๋ค.
๐ ๊ฐ์
์ด API ๋ชจ๋์ GIIP ์์ด์ ํธ๋ฅผ ํตํด ๊ฐ๋ณ ์๋ฒ์ ์ง์ ๋ช ๋ น์ ๋ด๋ฆฌ๊ฑฐ๋, ์๋ฒ์ ๋ฉํ๋ฐ์ดํฐ(ํ๊ทธ ๋ฑ)๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์๋ํฌ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๐ ์ธ์ฆ ๋ฐ ํค๋
๋ชจ๋ ์์ฒญ์ ๊ณตํต ์ธ์ฆ ํค๋๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค.
- Header:
x-giip-ak: [Your Access Key] - Header:
x-giip-sk: [Your Secret Key]
๐ ์ฃผ์ API ์๋ํฌ์ธํธ
1. ์๊ฒฉ ๋ช ๋ น ์คํ (Run Remote Command)
- URL:
POST /api/system/command/run - ์ค๋ช : ์ง์ ๋ ์๋ฒ์์ ํน์ Shell ์คํฌ๋ฆฝํธ ๋๋ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
- Request Body:
{
"serverIsn": 456,
"command": "ls -al /var/log",
"timeout": 30
}
2. ์์ด์ ํธ ์ ์ด (Agent Control)
- URL:
POST /api/system/agent/control - ์ค๋ช : ์๋ฒ์ ์ค์น๋ GIIP ์์ด์ ํธ๋ฅผ ์๊ฒฉ์ผ๋ก ์ฌ์์ํ๊ฑฐ๋ ์ค์ ์ ๋๊ธฐํํฉ๋๋ค.
- Request Body:
{
"serverIsn": 456,
"action": "restart"
}
3. ์๋ฒ ํ๊ทธ ๊ด๋ฆฌ (Manage Server Tags)
- URL:
POST /api/system/server/tags - ์ค๋ช : ์๋ฒ๋ฅผ ๋ถ๋ฅํ๊ธฐ ์ํ ํ๊ทธ ๋ชฉ๋ก์ ์ ๋ฐ์ดํธํฉ๋๋ค.
- Request Body:
{
"serverIsn": 456,
"tags": ["Production", "Web", "Region-KR"]
}
๐ ์๋ต ๋ฐ์ดํฐ ์์ (Command Run)
{
"RstVal": 0,
"RstMsg": "Success",
"Data": {
"jobId": "JOB-10293",
"output": "total 1024\ndrwxr-xr-x 2 root root ...",
"exitCode": 0
}
}
๐ก ํ์ฉ ์ฌ๋ก
- ์๋ ํจ์น ๊ด๋ฆฌ: ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋ ํจํค์ง์ ๋ํด ์ ์ฒด ์๋ฒ์ ์ผ๊ด ์ ๋ฐ์ดํธ ๋ช ๋ น์ ๋ด๋ฆฝ๋๋ค.
- ๋์ ์์ ํ ๋น: ํ๊ทธ ๊ด๋ฆฌ API๋ฅผ ์ฌ์ฉํ์ฌ ์๋กญ๊ฒ ์์ฑ๋ VM์ ์ฉ๋๋ฅผ ์๋์ผ๋ก ์ง์ ํ๊ณ ์ ์ฑ ์ ์ ์ฉํฉ๋๋ค.
๐ก๏ธ Sk3(๊ณ ์ฑ๋ฅ ๋ก๊น ) ํ์ฉ
์๊ฒฉ ๋ช
๋ น ์คํ(Run Remote Command)์ด๋ ์์ด์ ํธ ์ ์ด์ ๊ฐ์ ๋ฏผ๊ฐํ ์์คํ
๊ด๋ฆฌ ์์
์, ์กฐ์์ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ๊ณผ ์์ธํ ์คํ ์ด๋ ฅ ์ถ์ ์ ์ํด giipApiSk3 ์๋ํฌ์ธํธ๋ฅผ ๊ถ์ฅํฉ๋๋ค.
- ์๋ํฌ์ธํธ:
https://giipfaw.azurewebsites.net/api/giipApiSk3 - ์ฅ์ : ๋ช ๋ น ์คํ ์คํจ ์ ํธ์ถ์์ ์์ธ ํ๊ฒฝ ์ ๋ณด(IP, UA)์ StackTrace๋ฅผ ์ฆ์ ๊ธฐ๋กํ์ฌ ๋น์ธ๊ฐ ์์ฒญ์ด๋ ๋คํธ์ํฌ ์ฅ์ ์ํฉ์ ์ ์ํ๊ณ ๋ช ํํ๊ฒ ํ์ ํ ์ ์๋๋ก ๋์์ค๋๋ค.
- ํ์ฉ ํ:
jsondata์นํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ณต์กํ Shell ๋ช ๋ น์ด ๋ฌธ์์ด์ด๋ ํน์๋ฌธ์๊ฐ ํฌํจ๋ ํ๊ทธ ์ ๋ณด๋ฅผ ์ ์กํ ๋ ๋ฐ์ดํฐ ์ ์ค ์์ด ์์ ํ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๐ง ๋ฌธ์ ํด๊ฒฐ
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
| ์์ฒญ์ด ์ธ์ฆ ์ค๋ฅ๋ก ๊ฑฐ๋ถ๋จ | x-giip-ak / x-giip-sk ํค๋๊ฐ ๋๋ฝ๋์๊ฑฐ๋ ์๋ชป๋ ํค | ์ ํจํ Access Key์ Secret Key๋ฅผ ๋ ํค๋์ ๋ชจ๋ ํฌํจํ์ฌ ์ฌ์์ฒญ |
| ์๊ฒฉ ๋ช ๋ น์ด ์คํ๋์ง ์์ | serverIsn์ด ์๋ชป๋์๊ฑฐ๋ ๋์ ์๋ฒ์ ์์ด์ ํธ๊ฐ ์คํ๋ผ์ธ | ์๋ฒ ์๋ณ์๋ฅผ ํ์ธํ๊ณ , ์์ด์ ํธ ์ ์ด API(action: restart)๋ก ์์ด์ ํธ๋ฅผ ์ฌ์์ |
์๋ต์ RstVal์ด 0์ด ์๋ | ๋ช
๋ น ์คํ ์คํจ ๋๋ timeout ์ด๊ณผ | RstMsg์ Data.exitCode๋ฅผ ํ์ธํ๊ณ , ํ์ ์ timeout ๊ฐ์ ์ํฅ ์กฐ์ |
| ํน์๋ฌธ์๊ฐ ํฌํจ๋ ํ๊ทธ ์ ์ก ์ ๋ฐ์ดํฐ๊ฐ ์ ์ค๋จ | jsondata ์นํ ๊ธฐ๋ฅ ๋ฏธ์ฌ์ฉ | giipApiSk3 ์๋ํฌ์ธํธ์ jsondata ํ๋๋ก ์ ์กํ์ฌ ๋ฐ์ดํฐ ์์ค ๋ฐฉ์ง |
๋ฒ์ : 1.1
์ต์ข
์
๋ฐ์ดํธ: 2026-04-10
์์ค ํ์ผ: giipv3/public/help/api-system.ko.md
๊ด๋ จ ๋ฌธ์: