Developerサイトに移行します。見た目やトピックエリアなど更新されますが、開発者に必要とされるコンテンツを引き続き提供していきます。ソリューションの作成https://www.ibm.com/developerworks/jp/views/global/libraryview.jsp?series_title_by=ibm+smartcloud+enterprise+でのソリューションの作成このシリーズの続きに乞うご期待。ソリューションの作成このシリーズの続きに乞うご期待。クラウドの利用者が豊富な選択肢のなかから実際に使用できるリソースを選べるようにすることです。その一方で、イメージおよびソフトウェアの開発者たちがサポート作業をこなせるレベルに維持するという目標もあります。ソフトウェア・バンドルおよびイメージといったリソースを効果的に使用および管理することで、両方の目標を達成する方法を、実例を用いて説明します。この記事の内容は以下のとおりです。おけるソフトウェア・バンドルおよびイメージの管理について概説します。上記のソフトウェア・バンドルおよびイメージのリソース・モデルを説明します。このリソース・モデルを管理するプラットフォームと他のソフトウェア・パッケージ管理プラットフォームを比較します。このリソースの使用例を説明します。使用可能なツールについて説明します。上記内容については、エネルギー節約のためのエネルギー計算アプリケーションを例に説明します。コードと命令しか含まれていない単純なソリューションを実装する方法と、このソリューションをソフトウェア・パッケージとしてクラウド上の仮想マシンにデプロイする方法を学んでください。シリーズの今後の記事では、今回と同じサンプル・アプリケーションを使用して、個々のツール、API、使用例についてさらに詳しく探る予定です。この記事で対象とする読者は、継続可能な方法で効率的にクラウド・リソースを管理する方法を知りたいと思っている、クラウドの利用者およびクラウドの利用を計画している方々です。この記事を理解するのにプログラミングの知識は必要ありません。いくつかの非常に短いサンプル・スクリプトを記載しますが、必要なすべての基本知識は記事の中で説明します。作業する場合にも簡単に適応させることができます。上でソフトウェア・バンドルおよびイメージを使用および管理する方法と他のツールを使用する方法を説明します。クラウド上で利用可能なさまざまな機能やツールについて、エネルギー節約のためのエネルギー計算アプリケーションを例に説明します。今後の記事では以下のトピックを取り上げます。コンテキストにおけるソフトウェア・バンドルとは、仮想マシン・インスタンスにデプロイできる、ソフトウェアのインストール・ファイル、構成ファイル、およびメタデータを集めたものです。API、そしてサード・パーティーのツールを使用することができます。一般に、仮想マシン・イメージに含まれるソフトウェアは、イメージ開発者がすでにインストールして構成済みとなっています。このような「フリーズ・ドライ」方式での問題は、必要なソフトウェアの組み合わせを持つイメージを見つけられない場合があることです。その場合、既製の仮想マシン・イメージを選んで、それをベースに独自のソフトウェアをインストールするという、「ドゥ・イット・ユアセルフ」方式を採ることになります。世界では「仮想マシン・イメージのスプロール」と呼んでいます。つの問題は、特定の使用ケースを対象に設計された仮想マシン・イメージは、イメージ開発者が意図していたその特定の使用ケース以外のシナリオには、ほとんど使いものにならないことです。上にテンプレート・イメージを作成します。いうスタンドアロンのツールもあります。パッケージとして保管します。製品を使用してデプロイすることが可能です。仮想マシン・イメージには、以下のものを含めることができます。オペレーティング・システムミドルウェアアプリケーションユーザー固有の構成イメージに多くのものを追加すればするほど、そのイメージは再利用しにくくなります。個々のイメージが再利用しにくければ、その分イメージの数も増えてくるでしょう。(これもまた重要な内容です)。簡単な論理リソース・モデルを示します。リソースについての説明と、属性および関係を記載します。保管可能なバイナリー・ファイル。仮想マシン・インスタンスと、その仮想マシン・インスタンスについて記述するメタデータにインスタンス化することができます。そのイメージが使用できる状態にあるか、何らかの遷移状態にあるかを示します。イメージをインスタンス化することで、インスタンスを作成することができます。物理マシンが置かれているデータ・センターまたは特定の場所。同じ場所になければなりません。InstanceType、そしてオプションでアドレスとボリュームを入力として取り、実行状態のインスタンスを作成します。そのインスタンスが実行状態であるか、それ以外の状態にあるかを示します。仮想マシンに関連付けるリソースのテンプレート。インストール・スクリプトとアクティベーション・スクリプト。オプションで、バイナリー・ファイルとそれ以外のインストール可能なリソース。イメージに追加することができます。アクティベーション・スクリプトが仮想マシンのファイルシステムに注入されます。データとイメージを保管するために使用できる仮想ブロック・ストレージ・デバイス。ボリュームは、インスタンスのプロビジョニング時、またはインスタンスが実行状態になってから、インスタンスに接続することができます。ボリュームがインスタンスに接続されない限り、そのボリュームに保管されたデータにはアクセスすることができません。独立したリソースとして管理することもできます。アドレスはインスタンスに追加することもできます。仮想ローカル・エリア・ネットワークまたはサブネット。パブリックまたはプライベートのいずれかにすることができます。マルチホーム仮想マシンを介してのみ許可されます。秘密鍵は、ユーザーが保持する必要があります。ユーザーは必要に応じて随時、クラウドが用意している公開鍵を使って新しい鍵を生成することができます。仮想マシンは、プロビジョニング中に鍵が組み込まれてから起動します。ソフトウェア・パッケージ管理システムソフトウェア・パッケージの管理は、コンピューティング・システムを管理する上で不可欠な側面です。クラウド・システムを管理する上でもそれは変わりませんが、クラウドのコンテキストでは、動的にプロビジョニングされる仮想マシン・インスタンスを扱うため、クラウドでのパッケージ管理は通常とは異なります。仮想マシン・インスタンスが動的にプロビジョングされるということは、追加のソフトウェアをオンザフライでプロビジョニングできるということであり、システムが「そのままで機能する」というユーザーの期待も大きくなります。クラウド・ソフトウェア・パッケージ管理システムは、オペレーティング・システムやソフトウェア開発プラットフォームにバンドルされているパッケージ管理システムと概念の点で似ており、これらのパッケージ管理システムを取り込むことができます。ソフトウェア・パッケージ管理システムの概要を説明し、これをクラウド・システムに適用します。してバンドルし、プロビジョニングの際にクラウド・ベースの仮想マシンに注入する手順を説明します。以下の特徴があります。パッケージ間の整合性を維持するのに役立ちます。インストール済みパッケージに関する情報を取得するために使用することができます。暗号署名を使用してパッケージの真正性を検証します。インストール済みパッケージを更新します。インターネットからパッケージを取得することができます。いくつかのフロント・エンドがあります。パッケージ管理が使用されます。フロント・エンドとして、デューク大学で開発されました。中央ソフトウェア・パッケージ・リポジトリーと連動します。依存関係を認識するものの、解決することはしません。オプションを使用します。コマンドは失敗します。コマンドを使用します。インストールするとしたら、以下のコマンドを実行します。自動的にインストールします。システムで使用されているパッケージ管理システムです。場合と同じく、パッケージ・データは中央データベースに保管されます。コマンドを使用します。パッケージをインストールする場合には、以下のコマンドを実行します。リモート・リポジトリーでパッケージ情報を検索し、その依存関係を判断して、パッケージをダウンロードし、インストールします。モジュールを配布およびインストールするための機能が組み込まれています。ソフトウェアをインストールして使用する場合、モジュールをダウンロードして解凍し、セットアップ・コマンドを実行することで、これらの機能を簡単に利用することができます。知識がなくてもこの記事の内容を十分に理解することができます。つのリソースとして配布されるモジュールの集合。これは、他の多くのプラットフォームでは一般的な意味のソフトウェア・パッケージに相当します。モジュールをインストールするには、以下のコマンドを実行します。インストールされます。一般ユーザーとして以下のコマンドを実行し、ユーザーのホーム・ディレクトリー・ツリーにモジュールをインストールすることもできます。ツールキットを提供しています。作成し、そのモジュールをインストールしてテストする作業に取り掛かります。この単純な例では、コードがサンプル・データを出力するだけですが、これと同じ概念は、高度に作成されたソフトウェア・パッケージ管理システムを必要とする複雑なシナリオにも簡単に適用することができます。クラスのコードは以下のとおりです。self._baseこのコードは、以下のようにしてエネルギー計算プログラムのクライアントから呼び出します。today".format(ec.energy_used()))以下に示すのは、コードが呼び出されたときの出力例です。todayまず、セットアップ・スクリプトを作成します。)次に、配布モジュールを作成します。sdist上記の例でのセットアップ・スクリプト・コマンドによって、ソース配布パッケージが作成されます。パッケージをインストールする際には、このファイルを使用することができます。関する情報が欠落しているという警告が出されます。ファイル内にマニフェストも作成します。コマンドを使用してください。上で作業していることを前提としています。コマンドがインストールされている必要があります。してファイルをコピーします。値を再入力しなくても済むように、これらの値にはシェル変数を定義してください。ディレクトリーから以下のコマンドを実行することで、リモートからバンドルを解凍してインストールすることができます。変更し、リモートからバンドルを解凍してインストールします。リモート・コマンドは単一引用符で囲まれ、その中で各コマンドはセミコロンで区切られます。モジュールがターゲット・マシンにインストールされたので、クライアント・プログラムを使って以下のスクリプトでモジュールを呼び出すことができます。today上記に示されているコマンドは、クライアント・スクリプトをコピーしてから実行します。これらのコマンドは、クライアント・スクリプトが格納されているディレクトリーから実行してください。ここまでの時点で行った作業を以下にまとめます。モジュールと、そのモジュールを実行するクライアント・スクリプトを作成しました。モジュールのインストール・バンドルを作成しました。使用して、仮想マシンへのモジュールのインストールをリモートから行いました。クライアント・スクリプトを使用して、仮想マシン上のモジュールの呼び出しをリモートから行いました。この例では、皆さん自身でソフトウェアを作成して、そのソフトウェアを使用しているということを考えれば、ここまでの成果はなかなかのものです。この単純な例では、以下の欠点が明らかになってきます。モジュールをインストールするには、利用者がその方法を知っていなければなりません。他の言語で作成されたソフトウェア・パッケージでも同じ方法でインストールできるようにするのが理想です。モジュールを見つけたり、場合によっては更新したりする作業は手間がかかります。バージョンなどの前提条件が記述されていません。イメージのスプロールという問題を回避するには、クラウド・コンソールからパッケージをインストールして仮想マシンに注入できるようにしなければなりません。スクリプトを作成する以外の方法が必要です。望ましくは、プロビジョニング時や自動更新の必要がある場合に、エネルギー計算プログラムのモジュールを仮想マシンに注入できることです。欠点を解消するのに役立つツールもあります。アクティベーション・スクリプトと起動スクリプトを作成する際には、これらのフォーマットを使用するほうがより重宝します。このセクションでは、エネルギー計算プログラムのモジュールがインストール済みであるかどうかをテストする、アクティベーション・スクリプトを作成する方法を説明します。コマンドを使ってインストールすることができます。パッケージを作成するには、以下のコマンドを実行します。コマンドを使用します。idcuser@${vm}:/tmp/libenergy-0.1-1.noarch.rpm以下のコマンドを実行して、エネルギー計算プログラムのモジュールをインストールします。コマンドは、モジュールがインストールされているかどうかを調べ、既にインストールされている場合には、インストールしません。実行して確認してください。ファイルとコマンドを使って、クラウドで仮想マシンがプロビジョニングされるときに、その仮想マシンにエネルギー計算プログラム・モジュールを注入します。ツールを使用する場合のように単純には行きませんが、ソフトウェア・バンドル・プロセスの詳細を明らかにすることは確かです。使用した自動化を容易に適用することができます。これらの理由から、最初に手動によるプロセスについて説明します。イメージを作成し、その所有権を持つことです。作成したイメージの所有権がなければ、そのイメージをベースに仮想マシンをプロビジョニングするために、メタデータを編集したり、仮想マシンに注入するファイルを追加したりすることはできません。(カスタマイズには、ソフトウェアのインストールも含まれます)。既存のイメージを複製します。イメージの複製は、イメージ管理の自動化ツールと作成ツールに最も適用しやすい手法なので、ここではイメージを複製する方法について説明します。以下の手順に従って、イメージを複製します。(イメージの追加)」ボタンをクリックします。(基本イメージ)」ウィンドウが開きます。(次へ)」ボタンをクリックします。2クリックして大きなイメージを見る複製後のイメージの名前と説明を入力します。(次へ)」ボタンをクリックします。(送信)」ボタンをクリックします。イメージの複製には数分かかります。(アセット・カタログ)」に複製されたイメージが表示されます。ようなイメージ・アセットの内容が表示されます。イメージのトポロジーをモデル化するファイルがあります。前のセクションで複製したイメージの内容は、アセット・カタログでは以下のように表示されます。イメージのトポロジーをモデル化するファイルがあります。