Tech-Circle#1 OpenStackハンズオンマテリアル（基礎編）

## 基礎編

先に[準備編](http://qiita.com/tominaga443/private/3c19205d71a7a8dcac14)を実施してください。これ以降の手順はすべてVNCサーバのデスクトップ画面から行います。また、パラメーターをコピー＆ペーストできるよう、このページをVNCサーバのブラウザで開いておいてください。

このハンズオンでは、OpenStackのWeb UIを使って一通りの操作を体験します。
基礎編では、**インスタンスを作成してログインできること**が目標です。

![alt](https://raw.githubusercontent.com/tominaga443/openstack_hands_on/master/images/hands_on_begginer.png)

## Web UIにログイン

受付で配布したアクセス情報を参照して、ブラウザからOpenStackのWeb UIにログインしてください。
OpenStackのアカウントとパスワードはハンズオン環境のアカウントと同じものです。


## ①内部ネットワークの作成
プライベートな仮想ネットワークを作成します。
最初に、メニューの[ネットワーク]-[ネットワークトポロジー]に移動し、外部ネットワーク(external)が作成されていることを確認します。

内部ネットワークを作成します。
[ネットワーク]-[ネットワーク]から【ネットワークの作成】を選択します。
>【ネットワーク】
　　ネットワーク名：internal
　　管理状態：UP
【サブネット】
　　サブネットの作成にチェック
　　サブネット名：int-subnet
　　ネットワークアドレス：192.168.0.0/24
　　IPバージョン：IPv4
　　ゲートウェイIP：（空欄）
　　ゲートウェイなしのチェックなし
【サブネットの詳細】
　　DHCP有効にチェック
　　IPアドレス割り当てプール：（空欄）
　　DNSサーバー：8.8.8.8
　　追加のルート設定：（空欄）

internalというネットワークが作成されることを確認します。
名前を選択して詳細を表示し、int-subnetというサブネットが作成されていることを確認します。
メニューのネットワークトポロジーに移動して、新しいネットワーク作成されていることを確認します。

## ②ルーターの作成
外部ネットワークと内部ネットワークを接続するルーターを作成します。
[ネットワーク]-[ルーター]から【ルーターの作成】を選択します。
>【ルーターの作成】
　　ルーター名：ext-router

ext-routerというルーターが作成されます。
メニューのネットワークトポロジーに移動して、ルーターが作成されていることを確認します。

ルーターを外部ネットワークに接続します。
ルーターのアクションから【ゲートウェイの設定】を選択します。
>【ゲートウェイの設定】
　　外部ネットワーク：external
　　ルーター名：ext-router
　　ルーターID：デフォルトのID

ルーターに外部ネットワークのゲートウェイが設定されます。
ネットワークトポロジーに移動して、ルーターが外部ネットワークと接続されたことを確認します。

続いて、ルーターを内部ネットワークに接続します。
名前を選択して詳細画面に移動し、【インターフェースの追加】を選択します。
>【インターフェースの追加】
　　サブネット：internal: 192.168.0.0/24 (int-subnet)
　　IPアドレス：（空欄）
　　ルーター名：ext-router
　　ルーターID：デフォルトのID

ルーターに内部ネットワークのポートが設定されます。
ネットワークトポロジーに移動して、ルーターが内部ネットワークとも接続されたことを確認します。

## ③マシンイメージの登録
インスタンスのベースとなるマシンイメージを登録します。
メニューの[コンピュート]-[イメージ]から【イメージの作成】を選択します。
>【イメージの作成】
　　名前：fedora-20.x86_64
　　説明：（空欄）
　　イメージソース：イメージの場所
　　イメージの場所：http://cloud.fedoraproject.org/fedora-20.x86_64.qcow2
　　形式：QCOW2-QEMUエミュレーター
　　アーキテクチャー：（空欄）
　　最小ディスク(GB)：（空欄） 
　　最小メモリー(MB)：（空欄）
　　パブリックのチェックなし
　　保護のチェックなし

fedora-20.x86_64というマシンイメージが作成されます。

## ④セキュリティグループの作成
インスタンスのアクセス制御設定を行うセキュリティグループを作成します。
メニューの[コンピュート]-[アクセスとセキュリティー]のセキュリティーグループタブから【セキュリティグループの作成】を選択します。
>【セキュリティグループの作成】
　　名前：my-secgroup
　　説明：my security group

my-secgroupというセキュリティグループが作成されます。

インスタンスSSHで接続できるよう、セキュリティグループにルールを追加します。
my-secgroupのアクションから【ルールの管理】を選択します。
【ルールの追加】を選択して、SSHの受信ルールを作成します。
>【ルールの追加】
　　ルール：SSH
　　接続相手：CIDR
　　CIDR：0.0.0.0/0

セキュリティーグループルールの一覧に、方向：受信、ポート範囲：22(SSH)のルールが作成されます。

## ⑤キーペアの作成
インスタンスにSSH接続するための鍵を作成します。
メニューの[コンピュート]-[アクセスとセキュリティー]のキーペアタブから【キーペアの作成】を選択します。
>【キーペアの作成】
　　名前：my-key

キーペアを作成するとmy-key.pemというファイルがダウンロードされます。後で使用するので、ダウンロードされた場所を確認しておいてください。

## ⑥Floating IPの確保
外部ネットワークからインスタンスにアクセスするためのIPアドレスを取得します。
メニューの[コンピュート]-[アクセスとセキュリティー]のFloating IPタブから【Floationg IPの確保】を選択します。
>【Floationg IPの確保】
　　プール：external

IPの確保を実行すると、一覧にIPアドレスが追加されます。

## ⑦インスタンスの作成
準備が整ったので、いよいよインスタンスを作成します。
メニューの[コンピュート]-[インスタンス]から【インスタンスの起動】を選択します。
>【インスタンスの起動】
　　【詳細】
　　　　アベイラビリティーゾーン：nova
　　　　インスタンス名：test-instance
　　　　フレーバー：m1.small
　　　　インスタンスのブートソース：イメージから起動
　　　　イメージ名：fedora-20.x86_64
　　【アクセスとセキュリティー】
　　　　キーペア：my-key
　　　　セキュリティグループ：my-secgroupにチェック
　　　　　　　　　　　　　　　defaultのチェックなし
　　【ネットワーク】
　　　　択済みネットワーク：internal

起動を実行すると、インスタンスの作成が開始されます。
インスタンスの名前を選択すると、詳細や起動ログが確認できます。
また、メニューのネットワークトポロジに移動すると、インスタンスが作成され、内部ネットワークに接続されていることが確認できます。

インスタンスに外部ネットワークのIPアドレスを割り当てます。
test-instanceのアクションから【Floating IPの割り当て】を選択します。
>【Floating IPの割り当て管理】
　　IPアドレス：⑥で取得したIPアドレス
　　IPを割り当てるポート：test-instance

割り当てを実行するとインスタンスのIPアドレス欄に外部ネットワークのIPアドレスが追加されます。

## ⑧インスタンスにログイン
インスタンスの起動が完了したら、⑤のpemファイルを使ってインスタンスにSSHでログインします。

VNCサーバのデスクトップ画面左上のメニューから、[アプリケーション]-[システムツール]-[端末]を選んでターミナルを開きます。
ダウンロードしたpemファイルをホームディレクトリに移動して、以下のコマンドを実行します。

```bash
chmod 600 my-key.pem
ssh -i test-key.pem fedora@[インスタンスのFloating IP]
```

インスタンスにログインできれば、ハンズオン基礎編は完了です。
ifconfigでインスタンスのネットワーク設定を確認したり、curlでWebサイトにアクセスできるか試してみたりしましょう。

## ハンズオンマテリアル一覧

[【Tech-Circle#1 OpenStackハンズオンマテリアル（準備編）】](http://qiita.com/tominaga443/items/3c19205d71a7a8dcac14)
【Tech-Circle#1 OpenStackハンズオンマテリアル（基礎編）】（このページです）
[【Tech-Circle#1 OpenStackハンズオンマテリアル（応用編）】](http://qiita.com/tominaga443/items/35c14d442f5b0a986a33)