Product SiteDocumentation Site

Fedora Draft Documentation

Cloud Guide

Fedora in the cloud.

エディッション 16.4

Smith Jared [FAMILY Given]

Fedora Documentation Project

Christensen Eric [FAMILY Given]

Fedora Documentation Project

Keithley Kaleb [FAMILY Given]

Red Hat

Bergeron Robyn [FAMILY Given]

Fedora Project

法律上の通知

Copyright © 2010-2011 Fedora Project Contributors.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
For guidelines on the permitted uses of the Fedora trademarks, refer to https://fedoraproject.org/wiki/Legal:Trademark_guidelines.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
All other trademarks are the property of their respective owners.
概要
The Cloud Guide contains information on building and managing your own cloud using free and open source solutions.

Preface
1. 表記方法
1.1. 印刷における表記方法
1.2. 引用における表記方法
1.3. 注記および警告
2. フィードバック
1. クラウドのコンセプト
1.1. クラウドサービスで Fedora を利用する方法についてご紹介します。
1.1.1. クラウドコンピューティングとは
1.1.2. クラウドサービスの種類
1.1.3. Infrastructure as a Service
1.1.4. Platform as a Service
1.1.5. Software as a Service
2. クラウド上で Fedora を使うには
2.1. Amazon EC2
2.1.1. EC2の概要
2.1.2. EC2 のコンセプト
2.1.3. EC2アカウントを登録する
2.1.4. EC2 へ euca2ools で接続する
2.1.5. EC2 インスタンスを稼動する
2.1.6. Elastic Block Storage (EBS) を使う
2.2. BoxGrinder
2.2.1. Installing BoxGrinder
2.2.2. Using BoxGrinder to Create a Fedora Image
2.2.3. Using BoxGrinder to Create a Fedora Instance on Amazon EC2
2.2.4. BoxGrinder Plugins and Platforms
3. Fedora でクラウドをツールを使って管理する
3.1. Deltacloud
3.1.1. Overview of Deltacloud
3.1.2. Typical Use Cases for Deltacloud
3.1.3. Getting Started with Deltacloud
3.2. Aeolus
3.3. Matahari
4. Fedora を使って自分自身のクラウドインフラを構築する
4.1. Infrastructure as a Service (IaaS)
4.1.1. Openstack を使ってあなた自身のクラウドを作ることが可能です。
4.1.2. CloudStack
4.1.3. Sheepdog
4.1.4. HekaFS
4.2. Platform as a Service (PaaS)
4.2.1. What is OpenShift?
4.3. Software as a Service (SaaS)
5. Fedora を使ってクラウドイメージを作成する
5.1. Fedora を使ってクラウドイメージを作る方法
6. クラウド上のストレージ
6.1. Ceph
6.2. Amazon S3
6.2.1. Overview of S3
A. 改訂履歴
索引

Preface

1. 表記方法

本ガイドは特定の単語や語句を強調したり、 記載内容の特定部分に注意を引かせる目的で次のような表記方法を使用しています。
PDF版 および印刷版では、 Liberation Fonts セットから採用した書体を使用しています。 ご使用のシステムに Liberation Fonts セットがインストールされている場合、 HTML 版でもこのセットが使用されます。 インストールされていない場合は代替として同等の書体が表示されます。 注記: Red Hat Enterprise Linux 5 およびそれ以降のバージョンにはデフォルトで Liberation Fonts セットが収納されます。

1.1. 印刷における表記方法

特定の単語や語句に注意を引く目的で 4 種類の表記方法を使用しています。 その表記方法および適用される状況は以下の通りです。
等幅の太字
シェルコマンド、ファイル名、パスなどシステムへの入力を強調するために使用しています。またキー配列やキーの組み合わせを強調するのにも使用しています。 例えば、
現在作業中のディレクトリ内のファイル my_next_bestselling_novel の内容を表示させるには、 シェルプロンプトで cat my_next_bestselling_novel コマンドを入力してから Enter を押してそのコマンドを実行します。
上記にはファイル名、シェルコマンド、キーが含まれています。 すべて等幅の太字で表されているため文中内で見分けやすくなっています。
キーが 1 つの場合と複数のキーの組み合わせになる場合を区別するため、 その組み合わせを構成するキー同士をハイフンでつないでいます。 例えば、
Enter を押してコマンドを実行します。
1 番目の仮想ターミナルに切り替えるは、 Ctrl+Alt+F2 を押します。 X-Windows セッションに戻るには、 Ctrl+Alt+F1 を押します。
最初の段落では押すべき 1 つのキーを特定して強調しています。 次の段落では同時に押すべき 3 つのキーの組み合わせが 2 種類ありそれぞれ強調されています。
ソースコードの説明では 1 段落内で提示されるクラス名、 メソッド、 関数、 変数名、 戻り値を上記のように 等幅の太字 で表示します。 例えば、
ファイル関連のクラス群はファイルシステムに対しては filesystem、 ファイルには file、 ディレクトリには dir をそれぞれ含みます。 各クラスは個別に関連する権限セットを持っています。
プロポーショナルの太字
アプリケーション名、 ダイアログボックスのテキスト、ラベル付きボタン、 チェックボックスとラジオボタンのラベル、 メニュータイトルとサブメニュータイトルなどシステム上で見られる単語や語句を表します。 例えば、
メインメニューバーから システム > 個人設定 > マウス の順で選択し マウスの個人設定 を起動します。 ボタン タブ内で 左ききのマウス チェックボックスをクリックしてから 閉じる をクリックしマウスの主要ボタンを左から右に切り替えます (マウスを左ききの人が使用するのに適した設定にする)。
gedit ファイルに特殊な文字を挿入する場合は、 メインメニューバーから アプリケーション > アクセサリ > 文字マップ の順で選択します。 次に 文字マップ メニューバーから 検索 > 検索… と選択して 検索 フィールド内にその文字名を入力し をクリックします。 探している文字が 文字表 内で強調表示されます。 この強調表示された文字をダブルクリックすると コピーするテキスト フィールド内に置かれるので次に コピー ボタンをクリックします。 ここでドキュメントに戻り gedit メニューバーから 編集 > 貼り付け を選択します。
上記には、 アプリケーション名、 システム全体のメニュー名と項目、 アプリケーション固有のメニュー名、 GUI インタフェースで見られるボタンやテキストがあります。 すべてプロポーショナルの太字で表示されているため文中内で見分けやすくなっています。
等幅の太字で且つ斜体 または プロポーショナルの太字で且つ斜体
等幅の太字やプロポーショナルの太字はいずれであっても斜体の場合は置換可能なテキストか変化するテキストを示します。 斜体は記載されている通りには入力しないテキスト、あるいは状況に応じて変化する出力テキストを表します。 例えば、
ssh を使用してリモートマシンに接続するには、 シェルプロンプトで ssh username@domain.name と入力します。 リモートマシンが example.com であり、 そのマシンで使用しているユーザー名が john なら ssh john@example.com と入力します。
mount -o remount file-system コマンドは指定したファイルシステムを再マウントします。 例えば、 /home ファイルシステムを再マウントするコマンドは mount -o remount /home になります。
現在インストールされているパッケージのバージョンを表示するには、 rpm -q package コマンドを使用します。 結果として次を返してきます、 package-version-release
上記の太字斜体の単語 — username、 domain.name、 file-system、 package、 version、 release に注目してください。 いずれもコマンドを発行するときに入力するテキスト用のプレースホルダーかシステムにより出力されるテキスト用のプレースホルダーになっています。
タイトル表示のような標準的な使用の他、 斜体は新しい重要な用語が初めて出現する場合にも使用されます。 例えば、
Publican は DocBook の発行システムです。

1.2. 引用における表記方法

端末の出力とソースコード一覧は、視覚的に周囲の文から区別されています。
端末に送信される出力は mono-spaced roman (等幅の Roman) にセットされるので以下のように表示されます。
books        Desktop   documentation  drafts  mss    photos   stuff  svn
books_tests  Desktop1  downloads      images  notes  scripts  svgs
ソースコードの一覧も mono-spaced roman (等幅の Roman) でセットされますが、以下のように強調表示されます。
package org.jboss.book.jca.ex1;

import javax.naming.InitialContext;

public class ExClient
{
   public static void main(String args[]) 
       throws Exception
   {
      InitialContext iniCtx = new InitialContext();
      Object         ref    = iniCtx.lookup("EchoBean");
      EchoHome       home   = (EchoHome) ref;
      Echo           echo   = home.create();

      System.out.println("Created Echo");

      System.out.println("Echo.echo('Hello') = " + echo.echo("Hello"));
   }
}

1.3. 注記および警告

情報が見過ごされないよう 3 種類の視覚的なスタイルを使用して注意を引いています。

注記

注記は説明している部分に対するヒントや近道あるいは代替となる手段などになります。注記を無視しても悪影響はありませんが知っておくと便利なコツを見逃すことになるかもしれません。

重要

重要ボックスは見逃しやすい事項を詳細に説明しています。現在のセッションにのみ適用される設定上の変更点、 更新を適用する前に再起動が必要なサービスなどがあります。重要ボックスを無視してもデータを喪失するような結果にはなりませんがイライラ感やフラストレーションが生じる可能性があります。

警告

警告は無視しないでください。警告を無視するとデータを喪失する可能性が非常に高くなります。

2. フィードバック

本ガイドに誤植を見つけられた場合や本ガイドの改善案をお持ちの場合はぜひお知らせください。 Bugzilla http://bugzilla.redhat.com/bugzilla/ にて、 Product には Fedora. を選びレポートの提出をお願いいたします。
バグレポートを提出される場合は、 そのガイドの識別子となる cloud-guide を必ず明記して頂くようお願いします。
ドキュメントに関する改善のご意見についてはできるだけ具体的にお願いいたします。 エラーを発見された場合は、 セクション番号および該当部分の前後の文章も含めてご報告頂くと照合が容易になります。

第1章 クラウドのコンセプト

1.1. クラウドサービスで Fedora を利用する方法についてご紹介します。

1.1.1. クラウドコンピューティングとは

失礼しました。しかし「クラウド」は漠然とした用語です。善意のある人々はクラウドコンピューティングについて語るとき、しばしば多くの差異のいずれかのシナリオについて話しています。このセクションでは Fedora とクラウドコンピューティングのさまざまな面から見ていきます。

1.1.2. クラウドサービスの種類

クラウドサービスには様々な種類があります:

1.1.3. Infrastructure as a Service

1.1.4. Platform as a Service

1.1.5. Software as a Service

第2章 クラウド上で Fedora を使うには

2.1. Amazon EC2

2.1.1. EC2の概要

Amazon Web Services (通常はAWSで参照できます) は パブリッククラウド であり、Amazonのデータセンター上で、ソフトウェアを構築、稼動することができる、様々なコンピューティングサービスの集合体です。Fedoraは、AWS の仮想マシン環境に、マシンイメージを提供しています。 Amazon Elastic Compute Cloud (または EC2 )は、Amazon cloud 上に、非常に小さな労力で仮想マシンを構築することを可能にするものです。このセクションの目的は、読者に EC2 の専門用語や機能に慣れてもらうことにあります。より詳細のドキュメントは、 AWS website をご覧ください。

2.1.2. EC2 のコンセプト

以下は、 EC2 の専門用語を簡単に説明したものです。より詳細な情報はEC2 documentation をご覧ください。

2.1.2.1. イメージとインスタンス

マシンイメージ とは、 EC2 仮想マシンの基礎となるスナップショット (特にそのrootファイルシステム)です。新しく EC2 仮想マシンを立ち上げる際に、マシンイメージをあたかもテンプレートのように選択します。新しい仮想マシンはそのマシンイメージ の実体であり、そのイメージの全てがコピーされます。インスタンスは停止、破棄、または異常終了するまで稼動し続けます。インスタンスが異常終了した場合、同じイメージから新たに別のインスタンスを作成することができます。1つのマシンイメージから、複数のインスタンスを作成することができます。それぞれのインスタンスは、独立しています。
単一もしくは複数のイメージを用途に応じて使用できます。1つのイメージから、異なるタイプのインスタンスを作成することができます。 インスタンスタイプ とは、メモリ容量、ディスク容量、CPUパワーを表すものです。
Amazon、Fedora、その他の団体、個人が一般使用のためにイメージを提供しています。その中から評判のよいものを使用するだけです。そうして作成したインスタンスを、用途に合うように簡単にカスタマイズできます。また、マシンイメージを独自に作成することも可能ですが、それはこのドキュメントの範疇を超えます。
EC2 におけるマシンイメージは、時々 AMIs と呼ばれます。
マシンイメージは、 ami-6ebe4507 といったように、 ami で始まる識別子を持ちます。インスタンスは、i-12459dbd といったように、 i で始まる識別子を持ちます。

2.1.2.2. リージョンとアベイラビリティゾーン

Amazon はデータセンターを保有しており、それは世界中に点在しています。データセンターは リージョン で成り立っています。リージョン名は us-east-1 のように、その場所に基づいて命名されています。
リージョンは、複数の アベイラビリティゾーン で構成されています。アベイラビリティゾーンの分割は、他のゾーンの障害の影響を受けないように独立して設計されています。しかしゾーン間の通信回線は、リージョン間の回線より高速な回線で接続されています。Webアプリケーションを複数のアベイラビリティゾーンに配置することにより、障害発生時の対応の信頼性を高めることが出来ます。アベイラビリティゾーン名は、 us-east-1a のように、その所属しているリージョンに基づいて命名されています。

2.1.2.3. ストレージ

EC2 インスタンスは、3つのタイプのストレージがAWSより提供されています。
2.1.2.3.1. Simple Storage Service (S3)
Amazon Simple Storage Service (S3) は、Webベースのストレージサービスで、EC2からも、その他インターネット上のどこからでもからもアクセスできます。このドキュメントではS3については述べません。詳細はこちら Amazon S3のドキュメント をご覧下さい。
2.1.2.3.2. Elastic Block Store (EBS)
Amazon Elastic Block Store (EBS) はインスタンスに対し、実物のディスクのような永続的なストレージで、インスタンスへアタッチまたはデタッチすることができます。外付けディスクドライブと似ています。EBS ボリューム を作成して、インスタンスへアタッチしておき、インスタンス入れ替えや障害発生時に、複数のインスタンス間を動かしたいようなデータを保存しておくことができます。インスタンスのrootファイルシステムは容量に限界があるので、ボリュームはインスタンスに空き容量を追加する簡単な方法ともいえます。
ボリュームは、 vol-ffe93704 というように、 vol で始まる識別子を持ちます。
ボリュームのバックアップスナップショットを取ることができます。このスナップショットから、新たなボリュームを作成し、別のインスタンスにアタッチすることができます。1つのスナップショットから複数のボリュームを作成することができます。それぞれのボリュームは、その他のボリュームとは独立しています。
スナップショットは、 snap-773491a0 というように、snap で始まる識別子を持ちます。
2.1.2.3.3. インスタンスのストレージ
いくつかのインスタンスタイプは、インスタンスが稼働中のみ存続する インスタンスストレージ を持ちます。インスタンスストレージはインスタンスが停止、破棄、異常終了すると消滅します。よって、これは一過性のストレージともいえます。
EC2 が最初に公表された時は、全てのマシンイメージは インスタンスストレージでした。つまり、rootファイルシステムはインスタンスストレージであることを意味していました。現在は、EBS となっています。つまり、rootファイルシステムはEBSボリュームにあります。

2.1.2.4. セキュリティグループ

セキュリティグループ は、EC2インスタンスへのファイアウォールのルールを定義するものです。これらのルールはインスタンスへと入ってくるネットワークトラフィック(例えば、Webポート 80 またはSSHポート 22 など)を特定します。ここで定義された以外のトラフィックは無視されます。デフォルトでは、何もルールが存在していません。これが原因で全てのトラフィックを遮断してしまうことがあります。セキュリティグループのルールはいつでも変更可能です。
全てのインスタンスは、セキュリティグループの中で稼動します。独自のセキュリティグループを作成することも、 EC2 から提供される default グループを使用することも可能です。新たなインスタンスを作成するとき、敢えて別のセキュリティグループを選択しない限り default セキュリティグループとなります。

2.1.3. EC2アカウントを登録する

AWS を使用するためには、アカウントを作成する必要があります。この続きのステップに従っていけば、アカウントを作成できます。

Amazon AWS はタダじゃありません

AWS は従量課金性のサービスです。新規ユーザーには大半の EC2 サービスが無料ですが、その他のサービスは時間あたり、または月間あたりの料金が発生します。この詳細は EC2 のWebサイト で参照できます。また、新規アカウント開設にあたっては、Amazonからカード番号が要求されます。
  1. Webブラウザーを起動する

    ブラウザを立ち上げて、Amazon EC2のサイトへ進んでください。 Amazon EC2のアドレスはこちらですhttp://aws.amazon.com/ec2/Sign Up Now をクリックして、ユーザー登録を開始してください。
  2. サインイン、またはAWSアカウントを作成する

    登録手続きにおける最初の画面は、メールアドレスとパスワードによる既存ユーザーのログイン画面です。ここでは新規ユーザー登録の場合は、メールアドレスを入れるだけです。次へ進んでください。
    • My e-mail address is: にあなたのメールアドレスを入れてください。これはあなたのAmazon EC2のユーザー名となります。
    • ラジオボタン I am a new user. が選択されていることを確認してください。
    これらの値を入力して Sign in using our secure server をクリックしてユーザー登録を進めてください。
  3. ログイン認証情報

    The Login Credentials 画面は、あなたのAmazon EC2アカウントに関連付けられる基本認証トークンの入力を行います。基本認証トークンとは、あなたのメールアドレス、パスワードです。メールアドレスは、実質あなたのアカウントのユーザー名です。
    1. フルネームを My name is: 欄に入力してください。
    2. My e-mail address is: にあなたのメールアドレスを入れてください。
    3. My e-mail address is: のすぐ後に、Type it again: に移ります。確認のためにあなたのメールアドレスを再度入力してください。
    4. Enter a new password: にあなたの希望するパスワードを入力してください。
    5. Enter a new password: のすぐ後に、Type it again: に移ります。確認のためにあなたの希望するパスワードを再度入力してください。
    Continue をクリックして、登録手続きの次のステップへと進んでください。

    重要 — パスワードセキュリティ

    Amazon Web Servicesへアクセスする際、安全なパスワードを使用することは重要なことです。Amazonはあなたがパスワードをメモして保存などしないよう勧めています。パスワードは最低8文字です。大文字、小文字、数字の組み合わせである必要があります。また少なくとも、1文字は特殊文字である必要があります。
  4. Contact Information

    Contact Information 画面では、あなたの名前、住所、そして電話番号を入力します。 * の付いている項目は必須項目です。それらへの入力がされていないと、次の画面へと進めません。
    求められている情報を入力し、 Amazon Web Services Customer Agreement をクリックして、その内容を参照してください。The Amazon Web Service Agreement は http://aws.amazon.com/agreement/ からも直接参照することもできます。Amazon Web Services への登録を完了させる前に、それに同意することが必要になります。
    Check here to indicate that you have read and agree to the terms of the Amazon Web Services Customer Agreement にチェックを入れてください。 Create Account and Continue をクリックして登録を進めてください。

2.1.4. EC2 へ euca2ools で接続する

EC2 は、ブラウザベースでの management console か、もしくは EC2 のようなサービスのためのツールeuca2ools を経由して操作できます。このチュートリアルでは euca2ools のコマンドライン操作に注目します。
コマンドラインツールを使用するには、最初にアクセスキーを取得しなければなりません。ブラウザからAWSのManagement Consoleに行き、上部のあなたの名前をクリックすると、そこに Security Credentials があります。そこでアクセスキーが入手できます。 Access Credentialsのセクションまでスクロールしてください。 Access Key IDSecret Access Key が現れますので、それを控えてください。両方とも長い英数字の文字列です。.iamrc というファイルを作成し、以下のフォーマットでキーを記述し、あなたのホームディレクトリに保存してください。
AWSAccessKeyId=your_access_key_id
AWSSecretKey=your_secret_key
euca2ools は、AWSのようなクラウド向けに開発されたもので、AWSに対してのみ開発されたわけではありません。よって、どのクラウドに接続するのかを設定する必要があります。 .eucarc というファイルに、次の接続ポイントのいずれかを示し、ホームディレクトリに作成してください。
export AWS_CREDENTIAL_FILE=~/.iamrc
export EC2_URL=https://ec2.amazonaws.com/
export S3_URL=https://s3.amazonaws.com/
export EUARE_URL=https://iam.amazonaws.com/

source "$AWS_CREDENTIAL_FILE"
export EC2_ACCESS_KEY=$AWSAccessKeyId
export EC2_SECRET_KEY=$AWSSecretKey
export AWS_ACCESS_KEY=$AWSAccessKeyId
export AWS_SECRET_ACCESS_KEY=$AWSSecretKey
最後に、 $ source ~/.eucarc コマンドを実行し、シェル環境にこれらの設定を追加してください。

2.1.4.1. euca2ools パッケージのインストール

euca2ools パッケージをインストールするのは簡単です。 root ユーザーになり yum コマンドにて # yum install euca2ools を実行してください。

2.1.4.2. EC2のリージョンを選択

次は、使用するEC2のリージョンを選択してください。リージョンを選択する際に考慮することは、地理的なこともそうですが、インスタンスの使用料はリージョンごとに異なるということと、使用したいイメージがそのリージョンで使えるか、ということです。 euca-describe-regions コマンドで、使用できるイメージのリストを取得できます。このようなリストです。
REGION  eu-west-1       ec2.eu-west-1.amazonaws.com
REGION  us-east-1       ec2.us-east-1.amazonaws.com
REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
REGION  us-west-1       ec2.us-west-1.amazonaws.com
REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
EC2 のリージョンを選択する際、 .eucarcEC2_URL の行を編集します。例えば、
export EC2_URL=https://ec2.us-east-1.amazonaws.com/
.eucarc ファイルのリージョンを調整した後、$ source ~/.eucarc コマンドを実行し、シェル環境の設定をリセットしてください。

2.1.4.3. キーペアの作成

稼働中のインスタンスにログインする主な方法は、 SSH で接続することです。 Fedora インスタンスはパスワードを持ちません。よって、SSH キーペアを使います。キーペアの秘密鍵はあなたのコンピュータ、一方の公開鍵は EC2 に保管されており、インスタンスは起動するに当たり、自分自身に公開鍵ダウンロードしています。この仕組みによって、パスワードなしでもインスタンスに安全にログインできるのです。
複数のキーペアを持つことが可能です。キーペアそれぞれに名前があります。キーペアはリージョンごとに固有のものであり、作成した以外のリージョンでは使えません。
新しいキーペアの名前を決め、 euca-add-keypair コマンドにて新しいキーペアを作成し、ファイルにその秘密鍵を書き込んでください。キーペア名は覚えやすい名前にしてください。新しいキーペアを作るには、以下のコマンドの mykey のところをキーペア名に変えて実行してください。
$ euca-add-keypair mykey > mykey.pem

キーペアは交換不可能

EC2 は秘密鍵を保存しません。よって、 euca-add-keypair コマンドを実行するときだけが、秘密鍵を得ることができる機会なのです。秘密鍵を無くした時は、それをリカバリする方法はありません。
euca-describe-keypairs を使用して、キーペアのリストを表示させることができます。
$ euca-describe-keypairs
KEYPAIR mykey1  7b:9b:33:cf:bf:12:4d:62:b6:7c:fa:02:f2:f7:bc:59:e3:7e:40:fb
KEYPAIR mykey2  f9:93:1e:73:4b:2e:c1:0d:7f:79:e1:bc:c0:d0:7c:95:32:55:b7:dd
euca-delete-keypairs を使用して、キーペアを削除することができます。キーペアの削除は、既に稼働中のインスタンスから削除するのではありません。単に、次の新たなインスタンス作成時に使えなくなる、というだけに過ぎません。
$ euca-delete-keypair mykey1

2.1.4.4. セキュリティグループをセットアップする

それぞれのセキュリティグループごとに、ファイアウォールのルールを持ちます。このチュートリアルではEC2からデフォルトで提供されるセキュリティグループを使用しますが、新たにセキュリティグループを作成することも可能です。
euca-authorize コマンドは、そのセキュリティグループに許可されているトラフィック、つまりIPアドレスやポートの範囲を知らせてくれます。SSH ( TCP ポート 22 ) にて稼働中のインスタンスに、default セキュリティグループで接続する場合、1.2.3.4 コマンド(インスタンスに接続しようとしているPCのアドレスで置き換えてください)で可能です。
$ euca-authorize default -p 22 -s 1.2.3.4/32
もしIPアドレスの範囲を指定しない場合、あなたが選択したポート経由でインターネット上のどこからでもアクセス可能となってしまいます。例えば、次のコマンドで、あなたのPC以外からSSHで接続することが可能になってしまいます。
$ euca-authorize default -p 22
pingやその他のICMP接続を許可するには、このコマンドを実行させればできます:
$ euca-authorize default -P icmp
euca-authorize の反対は、 euca-revoke です。 euca-describe-groups にて、あなたが設定したセキュリティグループやファイアウォールのパーミッションの一覧を取得することが可能です。

2.1.5. EC2 インスタンスを稼動する

ここまでで準備作業は完了しました。 EC2 インスタンスを始動できます。

2.1.5.1. イメージを選択する

Cloud SIG は、 Fedoraから提供されるマシンイメージに付与されるインデックス を整備するものです。提供されるイメージの動作が同じでも、アーキテクチャ、リージョン、root ファイルシステムがインスタンスまたはEBSにストアされているのかが異なります。用途に一番合うイメージを選択し、 ami で始まる ID を控えておいてください。

2.1.5.2. インスタンスのタイプを選択する

Amazon は数種のタイプのインスタンスを提供しています。詳細はEC2のサイト をご覧ください。 本記事の執筆段階では、最小かつ安価なインスタンスは、 m1.small または t1.micro です。それぞれのインスタンスにおける制約、例えば m1.small では、i386 アーキテクチャが使用されているという制約はありますが、その制約は変化しています。t1.micro インスタンスはインスタンスストレージを持たず、 EBS を使用しなければなりません。選択したイメージがあなたの要求を満たさなかったり、単純に提供されているリソースよりももっと多くのリソースが必要な時は、より大きく高価なインスタンスタイプを選択しなければなりません。

2.1.5.3. インスタンスを稼動させる

euca-run-instances にて、選択したイメージより新たなインスタンスを起動させることができます。新しいインスタンスにログインできるようにするために、キーペア名も早めに決めておかなくてはなりません。例えば、 ami-7f5a063a から t1.micro を、 mykey という名前のキーペアで、という具合です。以下のコマンドを走らせてください :
$ euca-run-instances ami-7f5a063a -t t1.micro -k mykey
RESERVATION  r-4d5ea00a  0123456789ab  default
INSTANCE     i-910fbbd6  ami-7f5a063a  pending  0  mykey  t1.micro  2011-10-11T00:00:00.000Z us-east-1c  aki-9ba0f1de
euca-run-instances の出力に、あなたが起動させたばかりのインスタンスの ID が含まれています。上記の例では、インスタンスのIDは i-910fbbd6 です。ツールを使用してインスタンスを参照するときには、この ID が必要となります。
インスタンスは pending という状態から始まります。起動が完了すると running という状態に変わります。インスタンスを破棄すると shutting-down になり、最終的には terminated になります。

2.1.5.4. インスタンスにログインする

インスタンスが起動すると、 EC2 から IP アドレスを取得し、 running 状態に変わります。 euca-describe-instances にて、インスタンスの ID をコマンドのオプションに付加することにより、インスタンスをチェックできます。インスタンスが準備完了(または準備完了間近)になった時、euca-describe-instances はログインに必要となるアドレスを表示します。
$ euca-describe-instances
RESERVATION  r-4d5ea00a  0123456789ab  default
INSTANCE     i-910fbbd6  ami-7f5a063a  ec2-204-236-168-22.us-east-1.compute.amazonaws.com  ip-10-170-15-23.us-east-1.compute.internal  running  0  mykey  t1.micro  2011-10-11T00:00:00.000Z us-east-1c  aki-9ba0f1de
インスタンスのパブリックアドレスというのは、 ec2-204-236-168-22.us-east-1.compute.amazonaws.com といったものです。このコマンドから得られる、他のちょっと役に立つ情報としては、アベイラビリティゾーン(例えば us-east-1c )がどこなのか、インスタンスが稼動開始した時間はいつなのか、です。
インスタンスが稼動状態(running)になると、 ssh にてログイン可能となります。Fedoraのイメージにログインするユーザー名は、 ec2-user です。
$ ssh -i mykey.pem ec2-user@ec2-204-236-168-22.us-east-1.compute.amazonaws.com
[ec2-user@i-910fbbd6 ~]$ cat /etc/fedora-release
Fedora release 16 (Verne)
そうして、インスタンスをあたかも他のFedoraが動作しているコンピュータであるかのように使用できます。

2.1.5.5. インスタンスを破棄する

インスタンスの使用を終えた時、 リソースの開放とコスト削減のために、 euca-terminate-instances で破棄してください。
$ euca-terminate-instances i-910fbbd6

2.1.6. Elastic Block Storage (EBS) を使う

2.1.6.1. ボリュームを管理する

EBS ボリュームは、インスタンスにアタッチ可能なので、意識をもって作成や破棄を行うという点を除いては、あたかもリムーバブルディスクのように振る舞います。ボリュームそれぞれはアベイラビリティーゾーンごとに独立しています。以降のセクションでは、 EBS ボリュームをどのように管理していくのかをお見せします。
2.1.6.1.1. ボリュームを作成する
ボリュームは任意に決めることができ、 1GiB ごとに決めることが可能です。執筆段階では、最大サイズは 1TiB です。新たな、空のボリュームを作成するためには、 GiB 単位でサイズを決定し、アベイラビリティゾーンも選択してください。そして euca-create-volume コマンドでそれらの値を指定してください。
$ euca-create-volume -s 10 -z us-east-1c
VOLUME  vol-23ca3542  10  creating  2011-10-11T00:00:00.000Z
コマンドの出力内容には、作ったばかりのボリューム ID が含まれます。上記の例では、 vol-23ca3542 がボリューム ID です。 ツールを使用し、ボリュームを参照する際にこの ID が必要になります。
2.1.6.1.2. ボリュームの説明
euca-describe-volumes コマンドは、リージョン全体で使用できるボリュームの一覧が提供されます。加えて、それらがどこにアタッチしているのかも表示されます。
$ euca-describe-volumes
VOLUME  vol-23ca3542  10  us-east-1c  available  2011-10-11T00:00:00.000Z
2.1.6.1.3. ボリュームを使用する
インスタンスからボリュームを使用するためには、 まずインスタンスにボリュームをアタッチしなければなりません。 また、インスタンス内部に出現させるためにも、デバイス名 を与えなくてはなりません。あなたが選択したデバイス名は、 /dev/sdX の形式( X は文字)になっているはずです。インスタンス内部に、 /dev/sdX または /dev/xvdX の形式で現れるでしょう。
$ euca-attach-volume -i i-910fbbd6 -d /dev/sdf vol-23ca3542

ボリュームはゾーン依存

それぞれのボリュームは、1つのアベイラビリティゾーンでのみ存在できます。ボリュームは、同じアベイラビリティゾーンにて動作しているインスタンスにのみアタッチ可能です。
インスタンスにボリュームをアタッチすると、インスタンスの /dev ディレクトリとして現れます。フォーマットして使用する準備が整ったことになります。
[ec2-user@i-910fbbd6 ~]$ mkfs.ext4 /dev/xvdf
[ec2-user@i-910fbbd6 ~]$ mount /dev/xvdf /mnt
ボリュームの使用を終えた時は、インスタンスからアンマウントし、デタッチを行ってください。
[ec2-user@i-910fbbd6 ~]$ umount /dev/xvdf
[ec2-user@i-910fbbd6 ~]$ logout
$ euca-detach-volume vol-23ca3542
2.1.6.1.4. ボリュームの削除
EBS ボリュームの使用を終えた時、リソースの開放とコスト削減のために、削除することができます。
$ euca-delete-volume vol-23ca3542

2.1.6.2. スナップショットの利用

ボリュームのスナップショットは、ボリューム全体をバックアップする簡単な方法を提供してくれます。ボリュームと異なり、スナップショットはリージョン内であればどのアベイラビリティゾーンでも使用できるので、アベイラビリティゾーンをまたいだボリュームのコピー方法としては、一番シンプルな方法です。
2.1.6.2.1. スナップショットの作成
取得したいボリュームの名前を euca-create-snapshot コマンドに伝えることにより、スナップショットを取得できます。
$ euca-create-snapshot vol-23ca3542
SNAPSHOT  snap-00acc96e  vol-23ca3542  pending  2011-10-11T00:00:00.000Z
コマンドの出力結果には、最新のスナップショットの ID が含まれます。上記の例では、スナップショットの ID は、snap-00acc96e です。ツールでスナップショットを指定する差異に、この ID が必要となります。

ボリュームは、スナップショット取得中に中のデータを変更すべきではない

スナップショットを取得するには、時間を要します。スナップショット取得中に、中に保存されているデータを更新すると、データの破損が起こることに注意してください。スナップショット取得の進行状況は、 euca-describe-snapshots にて監視可能です。
2.1.6.2.2. スナップショットの説明
euca-describe-snapshots コマンドは、リージョン内で使用可能なスナップショットの一覧を提供してくれます。
$ euca-describe-snapshots
SNAPSHOT   snap-00acc96e   vol-042d3a6a  completed  2011-10-12T05:56:29.000Z  100%

過剰な出力を制御する

デフォルトでは、 euca-describe-snapshots コマンドは、あなたの所有でないものも含めて、アクセスできる全てのスナップショットのリストを提供してくれます。コマンドの出力を絞り込みたい時は、コマンドにスナップショットのリストを与えるか、その他多数あるフィルタリングの方法を使用するか、いずれかです。
2.1.6.2.3. ボリュームのスナップショットを作成する
スナップショットの内容を新たなボリュームにコピーするには、 euca-create-volume を実行し、かつサイズの指定の変わりにスナップショットを特定してください。
$ euca-create-volume --snapshot snap-00acc96e -z us-east-1c
同じスナップショットから、複数のボリュームが作成可能です。その場合、それぞれのボリュームは独立しています。
2.1.6.2.4. スナップショットの削除
スナップショットを削除するには、 euca-delete-snapshot コマンドを使用してください。そのスナップショットから作られたどんなボリュームも、影響を受けません。
$ euca-delete-snapshot snap-00acc96e

2.2. BoxGrinder

BoxGrinder creates appliances (virtual machines) from simple plain text appliance definition files for various virtual platforms. There are effectively three types of transactions that BoxGrinder performs. The first is to create an operating system image (or in BoxGrinder terminology, a build). The second operation is to convert the image to the target hypervisor. For example, this takes the raw disk image (created in the earlier step) and converts it to an EC2 AMI, a XenServer VHD, or qemu QCOW2 file. The final operation is to push the freshly converted image to the destination hypervisor or cloud platform.
This section is intended to give you a brief introduction to BoxGrinder. More details and tutorials are available online[1].

2.2.1. Installing BoxGrinder

Installation of BoxGrinder is quite easy using yum.
yum install rubygem-boxgrinder-build

2.2.2. Using BoxGrinder to Create a Fedora Image

Images built by BoxGrinder are generally done via an appliance definition file, though BoxGrinder also supports kickstart files. Below is a very simple appliance file that installs Fedora 15.
Building the image now that you have a definition file is quite easy.

2.2.3. Using BoxGrinder to Create a Fedora Instance on Amazon EC2

2.2.4. BoxGrinder Plugins and Platforms

2.2.4.1. OS plugins

2.2.4.2. Platform plugins

2.2.4.3. Delivery platforms



[1] The BoxGrinder website is located at http://boxgrinder.org/, and tutorials are available at http://boxgrinder.org/tutorials

第3章 Fedora でクラウドをツールを使って管理する

3.1. Deltacloud

3.1.1. Overview of Deltacloud

3.1.2. Typical Use Cases for Deltacloud

3.1.3. Getting Started with Deltacloud

3.2. Aeolus

Aeolus is an umbrella for a number of cloud related projects. The projects all come together to create the Conductor, a Web UI and tools for managing cloud instances across heterogeneous clouds. For instance, a user can build and launch instances into EC2, RHEV-M, and Rackspace all from the same UI.
Aeolus is built up from a number of different pieces:
Audrey
???
Conductor
???
Configure
???
ImageFactory
???
ImageWarehouse
???
Oz
???

3.3. Matahari

Matahari helps you manage systems deployed in a cloud.

第4章 Fedora を使って自分自身のクラウドインフラを構築する

4.1. Infrastructure as a Service (IaaS)

4.1.1. Openstack を使ってあなた自身のクラウドを作ることが可能です。

OpenStack は Apache 2.0 License の下でオープンソースベースのクラウドテクノロジーを提供します。
OpenStack 複数の異なるパーツから構成されています:
Nova
Nova はOpenStakの管理スタックとユーザーインタフェースを提供します。
Swift
Swift はOpenStackのためのオブジェクトストレージの仕組みを提供します。
Glance
Glance は OpenStack のイメージの作成を行います。
OpenStack の複数のパーツがそれぞれ関連しているのか見てみましょう。

4.1.1.1. Openstack Nova

Nova は、Infrastructure as a Service の中心となるもので、また、IaaS システムのクラウドをホストおよび管理するために使用されているシステムです。
Nova に関する追加情報は次のURLから入手できます。 http://nova.openstack.org

4.1.1.2. Openstack Swift

Swift はオブジェクト指向のストレージソリューションです。
Swift に関する追加情報は次のURLから入手できます。 http://swift.openstack.org

4.1.1.3. Openstack Glance

Glance は仮想マシンイメージを管理するために使うシステムです。このサービスは探索、登録、および取得するのを支援します。仮想マシンイメージは一般的なファイルシステムもしくは Swift のようなオブジェクト指向のシステムに格納することができます。
Glance に関する追加情報は次のURLから入手できます。 http://glance.openstack.org.

4.1.2. CloudStack

CloudStack is an open source cloud computing platform for creating and maintaining IaaS clouds. Supporting several hypervisors and network configurations, CloudStack makes building a IaaS cloud with ease.

4.1.2.1. Installing CloudStack

CloudStack is not currently available in the Fedora or EPEL repositories. Binaries and source can be found at http://cloudstack.org/download.html. Downloading the appropriate binary and installing it via the GUI or CLI is quite easy.
Open a terminal and go to the directory where your binary file is located...

4.1.3. Sheepdog

Sheepdog is a distributed object-based storage system for QEMU/KVM. Providing high-availability, block-level storage, Sheepdog can manage hundreds of nodes automatically balancing load when failures and additions occur.
For additional information please visit http://www.osrg.net/sheepdog.

4.1.3.1. Prerequisites

Before installing

4.1.4. HekaFS

HekaFS (formerly CloudFS) is cloud filesystem built on top of Gluster. It provides a set of translators to make Gluster more suitable as a cloud file system. HekaFS is a feature for the Fedora 16 release, and the Fedora Cloud special interest group (SIG) is actively involved in development and testing.
The Fedora HekaFS feature page has information about the status of HekaFS as a feature in a future release of Fedora.
See Jeff Darcy's HekaFS blog to learn more about the philosophy of HekaFS and find out what's happening with HekaFS development.

4.1.4.1. How to use HekaFS

General HekaFS discussions are at: https://fedorahosted.org/mailman/listinfo/cloudfs-general.
Red Hat Cloud OpenShift uses HekaFS. The user community for that product is found at: http://www.redhat.com/openshift/forums.

4.1.4.2. How to participate in HekaFS

Let's start with some important links.
The upstream project overview (slides, blog posts) is at http://hekafs.org/cloudfs-overview/
The source repository is at: http://git.fedorahosted.org/git/?p=CloudFS.git
The developer mailing list is at: https://fedorahosted.org/mailman/listinfo/cloudfs-devel
The user mailing list (pretty empty so far) is at https://fedorahosted.org/mailman/listinfo/cloudfs-general
HekaFS is still under active development, so there are still many ways to contribute. Here are some possibilities.
Use it, report bugs, suggest features. The packaging and documentation are still works in progress, so this might require some interaction with one of the developers, but we don't bite. Feel free to contact jdarcy@fedoraproject.org, jdarcy@redhat.com, or jeff@pl.atyp.us - all the same person - and I'd be delighted to help you through it.
Use the upstream (http://gluster.org), report bugs, suggest features. For the most part, HekaFS is GlusterFS with a couple of extra bits, so many of the issues you're likely to experience are actually GlusterFS issues. HekaFS is not just its own code, though. It's also a sort of unofficial "CloudFS SIG" within the GlusterFS community. If you want GlusterFS fixes or enhancements because of your interest in HekaFS, we can drive those as part of HekaFS.
Say hi in Freenode IRC. #cloudfs is pretty dead (let's fix that), but #gluster and #fedora-cloud are pretty lively.
Help with documentation. There are several bits of documentation in the source tree, but a little loving from a genuine wordsmith would go a long way.
Improve the user interface. There is a web-based management UI with pretty good functionality - here are some screenshots and stuff - but the user experience is pretty old-school. If you're a real web programmer who knows all the modern AJAX/JavaScript ways of doing stuff, or a graphic designer, I'm sure you could make something a lot better.
Improve the core code. Some parts of HekaFS are practically done, but others are still in active development and there's still plenty of room for more developers. In particular, if you're a security/cryptography expert, more review of those pieces would be most welcome. People might look at HekaFS as a more secure alternatives to Dropbox or Jungledisk, both of which have had problems in this area recently, so this is a great area to focus on. Despite being a file system this is not kernel code, by the way. It should be relatively free of those additional complications and comprehensible to non-kernel programmers.
Get the word out. The number of participants is directly proportional to the number of people who've heard about it, and some people who might want to contribute might not even know we're here. Blog, tweet, whatever, let people know that there's an open-source project to create a scalable, secure, multi-tenant filesystem.

4.2. Platform as a Service (PaaS)

4.2.1. What is OpenShift?

OpenShift is a PaaS management solution

4.3. Software as a Service (SaaS)

第5章 Fedora を使ってクラウドイメージを作成する

5.1. Fedora を使ってクラウドイメージを作る方法

第6章 クラウド上のストレージ

6.1. Ceph

For additional information please visit http://ceph.newdream.net.

6.2. Amazon S3

6.2.1. Overview of S3

The Amazon EC2 provides a place for anyone with an account to create and operate their own virtualized computing environment. As one of the largest Infrastructure-as-a-Service (IaaS) providers, Amazon provides an almost unlimited

改訂履歴

改訂履歴
改訂 16.4-1Thu 3 November 2011Christensen Eric [FAMILY Given]
EC2についての章を更新
改訂 16.3-1Fri September 16 2011Christensen Eric [FAMILY Given]
CloudStack の章を更新
章のレイアウトを修正
Fedora wiki から HekaFS の章の情報を追加
Fedora Cloud ミニ ハック フェスから情報を追加
改訂 16.2-1Mon Jun 20 2011Christensen Eric [FAMILY Given]
Ceph の章を作成
いくつかのセクションで基本情報を準備
改訂 16.1-1Sat Jun 11 2011Christensen Eric [FAMILY Given]
Aeolus と BoxGrinder、HekaFS、Cloudstack、Sheepdog の章を作成
改訂 0.1-1Wed Oct 13 2010Christensen Eric [FAMILY Given]
publican によって最初に製本
紹介、イメージ、Amazon EC2、Openstack についての章を作成

索引

シンボル

フィードバック
本ガイドに関する連絡先, フィードバック