CCI 시작하기

SoftLayer API 컨텍스트에서 SoftLayer CloudLayer Computing Instance(CCI)는 SoftLayer_Virtual_Guest 오브젝트로 표시됩니다. SoftLayer_Virtual_Guest 서비스는 특정 CCI와의 상호작용을 지원하므로 SoftLayer_Account 서비스를 통해 사용자 계정의 모든 CCI와 상호작용할 수 있습니다.

작성

신규 CCI 주문은 SoftLayer_Virtual_Guest::createObject를 통해 수행합니다.
먼저, CCI 세부사항을 포함한 SoftLayer_Virtual_Guest 템플리트 오브젝트가 작성됩니다. 모든 CCI 템플리트 오브젝트에는 최소한 다음과 같은 특성이 정의되어 있어야 합니다.

  • hostname - 신규 CCI의 호스트 이름
  • domain - 신규 CCI의 도메인 이름
  • startCpus - 처리 코어 수
  • maxMemory - 메모리 할당(MB)
  • hourlyBillingFlag - 비용 청구 기준이 시간이면 true를, 월별이면 false 설정
  • operatingSystemReferenceCode - 설치 OS 지정 코드
  • localDiskFlag - true로 설정하면 로컬 디스크를, false로 설정하면 SAN 디스크를 사용하는 CCI 구성
$virtualGuestClient = SoftLayer_SoapClient::getClient('SoftLayer_Virtual_Guest', null, $user, $key);
$virtualGuestTemplate = new stdClass();
$virtualGuestTemplate->hostname = 'test1';
$virtualGuestTemplate->domain = 'example.com';
$virtualGuestTemplate->startCpus = 1;
$virtualGuestTemplate->maxMemory = 1024;
$virtualGuestTemplate->hourlyBillingFlag = true;
$virtualGuestTemplate->operatingSystemReferenceCode = 'UBUNTU_LATEST';
$virtualGuestTemplate->localDiskFlag = false;
 
$result = $virtualGuestClient->createObject($virtualGuestTemplate);
print_r($result);

SoftLayer_Virtual_Guest::getCreateObjectOptions을 사용하면 CCI 주문의 모든 옵션을 검색할 수 있습니다.
createObject() 메소드는 계정에 요금을 부과하므로 SoftLayer_Virtual_Guest::generateOrderTemplate로 주문을 완료해도 주문 오브젝트가 생성되지 않아 CCI 작성을 테스트하는 데 좋습니다. 이 메소드를 통해 리턴되는 SoftLayer_Container_Product_Order는 주문 프로세스를 방해하는 이슈를 알리는 SoftLayer_Product_Order::verifyOrder로 전달될 수 있습니다.

$orderClient = SoftLayer_SoapClient::getClient('SoftLayer_Product_Order', Null, $user, $key);
$orderContainer = $virtualGuestClient->generateOrderTemplate($virtualGuestTemplate);
print_r($orderClient->verifyOrder($orderContainer);

목록 표시

SoftLayer_Account::getVirtualGuests 메소드를 사용하면 SoftLayer_Account 서비스에서 모든 CloudLayer Computing Instance 목록을 수집할 수 있습니다. 이 메소드는 SoftLayer_Virtual_Guest 데이터 유형 오브젝트 배열을 리턴합니다.

$accountClient = SoftLayer_SoapClient::getClient('SoftLayer_Account', Null, $user, $key);
$virtualGuests = $accountClient->getVirtualGuests();
print_r($virtualGuests);

이 전체 목록은 계정의 모든 CCI에 대한 정보를 검색하는 데 자주 사용되고, ID가 알려지지 않은 특정 CCI를 검색하는 데에도 유용합니다.

$accountClient = SoftLayer_SoapClient::getClient('SoftLayer_Account', Null, $user, $key);
$virtualGuests = $accountClient->getVirtualGuests();
foreach ($virtualGuests as $virtualGuest) {
    if ($virtualGuest->hostname == "server1") {
        $serverId = $virtualGuest->id;
    }
}

세부사항

특정 CCI에 대한 정보를 확인하려면 SoftLayer_Virtual_Guest 오브젝트를 리턴하는 SoftLayer_Virtual_Guest::getObject를 사용합니다. 오브젝트 마스크를 사용하면 SoftLayer_Virtual_Guest's 로컬 특성 이외의 데이터를 포함할 수 있습니다. 아래는 서버에 설치된 운영 체제의 비밀번호를 제공하는 오브젝트 마스크와 함께 SoftLayer_Virtual_Guest 서비스에서 getObject를 사용하는 예제입니다.

$guestClient = SoftLayer_SoapClient::getClient('SoftLayer_Virtual_Guest', $id, $user, $key);
$objectMask = "mask[id, hostname, domain, operatingSystem[passwords]]"
$guestClient->setObjectMask($objectMask);
$virtualGuest = $guestClient->getObject();
print_r($virtualGuest);

로컬 특성도 많이 정의했기 때문에, 출력에는 오브젝트 마스크로 인한 관계형 특성 외에 마스크에 정의되어 있는 로컬 특성이 제한된 개수만 포함되는 것을 확인하십시오.

취소

CCI를 취소하려면 SoftLayer_Account 서비스에서 ID를 가져오면 됩니다. 이 예제에서는 계정에서 모든 가상 게스트를 가져오고 호스트 이름을 사용하여 취소할 특정 게스트를 구문 분석합니다. 가상 게스트의 호스트 이름이 고유하지 않으므로 호스트 이름은 주의하여 사용해야 합니다.
SoftLayer_Virtual_Guest::deleteObject

$guestClient = SoftLayer_SoapClient::getClient('SoftLayer_Virtual_Guest', $serverId, $user, $key);
$result = $guestClient->deleteObject();
print_r($result);

이 메소드는 지정된 ID를 갖는 컴퓨팅 인스턴스를 바로 취소합니다.
참고: SoftLayer_Virtual_Guest::pause를 사용하여 인스턴스를 일시정지하면 비용 청구가 중지되지 않습니다. 비용 청구를 멈추려면 인스턴스를 취소/제거해야 합니다.

재부팅

CCI의 전원을 껐다가 켜려면 다음 두 가지 방법을 사용합니다.