Public Image Info Guide - cloud-barista/cb-spider GitHub Wiki

1. CB-Spider Public Image Info ๊ฐœ์š”

  • ์‚ฌ์šฉ์ž๋Š” Public Image ID๋ฅผ ์„ค์ •ํ•˜์—ฌ ํ•ด๋‹น Image์˜ ์†์„ฑ(arch., OS ๋“ฑ)์„ ์ค€์ˆ˜ํ•˜๋Š” VM์„ ์ƒ์„ฑ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.

  • CB-Spider๊ฐ€ ์ œ๊ณตํ•˜๋Š” Public Image ์ •๋ณด ๋ฐ ์ œ๊ณต ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ VM์˜ OS ์ •๋ณด์™€์˜ ๊ด€๊ณ„๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.

  • ์‚ฌ์šฉ์ž๋Š” ์ถ”์ƒํ™”๋œ CB-Spider Public Image ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์šด์˜ ํ™˜๊ฒฝ(Arm, Ubuntu 22.04 ๋“ฑ)์˜ VM์„ ์ƒ์„ฑ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.

2. CB-Spider Public Image Info API ๋ฐ ์ œ๊ณต ์ •๋ณด ๊ทœ๊ฒฉ

  • ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ CB-Spider REST API๋ฅผ ์ด์šฉํ•˜์—ฌ Public Image ์ •๋ณด๋ฅผ JSON ๊ทœ๊ฒฉ์œผ๋กœ ์ œ๊ณต ๋ฐ›๋Š”๋‹ค.

    GET /vmimage        - List Public Images
    GET /vmimage/{Name} - Get Public Image
    
  • ์ œ๊ณต ๋˜๋Š” JSON ๊ฒฐ๊ณผ์— ํฌํ•จ๋œ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    ์†์„ฑ ๋ช…์นญ ์ œ๊ณต ์ •๋ณด ์ œ๊ณต ๊ฐ’ ์˜ˆ์‹œ
    IId(NameId, SystemId) CSP๊ฐ€ ๊ด€๋ฆฌ ๋ฐ ์ œ๊ณตํ•˜๋Š” Image ID ์ •๋ณด(NameId=SystemId) โ— ami-00edcba5512df4d24, img-pi0ii46r ๋“ฑ
    OSArchitecture Image๋กœ ์ƒ์„ฑ๋˜๋Š” VM์˜ OS Architecture ์ •๋ณด โ— arm32, arm64, arm64_mac, x86_32, x86_32_mac, x86_64, x86_64_mac ์ค‘ ํ•œ๊ฐ€์ง€ ๊ฐ’ โ— NA: CSP๊ฐ€ ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ
    OSPlatform Image๋กœ ์ƒ์„ฑ๋˜๋Š” VM์˜ OS Platform ์ •๋ณด โ— Linux/UNIX ๋˜๋Š” Windows โ— NA: CSP๊ฐ€ ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ
    OSDistribution Image๋กœ ์ƒ์„ฑ๋˜๋Š” VM์˜ OS Distribution ์ •๋ณด โ— Deep Learning Base Neuron AMI (Ubuntu 22.04) ๋“ฑ, CSP๊ฐ€ ์ •์˜ํ•œ ๊ฐ’
    OSDiskType Image๋กœ ์ƒ์„ฑ๋˜๋Š” VM์˜ OS Disk Type ์ •๋ณด โ— ebs, Common BlockStorage 1 ๋“ฑ โ— NA: CSP๊ฐ€ ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ
    OSDiskSizeGB Image๋กœ ์ƒ์„ฑ๋˜๋Š” VM์˜ OS Disk Size ๋˜๋Š” ์ตœ์†Œ Size ์ •๋ณด, CSP์— ๋”ฐ๋ผ OS์— ํ•„์š”ํ•œ ์ž„์‹œ Disk ์˜์—ญ ๋“ฑ์„ ํฌํ•จ ๊ฐ€๋Šฅ โ— 10, 30 ๋“ฑ โ— -1: CSP๊ฐ€ ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ
    ImageStatus ํ˜„์žฌ Image ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ƒํƒœ ์ •๋ณด โ— Available ๋˜๋Š” Unavailable โ— NA: CSP๊ฐ€ ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ
    KeyValueList CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์›๋ณธ Image ์ •๋ณด๋ฅผ Key/Value List ํ˜•ํƒœ๋กœ ์ œ๊ณต โ— "KeyValueList" : [       {          "Key" : "Architecture",          "Value" : "x86_64"       },       {          "Key" : "Hypervisor",          "Value" : "xen"       },       โ€ฆ

3. CB-Spider Public Image Info API ๋ฐ ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ

  • AWS ami-00edcba5512df4d24 Image ์ •๋ณด ํ˜ธ์ถœ API ๋ฐ ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    curl -sX 'GET' 'http://localhost:1024/spider/vmimage/ami-00edcba5512df4d24?ConnectionName=aws-config01' | json_pp
    
    {
       "IId" : {
          "NameId" : "ami-00edcba5512df4d24",
          "SystemId" : "ami-00edcba5512df4d24"
       },
       "ImageStatus" : "Available",
       "OSArchitecture" : "x86_64",
       "OSDiskSizeGB" : "-1",
       "OSDiskType" : "ebs",
       "OSDistribution" : "Deep Learning Base Neuron AMI (Ubuntu 22.04) 20241101",
       "OSPlatform" : "Linux/UNIXโ€œ,
       "KeyValueList" : [
          {
             "Key" : "Architecture",
             "Value" : "x86_64"
          },
          {
             "Key" : "BlockDeviceMappings",
             "Value" : "{DeviceName:/dev/sda1,Ebs:{DeleteOnTermination:true,Encrypted:false,Iops:3000,KmsKeyId:null,OutpostArn:null,SnapshotId:snap-0b054f1cb9fd1bf5d,Throughput:125,VolumeSize:35,VolumeType:gp3},NoDevice:null,VirtualName:null}; {DeviceName:/dev/sdb,Ebs:null,NoDevice:null,VirtualName:ephemeral0}; {DeviceName:/dev/sdc,Ebs:null,NoDevice:null,VirtualName:ephemeral1}"
          },
          {
             "Key" : "State",
             "Value" : "available"
          },
          โ€ฆ
       ]
    }
    
    

4. CB-Spider Public Image Info AdminWeb ์ œ๊ณต ์˜ˆ์‹œ

  • ๋‹ค์Œ ์ˆœ์„œ๋กœ ๋Œ€์ƒ CSP ์„ ํƒ ๋ฐ Image ์ •๋ณด๋ฅผ ์š”์ฒญํ•œ๋‹ค.

  • AWS Image Info ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.