SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

翔泳社の本

今さら聞けないクラウドAPIの基本【後編】: 標準化・抽象化・自動化

抄録:『絵で見てわかるクラウドインフラとAPIの仕組み』


1.2.3 API による操作の自動化

 このように、IaaS タイプのクラウドでは、抽象化されたコンポーネントを組み合わせることで、標準化された手順でシステムを構築することが可能になります。つまり、一度確立した手順をもとに、同様のシステムを何度でも繰り返し構築できるようになります。

 また、当然ながら、物理的な作業は行なう必要がありません。自席のPC から操作するだけで、ネットワーク、サーバー、ストレージといったシステムインフラのすべての環境を自分一人で整えることが可能です。従来の物理機器を用いた環境と比較すると、驚くほどのスピード感でシステム構築が進められます。

 しかしながら、クラウドのメリットはこれにとどまりません。同じ手順を何度も繰り返す場合、手順そのものを自動化したくなるものです。これまで、OS をインストールした後のサーバー内部の環境設定については、シェルスクリプトなどで簡易的に自動化することができました。Puppet や Chef などの構成管理ツールを利用して、より複雑な構成に対応することも可能です。

 その一方で、サーバーの設置やネットワーク接続など、物理作業を伴う手順を自動化することは、ほぼ不可能でした。クラウドでは、このような作業も自動化することが可能になるのです。

 ここでポイントになるのが、API による操作です。そこでまずは、クラウドでシステム構築を行なう際の操作方法を整理しておきましょう。大きくは、表 1.1 のように分類できます。

表1.1 クラウドの操作方法の分類
表1.1 クラウドの操作方法の分類

 Web コンソールを用いる場合は、GUI のメニューから「仮想マシンを起動する」などの操作を選択します(図 1.13)。その後、仮想マシンの構成情報を入力するウィザード画面が表示されるといった流れになります。

 必要な情報の入力を終えて[完了]ボタンを押すと、Web コンソールを表示するプログラムから、クラウドの管理サーバーに対して、仮想マシンの起動を指示する命令が流れます。このとき、命令を伝えるために利用されるのがクラウドの「API」です(図 1.14)。

図1.13 Webコンソールによる操作
図1.13 Webコンソールによる操作
図1.14 管理サーバーの API を用いた制御
図1.14 管理サーバーの API を用いた制御

 API(Application Program Interface)とは、プログラム同士がお互いに命令をやりとりするために、事前に取り決められたルールを表わします。

 先ほどの場合は、クラウド管理サーバーで管理機能を提供するプログラムは、事前に決められたルールに従って、Web コンソールからの命令を受け取るというわけです。クラウドで実施できる操作は、すべてクラウドの管理サーバー側に対応する API が用意されています。

 たとえば、専用のクライアントツールを導入した PC では、コマンドを用いてクラウドを操作することも可能です。仮想マシンを起動する例で考えると、Web コンソールであれば、ウィザードの画面から仮想マシンの構成情報を 1 つずつ入力する必要がありました。

 一方、コマンドを用いる場合は、これらの情報をコマンドラインオプションとして指定することで、1 つのコマンドですぐに仮想マシンを起動することができます。この場合は、クライアントツールのプログラムから、クラウドの管理サーバーの APIに対して直接に命令が送信されます(図 1.15)。

図1.15 クライアントツールによるAPI操作
図1.15 クライアントツールによるAPI操作

 クライアントツールと同様に、クラウドに対して API 命令を送信するプログラムを作成すれば、自作のプログラムからクラウドを操作することもできます。それぞれのクラウドは、API を操作するためのプログラムライブラリを提供しているため、このようなライブラリを使用すれば、それほど高度なプログラミング技術は必要ありません。

 Ruby や Python などのプログラム言語を用いれば、Web サーバーの仮想マシンを負荷分散構成で複数用意しておき、Web サーバーの負荷に応じて仮想マシンを増減する「オートスケール」など、より高度な自動化処理も実現可能となります(図1.16)。

図1.16 プログラムによる高度な自動化処理
図1.16 プログラムによる高度な自動化処理

 ただし、最近では、このような API 操作を自動化するツールも充実してきたので、必ずしも自分でプログラムを書く必要はなくなりました。オートスケールのように、よく利用するパターンの自動化は、クラウド側でその機能が用意されていることもあります。

 しかしながら、どのような方法を用いるにしても、その背後では、必ず APIによる操作が行なわれています。クラウドの API を理解することは、クラウドを操作するための「最小単位」、つまり、クラウドの基本機能を理解することに他なりません。これは、各種の自動化ツールを使いこなすための大切な基礎となります。

次のページ
 1.3 クラウドコンピューティングの活用に向けて

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
関連リンク
翔泳社の本連載記事一覧

もっと読む

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/13440 2020/11/19 18:01

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング