API를 통해 ECS 인스턴스를 관리하거나 사용자 정의 개발하는 방법

坏嘻嘻
풀어 주다: 2018-09-30 13:56:22
앞으로
2244명이 탐색했습니다.

이 문서의 내용은 API를 통해 ECS 인스턴스 개발을 관리하거나 사용자 정의하는 방법에 대한 것입니다. 이는 특정 참고 가치가 있으므로 도움이 될 수 있습니다.

ECS 인스턴스를 유연하게 관리

RAM 하위 계정 AK 키 가져오기

API를 사용하여 ECS 인스턴스를 관리하려면 ECS 리소스에 액세스할 수 있는 API 키(AccessKey ID 및 AccessKey Secret)가 필요합니다. 클라우드 서비스의 보안을 보장하려면 ECS 리소스에 액세스할 수 있는 RAM 사용자를 생성하고, 사용자의 AccessKey를 획득하고, 이 RAM 사용자 및 API를 사용하여 ECS 인스턴스를 관리해야 합니다.

다음은 RAM 사용자 AccessKey를 얻는 단계입니다.

RAM 사용자를 생성하고 AccessKey를 얻습니다.

RAM 사용자에게 직접 권한을 부여하고 RAM 사용자에게 클라우드 서버 서비스(ECS) 관리 권한을 부여합니다.

ECS Python SDK 설치

먼저 Python의 런타임이 이미 있는지 확인하세요. 이 기사에 사용된 Python 버전은 2.7 이상입니다.

pip install aliyun-python-sdk-ecs
로그인 후 복사

권한이 없다는 메시지가 나타나면 sudo를 전환하여 계속 실행하세요.

sudo pip install aliyun-python-sdk-ecs
로그인 후 복사

이 글에 사용된 SDK 버전은 2.1.2입니다.

Hello Alibaba Cloud

hello_ecs_api.py 파일을 생성합니다. SDK를 사용하려면 먼저 RAM 사용자의 AccessKey ID와 AccessKey Secret이 필요한 AcsClient 개체를 인스턴스화합니다.

AccessKey ID와 AccessKey Secret은 RAM 사용자가 Alibaba Cloud ECS 서비스 API에 액세스하기 위한 키입니다. 해당 계정에 대한 모든 권한이 있으므로 올바르게 보관하시기 바랍니다.

from aliyunsdkcore import client
from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
from aliyunsdkecs.request.v20140526.DescribeRegionsRequest import DescribeRegionsRequest
clt = client.AcsClient('Your Access Key Id', 'Your Access Key Secrect', 'cn-beijing')
로그인 후 복사

인스턴스화를 완료한 후 첫 번째 애플리케이션을 개발할 수 있습니다. 현재 계정이 지원하는 지역 목록을 쿼리합니다. 특정 문서는 사용 가능한 지역 목록 쿼리를 참조하세요.

def hello_aliyun_regions():
    request = DescribeRegionsRequest()
    response = _send_request(request)
    region_list = response.get('Regions').get('Region')
    assert response is not None
    assert region_list is not None
    result = map(_print_region_id, region_list)
    logging.info("region list: %s", result)
def _print_region_id(item):
    region_id = item.get("RegionId")
    return region_id
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)
hello_aliyun_regions()
로그인 후 복사

명령줄에서 python hello_ecs_api.py를 실행하여 현재 지원되는 지역 목록을 가져옵니다. 유사한 출력은 다음과 같습니다.

[u'cn-shenzhen', u'ap-southeast-1', u'cn-qingdao', u'cn-beijing', u'cn-shanghai', 
u'us-east-1', u'cn-hongkong', u'me-east-1', u'ap-southeast-2', u'cn-hangzhou', u'eu-central-1',
 u'ap-northeast-1', u'us-west-1']
로그인 후 복사

현재 Region

에서 ECS 인스턴스 목록을 쿼리합니다. 인스턴스 목록을 쿼리하는 것은 지역 목록을 쿼리하는 것과 매우 유사합니다. 더 많은 쿼리 매개 변수를 보려면 입력 매개 변수 개체를 바꾸면 됩니다. , 인스턴스 쿼리 목록을 참조하세요.

def list_instances():
    request = DescribeInstancesRequest()
    response = _send_request(request)
    if response is not None:
        instance_list = response.get('Instances').get('Instance')
        result = map(_print_instance_id, instance_list)
        logging.info("current region include instance %s", result)
def _print_instance_id(item):
    instance_id = item.get('InstanceId');
    return instance_id
로그인 후 복사

출력 결과는 다음과 같습니다.

current region include instance [u'i-****', u'i-****'']
로그인 후 복사

더 많은 API 참조 ECS API 개요를 보려면 디스크 목록을 쿼리하고 인스턴스 매개 변수를 설명디스크 요청으로 바꿀 수 있습니다.

전체 코드 예시

위 작업에 대한 전체 코드 예시는 다음과 같습니다.

아아아아

위 내용은 API를 통해 ECS 인스턴스를 관리하거나 사용자 정의 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:aliyun.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿