IaaSプロバイダーのAPIの仕組み

今日は、IaaSプロバイダー1cloudのAPIを使用する実用的なケースについてお話します。 その主なタスクは、クライアントアプリケーションとITインフラストラクチャの統合を確実にすることです。





/ 写真レイチェル・ジョンソン CC



仕事の基本原則の1つは、顧客にシンプルで便利なインターフェイスを提供することです。 課題は、プロジェクトのITコンポーネントの構成をまだ経験していない人でも仮想インフラストラクチャを利用できるようにすることです。



コントロールパネルパネルのユーザーアクションは、サービスサービスが処理する対応するタスクを作成します。 このアプローチにより、グラフィカルインターフェイスとREST APIを使用して作業するための普遍的な条件を作成できます。



したがって、お客様のアプリケーションは、プロセッサに対して同様のタスクを生成し、特別な要求を使用して実装の進捗を追跡できます。 これを行うには、コントロールパネルで一意のキーを受信して​​、アプリケーションを承認する必要があります。









APIを操作するためのアプリケーションの承認は、リクエストヘッダーにトークン(秘密キー)を挿入することで行われます。このスキームは安全です。 SSL暗号化が使用されます。 トークンは、コントロールパネル(上記のスクリーンショット)で生成できます。



APIを使用すると、仮想インフラストラクチャを使用する企業が直面する多くのユーティリティタスクを自動化できます。 ホスティングサービスの再販に従事している人は、最大の利益を得て、独自のサービスをIaaSプロバイダーのクラウドに持ち込み、すでに予約されている容量を迅速に拡張することを好むことができます。



たとえば、監視システムがピーク負荷を記録した場合、開発者は追加のクラウドリソースを自動的に使用できます。 不況で-未使用のリソースを自動的に放棄します。 これはすべて、APIを使用して実行できます。



サーバーの操作の一環として、次のようなアクションを実行することができます。すべてのサーバーのリストを取得します。 識別子によるサーバー検索。 設定を変更し、サーバーを削除します。



APIにはいくつかのクライアントアプリケーションの実装があります。










最も一般的なアクションの例は、 新しいサーバー作成することです:



curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' "https://api.1cloud.ru/Server" -d '{"Name":"testAPI","CPU":1,"RAM":1024,"HDD":40,"imageID":1,"HDDType":"SSD","IsHighPerformance":true}'
      
      





応答には、作成されたサーバーの属性を持つJSONオブジェクトが含まれます。



 { "ID":777, "Name":"testAPI", "State":"Active", "IsPowerOn":true, "CPU":1, "RAM":1024, "HDD":40, "IP":"5.200.XX.XX", "AdminUserName":"1CloudAdmin", "AdminPassword":"XXXXXXXX", "Image":"WinServer2008R2x64En", "IsHighPerformance":false, "HDDType":"SAS", "LinkedNetworks":[{"NetworkID":57, "IP":"10.0.1.1"}, {"NetworkID":98, "IP":"10.0.2.4"}] }
      
      







仮想サーバーテンプレートの作成例( api.1cloud.ru/imageでの POSTリクエスト):



 curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' "https://api.1cloud.ru/image" -d '{"Name":"","TechName":"TemplateAPI","ServerID":6940}'
      
      







別の例は、 プライベートネットワークの作成 (POST要求)です。



 curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' "https://api.1cloud.ru/network" -d '{"Name":"testNetworkAPI"}'
      
      







PS Habrahabrの聴衆向けに、すべてのユーザーにサポートを提供する準備ができている延長テスト期間を提供します(アクティブ化するには、 support @ 1cloud.ruにメールをお送りください )。



All Articles