😊

Lambda Cloud (GPU Cloud) API の使い方

2023/02/23に公開

Lambda Cloud (GPU Cloud) の使い方で紹介させていたLambda Cloud (GPU Cloud)ですが、
Lambda Cloud APIを使って簡単な制御を行うことが出来ます。

cURL

インスタンス起動

https://docs.lambdalabs.com/cloud/launch-instance-api/

※ インスタンス起動は10秒に1回と決められているようです。

https://docs.lambdalabs.com/cloud/rate-limiting/

※ インスタンスを終了させずに一時停止させることは出来ないようです。

https://docs.lambdalabs.com/cloud/pause-instance/

インスタンス終了

https://docs.lambdalabs.com/cloud/terminate-instance-api/

※ インスタンス終了後は復旧できないようです。永続的ファイルシステムで永続的に利用できますが、全てのインスタンスタイプで利用できるわけではありません。

https://docs.lambdalabs.com/cloud/recover-data-terminated-instance/

起動中インスタンス一覧取得

https://docs.lambdalabs.com/cloud/list-running-instances/

インスタンス詳細取得

https://docs.lambdalabs.com/cloud/list-details-specific-instance/

提供インスタンスタイプ一覧取得

https://docs.lambdalabs.com/cloud/list-offered-instance-types/

SSHキー生成&追加

https://docs.lambdalabs.com/cloud/api-add-ssh-key/

Python

こんな感じの関数を作っておいて、API_KEYapidataを渡してやれば呼び出せます。

'''Wrapper for Lambda Cloud API
'''

import requests
import libs.env as env
import json

URL_BASE = 'https://cloud.lambdalabs.com/api/v1/'
HEADER = {
    'Content-Type': 'application/json',
}


def get(api):
    res = requests.get(
        ''.join([URL_BASE, api]),
        headers=HEADER,
        auth=(env.API_KEY, ''),
    )
    return res.json()


def post(api, data):
    res = requests.post(
        ''.join([URL_BASE, api]),
        headers=HEADER,
        data=json.dumps(data),
        auth=(env.API_KEY, ''),
    )
    return res.json()

Lambda Cloud API with Pythonとして、SSHキー関連以外のサンプル実装を置きました。よろしければ参考にしてください。

Discussion