********* Compute ********* Compute 서비스를 사용하기 전에 Connect 사용자 가이드에 따라 네피리티 클라우드에 대한 연결을 생성해야 합니다. 그러면 아래 예제에 사용된 conn 변수가 제공됩니다. 서버 목록 조회 -------------- 서버는 클라우드 공급자가 실행하는 컴퓨팅 인스턴스에 대한 액세스를 제공하는 가상 머신입니다. .. code-block:: python def list_servers(conn): print("List Servers:") for server in conn.compute.servers(): print(server) 이미지 목록 조회 ----------------- 이미지는 서버에 사용하려는 운영 체제입니다. .. code-block:: python def list_images(conn): print("List Images:") for image in conn.compute.images(): print(image) 리소스 사양 조회 ---------------- 플레이버는 서버의 리소스 구성입니다. 각 버전은 디스크, 메모리, vCPU 및 네트워크 대역폭의 고유한 조합입니다. .. code-block:: python def list_flavors(conn): print("List Flavors:") for flavor in conn.compute.flavors(): print(flavor) 네트워크 목록 조회 ------------------- 네트워크는 서버에 대한 연결을 제공합니다. .. code-block:: python def list_networks(conn): print("List Networks:") for network in conn.network.networks(): print(network) 키 페어 생성 ------------ 키 쌍은 공개 키 암호화의 공개 키와 개인 키입니다. 이는 서버에 연결할 때 로그인 정보를 암호화하고 해독하는 데 사용됩니다. .. code-block:: python def create_keypair(conn): keypair = conn.compute.find_keypair(KEYPAIR_NAME) if not keypair: print("Create Key Pair:") keypair = conn.compute.create_keypair(name=KEYPAIR_NAME) print(keypair) try: os.mkdir(SSH_DIR) except OSError as e: if e.errno != errno.EEXIST: raise e with open(PRIVATE_KEYPAIR_FILE, 'w') as f: f.write("%s" % keypair.private_key) os.chmod(PRIVATE_KEYPAIR_FILE, 0o400) return keypair 서버 생성 --------- 최소한 서버에는 생성 시 이름, 이미지, 플레이버 및 네트워크가 필요합니다. 위와 같이 속성을 나열한 다음 find 메소드를 사용하여 적절한 리소스를 가져옴으로써 이러한 속성의 이름과 ID를 검색할 수 있습니다. 이상적으로는 키 쌍을 사용하여 서버를 생성하여 개인 키로 해당 서버에 로그인할 수도 있습니다. 서버는 부팅하는 데 시간이 걸리므로 wait_for_server를 호출하여 서버가 활성화될 때까지 기다립니다. .. code-block:: python def create_server(conn): print("Create Server:") image = conn.image.find_image(IMAGE_NAME) flavor = conn.compute.find_flavor(FLAVOR_NAME) network = conn.network.find_network(NETWORK_NAME) keypair = create_keypair(conn) server = conn.compute.create_server( name=SERVER_NAME, image_id=image.id, flavor_id=flavor.id, networks=[{"uuid": network.id}], key_name=keypair.name, ) server = conn.compute.wait_for_server(server) print( "ssh -i {key} root@{ip}".format( key=PRIVATE_KEYPAIR_FILE, ip=server.access_ipv4 ) )