(StartVM TerminateVM) API Call Counts and Waiting Status - cloud-barista/cb-spider GitHub Wiki

โ–  Start VM / Terminate VM ๋™์ž‘์‹œ CSP API ํ˜ธ์ถœ ์ˆ˜ ๋ฐ Waiting ํ˜„ํ™ฉ

CSP ํ˜ธ์ถœ API CSP API ํ˜ธ์ถœ ์ˆ˜ Server Waiting Driver Waiting CSP SDK Waiting
AWS Start VM 14 ํšŒ ๋ชฉ์ : PublicIP ์ •๋ณด ์ œ๊ณต ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ GetVM() ํ˜ธ์ถœ Timeout: 600์ดˆ ์—†์Œ. AWS SDK WaitUntilInstanceRunning() ํ˜ธ์ถœ ํ›„ ๋Œ€๊ธฐ ๋ชฉ์ : running ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ๋งˆ๋‹ค ์ƒํƒœ ํ™•์ธ Timeout: 600์ดˆ (15์ดˆ X 40ํšŒ)
  Terminate VM 8ํšŒ ๋ชฉ์ : Terminated ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ GetVMStatus() ํ˜ธ์ถœ Timeout: 600์ดˆ ์—†์Œ. TerminateInstances() ํ˜ธ์ถœ ํ›„ ๋ฐ”๋กœ ๋ฐ˜ํ™˜ ํ•ด๋‹น ์—†์Œ
Azure Start VM 9ํšŒ ๋ชฉ์ : PublicIP ์ •๋ณด ์ œ๊ณต ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ Azure SDK InstanceView() ํ˜ธ์ถœ Timeout: 600์ดˆ VM ์ƒ์„ฑ ํ˜ธ์ถœ ํ›„ PollUntilDone() ํ˜ธ์ถœ ํ›„ ๋Œ€๊ธฐ ๋ชฉ์ : context์˜ endpoint๊ฐ€ terminal ์ƒํƒœ ๋„๋‹ฌ ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ ์ฃผ๊ธฐ: 30์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ Azure SDK ํ˜ธ์ถœ Timeout: ๋ฏธํ™•์ธ
        ๋ชฉ์ : Running ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ Azure SDK InstanceView() ํ˜ธ์ถœ Timeout: 600์ดˆ
  Terminate VM 6ํšŒ ๋ชฉ์ : Terminated ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ GetVMStatus() ํ˜ธ์ถœ Timeout: 600์ดˆ VM ์‚ญ์ œ ํ˜ธ์ถœ ํ›„ PollUntilDone() ํ˜ธ์ถœ ํ›„ ๋Œ€๊ธฐ ๋ชฉ์ : context์˜ endpoint๊ฐ€ terminal ์ƒํƒœ ๋„๋‹ฌ ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ ์ฃผ๊ธฐ: 30์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ Azure SDK ํ˜ธ์ถœ Timeout: ๋ฏธํ™•์ธ
        ๊ด€๋ จ ์ž์› ์‚ญ์ œ ์‹œ: ์ „์ฒด 600์ดˆ timeout(1) vNic ์‚ญ์ œ ํ›„ 15์ดˆ ์ฃผ๊ธฐ๋กœ PollUntilDone() ํ˜ธ์ถœ (2) Public IP ์‚ญ์ œ ํ›„ 15์ดˆ ์ฃผ๊ธฐ๋กœ PollUntilDone() ํ˜ธ์ถœ (3) Disk ์‚ญ์ œ ํ›„ 15์ดˆ ์ฃผ๊ธฐ๋กœ PollUntilDone() ํ˜ธ์ถœ  
GCP Start VM 14ํšŒ ๋ชฉ์ : PublicIP ์ •๋ณด ์ œ๊ณต ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ GCP SDK InstanceView() ํ˜ธ์ถœ Timeout: 600์ดˆ ๋ชฉ์ : ๋น„๋™๊ธฐ Operation ์™„๋ฃŒ ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ZoneOperations.Get ํ˜ธ์ถœ Timeout: 1์‹œ๊ฐ„ ํ•ด๋‹น ์—†์Œ
        ๋ชฉ์ : Operation ์™„๋ฃŒ ํ›„ VM running ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ Instances.Get ํ˜ธ์ถœ Timeout: 600์ดˆ  
  Terminate VM 5ํšŒ ๋ชฉ์ : Terminated ์ƒํƒœ ๊ธฐ๋‹ค๋ฆผ ์ฃผ๊ธฐ: 15์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ GetVMStatus() ํ˜ธ์ถœ Timeout: 600์ดˆ VM ์‚ญ์ œ ํ˜ธ์ถœ ํ›„ ๋ณ„๋„ waiting ์—†์ด ๋ฐ˜ํ™˜ ํ•ด๋‹น ์—†์Œ

โ–  ์ฐธ๊ณ : Start VM / Terminate VM์‹œ CSP API ํ˜ธ์ถœ ์ˆ˜ ์ œ๊ณต

  • v0.9.8 ๋ถ€ํ„ฐ ์ œ๊ณต
  • Spider API ์ค‘ StartVM / TerminateVM ํ˜ธ์ถœ ์‹œ ๋‚ด๋ถ€์—์„œ CSP API ํ˜ธ์ถœ ์ˆ˜ ์ œ๊ณต(CSP API ์ข…๋ฅ˜ ๋ฌด๊ด€)
  • ๋Œ€์ƒ CSP: AWS, Azure, GCP
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ CALL_COUNT ์„ค์ • ํ›„ Spider ์‹คํ–‰
    export CALL_COUNT=ON
    
  • ๋‹จ์ผ API ํ˜ธ์ถœ ํ•„์š”: StartVM, TerminateVM๋ฅผ ๋™์‹œ ํ˜ธ์ถœ ์‹œ ์ œ๊ณต๋˜๋Š” API ํ˜ธ์ถœ ๊ฐ’ ๋ณด์žฅ ์•ˆ๋จ
    • ์˜ˆ์‹œ) AWS:StartVM(vm-1), AWS:StartVM(vm-2) ๋™์‹œ ํ˜ธ์ถœ => API ํ˜ธ์ถœ ์ˆ˜ ๋ณด์žฅ ์•ˆ๋จ
    • ์˜ˆ์‹œ) AWS:StartVM(vm-1), GCP:StartVM(vm-2) ๋™์‹œ ํ˜ธ์ถœ => API ํ˜ธ์ถœ ์ˆ˜ ๋ณด์žฅ ์•ˆ๋จ
    • ๋™์‹œ ํ˜ธ์ถœํ•ด๋„ API ๊ธฐ๋Šฅ์€ ์ •์ƒ ๋™์ž‘
    • StartVM, TerminateVM ์™ธ์— GetVM(), GetVMStatus() ๋“ฑ ๋‹ค๋ฅธ API ๋™์‹œ ํ˜ธ์ถœ์€ ๋ฌด๊ด€ํ•จ.
  • ์ถœ๋ ฅ ์˜ˆ์‹œ: GCP VM ์ข…๋ฃŒ์‹œ GCP SDK 10 ํšŒ ํ˜ธ์ถœ์ธ ๊ฒฝ์šฐ (ํƒ€ CSP 0 ๊ฐ’์€ ๋ฌด์‹œ)
    Total AWS API calls during TerminateVM(): 0
    Total Azure API calls during TerminateVM(): 0
    Total GCP API calls during TerminateVM(): 10