エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門

  • 5,724 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,724
On Slideshare
5,654
From Embeds
70
Number of Embeds
1

Actions

Shares
Downloads
122
Comments
0
Likes
17

Embeds 70

https://twitter.com 70

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! レッドハット株式会社 中井悦司 / Etsuji Nakai Senior Solution Architect and Cloud Evangelist v1.1 2013/07/29 第一部 OpenStack入門
  • 2. 2 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 自己紹介 好評発売中!  中井悦司(なかいえつじ) – Twitter @enakai00  日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。  昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門)
  • 3. 3 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 目次  OpenStackのこれまで  RDO & Red Hat Enterprise Linux OpenStack Platform  利用者から見たOpenStackの機能 – 仮想ネットワーク – 仮想マシンインスタンス – ブロックボリューム – プロジェクト管理  メタデータとCloud-Init (*) 本資料は2013年7月時点のRDO(Grizzly)、および、Red Hat OpenStack v3.0に基づく情報を提供しています。
  • 4. 4 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 OpenStackのこれまで
  • 5. 5 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 OpenStackとは  Amazon EC2/S3相当のクラウドインフラを自分で構築するためのソフトウェア – 類似品としては、CloudStack, Eucalyptus などが有名。  2010年末に「米RackSpace社」と「NASA」が共同で、OpenStackプロジェクト を立ちあげて、開発をスタート – RackSpaceが自社開発で利用していた「Swift」(S3相当の機能を提供)とNASAが作り かけていた「Nova」(EC2相当の機能を提供)をオープンソース化して提供。それらを ベースにコミュニティモデルでの開発を開始。 – 目標は「オープンスタンダードなHWとSWで誰でもクラウドサービスが提供できるよう にすること」
  • 6. 6 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 これまでの開発状況 EC2/S3相当機能が ほぼ完成 現在の最新リリース 「最低限動くもの」を目指して 地道に開発を継続
  • 7. 7 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 これまでの開発状況 EC2/S3相当機能が ほぼ完成 現在の最新リリース OpenStack Foundation設立!
  • 8. 8 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 Red HatはOpenStack Foundationのプラチナスポンサーに http://sourceforge.jp/magazine/12/04/13/0359223
  • 9. 9 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 OpenStack開発への主要な貢献企業(Essex, Folsom) OpenStack Summit 2012 San DiegoでのRackSpace社による発表
  • 10. 10 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 OpenStack開発への主要な貢献企業(Grizzly) http://blog.bitergia.com/2013/04/04/companies-contributing-to-openstack-grizzly-analysis/
  • 11. 11 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 これまでの開発状況 ネットワーク仮想化機能を プラグイン化するQuantum(*) が コアコンポーネントに 現在の最新リリース (*) 現在はNeutronに名称変更
  • 12. 12 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 RDO & Red Hat Enterprise Linux OpenStack Platform
  • 13. 13 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 RDO : RHELでOpenStackを利用するユーザ向けのコミュニティ活動  RDOが提供するRHEL用OpenStackは、誰でも無償で利用ができます。 http://special.nikkeibp.co.jp/ts/article/ac0e/143743/
  • 14. 14 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 RDO : RHELでOpenStackを利用するユーザ向けのコミュニティ活動 OpenStack Foundation  RDOは、RHEL/FedoraでOpenStackを利用するユーザのコミュニティです。  主な活動内容 – RHEL/Fedora用のRPMパッケージを提供 • http://repos.fedorapeople.org/repos/openstack/openstack-grizzly/ – Puppetベースのインストーラ「Packstack」を提供 – QAフォーラムを運営(Red Hatの開発者が回答してくれることもあります。) OpenStackを創る人々 のコミュニティ (RHEL/Fedoraで)OpenStackを 使う人々のコミュニティ http://openstack.redhat.com
  • 15. 15 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 (参考)RDOとPackstackでデモ環境を簡単構築  下図の道具があれば、オールインワン構成のデモ環境を簡単に構築できます。 em1 em2 Intel-VT/AMD-V 対応サーバ ホストアクセス用NIC VMアクセス用NIC インターネット インターネットにアクセス できるネットワーク Fedora18 4GB以上のメモリ 「RDOデモ環境を確実に構築する手順」 http://d.hatena.ne.jp/enakai00/20130625/1372132365 手順はこちらを参照
  • 16. 16 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 Red Hat Enterprise Linux OpenStack Platform  RDOをベースとした安定版を有償サポート付きの製品版として提供していきます。 開発版 製品版
  • 17. 17 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 OpenStackが提供するコンピューティングリソース  OpenStackのユーザは、Webコンソール/APIを利用して、 次のようなコンピューティングリソースを利用します。 – 仮想ネットワーク – 仮想マシンインスタンス – ブロックボリューム データ領域 ブロックボリューム 仮想ルータ 仮想スイッチ 外部ネットワーク プロジェクト環境 OpenStackユーザ OS領域  各ユーザは特定の「プロジェクト」に 所属します。 – プロジェクト内でリソースを共有 – プロジェクト全体でのリソース使用 量の上限設定、リソース使用状況の レポーティングなどが可能 仮想マシンインスタンス
  • 18. 18 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 利用者から見たOpenStackの機能 〜仮想ネットワーク〜
  • 19. 19 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 仮想ネットワーク (1)  プロジェクトごとに仮想ルータを用意して、その背後にプライベートなネットワーク環境 を構成します。 – ブロードバンドルータで家庭内LANをインターネットに接続するような感覚です。  仮想スイッチを作成して、ルータに接続します。 – それぞれの仮想スイッチは、プライベートIPの独立したサブネットを持ちます。  仮想マシンインスタンス起動時は、接続する仮想スイッチを選択します。 – DHCPでプライベートIPアドレスが割り当てられます。 – 同じプロジェクトの仮想マシンインスタンス間は、プライベートIPで通信できます。 仮想スイッチ 192.168.101.0/24 プロジェクトA 専用ルータ 外部ネットワーク プロジェクトB 専用ルータ 仮想スイッチ 192.168.102.0/24
  • 20. 20 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 仮想ネットワーク (2)  外部ネットワークと通信する際は、仮想マシンインスタンスに「フローティングIP」を割 り当てます。 – 外部ネットワークのサブネット上で、フローティングIPとして利用可能なIPアドレスを プールしておきます。 – 仮想ルータ上で、フローティングIPとプライベートIPのNATが行われます。 – フローティングIPを割り当てない場合でも、仮想マシンインスタンスから外部ネット ワークへの接続は可能です。(仮想ルータのIPアドレスを代表IPとして、マスカレード 接続します。) Webサーバー DBサーバー プライベートIP プライベートIP フローティングIP 外部ネットワークからは フローティングIPで接続 インスタンス同士は プライベートIPで接続
  • 21. 21 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 セキュリティグループによるパケットフィルタリング  仮想マシンインスタンスの受信パケットを「セキュリティグループ」でフィルタリングし ます。 – セキュリティグループを作成して、「プロトコル、宛先ポート、送信元IP」などの条件 で受信を許可するパケットを指定します。 – 仮想マシンインスタンス起動時に適用するセキュリティグループを指定します。 TCP22番は任意の IPから受信許可 Pingは192.168.0.0/16 からのみ許可 セキュリティグループ「Development」の 仮想マシンインスタンスからは任意のTCP接続を許可
  • 22. 22 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 利用者から見たOpenStackの機能 〜仮想マシンインスタンス〜
  • 23. 23 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 外部ネットワーク 仮想マシンインスタンスの起動  仮想マシンインスタンスを起動する際は、次の項目を指定します。 – インスタンスタイプ – テンプレートイメージ (*) – 接続する仮想ネットワーク – セキュリティグループ – キーペア OS領域 テンプレート イメージ 複製 複数ネットワーク 接続も可能 セキュリティグループ 形式 説明 raw フラットなイメージファイル AMI/AKI/ARI Amazon EC2が利用する形式 qcow2 Linux KVMが利用する形式 VDI VirtualBoxが利用する形式 VMDK VMwareが利用する形式 VHD Hyper-Vが利用する形式 (*) テンプレートイメージ作成機能は、OpenStackは提供しません。外部ツールで作成したものをインポートします。 テンプレートとしてインポート可能なイメージ形式
  • 24. 24 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 キーペアによるSSHログイン認証  事前に公開鍵を登録しておき、仮想マシンインスタンス起動時にゲストOSに埋め込みます。 – 公開鍵の登録は、ユーザ個別に行います。複数ユーザでキーペアを共有する形にはなりま せん。 ユーザー情報データベース 仮想マシンインスタンス ②公開鍵をゲストOSに埋め込み 秘密鍵 公開鍵 ①公開鍵を事前に登録 ③秘密鍵で認証
  • 25. 25 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 インスタンスタイプの指定  デフォルトのインスタンスタイプ – ルートディスクは、テンプレートイメージを複製した後に指定のサイズまで拡張されます。 (m1.tinyでは拡張しません。)  管理者ユーザは任意のインスタンスタイプを定義することができます。 – 一時ディスクとスワップディスクを与えると、ゲストOSからは下図のように認識されます。 – これらのディスク領域は、仮想マシンインスタンスを削除すると、すべて破棄されます。(永続保 存が必要なユーザデータは、ブロックボリュームに保存します。) インスタンスタイプ 仮想CPU メモリ ルート ディスク 一時 ディスク スワップ ディスク m1.tiny 1 512MB 0GB 0 0 m1.small 1 2GB 20GB 0 0 m1.medium 2 4GB 40GB 0 0 m1.large 4 4GB 80GB 0 0 m1.xlarge 8 8GB 160GB 0 0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 20G 0 disk └─vda1 252:1 0 20G 0 part / vdb 252:16 0 5G 0 disk /mnt vdc 252:32 0 1G 0 disk [SWAP] スワップディスク ルートディスク 一時ディスク
  • 26. 26 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 仮想マシンインスタンスの「スナップショット」  仮想マシンインスタンスの「スナップショット」により、ルートディスクを複製して保存す ることができます。 OS領域 テンプレートイメージ テンプレートイメージから 仮想マシンインスタンス起動 インスタンスの スナップショット OS領域 ルートディスクを複製して スナップショットを作成 スナップショットから 仮想マシンインスタンス起動
  • 27. 27 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 利用者から見たOpenStackの機能 〜ブロックボリューム〜
  • 28. 28 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 ブロックボリュームの使い方  ブロックボリュームは、仮想マシンインスタンスを停止してもそのまま残るので、永続的な データ保存領域として使います。 データ領域 ③スナップショット作成 ④スナップショットを複製して 新たなブロックボリュームを作成 ②仮想マシンインスタンスに 接続してデータ領域として使用 データ領域 他の仮想マシンインスタンスに 再接続可能(同時接続は不可) ①新規ブロックボリュームを作成 OS領域 OS領域
  • 29. 29 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 ブロックボリュームからの起動  ブロックボリュームにゲストOSをインストールして、ブロックボリュームから仮想マシンイ ンスタンスを起動することも可能です。 – 仮想マシンインスタンスを停止しても、OS領域への変更が破棄されずに残ります。 – スナップショットを作成しておき、仮想マシンインスタンスを起動するタイミングで、 スナップショットから新しいブロックボリュームを用意することも可能です。 OS領域 仮想マシンインスタンスに 接続してゲストOS起動 テンプレートイメージを複製して ブロックボリュームを作成(*) OS領域 テンプレート イメージ OS領域 スナップショット作成 OS領域 複製 (*) この操作はGrizzlyのHorizon Dashboardには搭載されていません。コマンドラインでのAPI操作が必要です。
  • 30. 30 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 利用者から見たOpenStackの機能 〜プロジェクト管理機能〜
  • 31. 31 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 新規プロジェクト/ユーザの作成
  • 32. 32 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 プロジェクト単位のリソース使用レポート 現在の使用量 指定月の累計
  • 33. 33 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 プロジェクト全体でのリソース使用量の上限設定
  • 34. 34 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 メタデータとCloud-Init
  • 35. 35 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 仮想マシンインスタンスのメタデータ  ゲストOSから「http://169.254.169.254」にアクセスすると、仮想マシンインスタンス固 有の情報が取得できます。これを「メタデータ」と呼びます。  ゲストOSに「Cloud-Init」というツールを導入すると、仮想マシンインスタンス起動時にメ タデータを利用して、ゲストOSの自動セットアップを行います。 – 一時ディスクのマウントやスワップディスクの構成は、Cloud-Initが行なっています。 – 公式ドキュメント http://cloudinit.readthedocs.org/en/latest/ $ curl http://169.254.169.254/2009-04-04/meta-data/hostname vm03.novalocal $ curl http://169.254.169.254/2009-04-04/meta-data/local-ipv4 192.168.101.4 $ curl http://169.254.169.254/2009-04-04/meta-data/public-keys/0/openssh-key Ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5W2IynhVezp+DpN11xdsY/8NOqeF8r7eYqVteeWZSBfnYhKn 8D85JmByBQnJ7HrJIrdMvfTYwWxi+swfFlryG3A+oSll0tT71FLAWnAYz26ML3HccyJ7E2bD66BSditbDITK H3V66oN9c3rIEXZYQ3A+GEiA1cFD++R0FNKxyBOkjduycvksB5Nl9xb3k6z4uoZ7JQD5J14qnooM55Blmn2C C2/2KlapxMi0tgSdkdfnSSxbYvlBztGiF3M4ey7kyuWwhE2iPBwkV/OhANl3nwHidcNdBrAGC3u78aTtUEwZ tNUqrevVKM/yUfRRyPRNivuGOkvjTDUL/9BGquBX9Q== enakai@kakinoha $ curl http://169.254.169.254/2009-04-04/meta-data/block-de-mapping/root /dev/vda $ curl http://169.254.169.254/2009-04-04/meta-data/block-device-mapping/ephemeral0 /dev/vdb $ curl http://169.254.169.254/2009-04-04/meta-data/bloe-mapping/swap /dev/vdc メタデータの例 ルートディスク/一時ディスク/ スワップディスクに対応するデバイス名
  • 36. 36 Red Hat OpenStack徹底解説!〜第一部 OpenStack入門 カスタマイズ・スクリプト(User Data)による自動化  仮想マシンインスタンス起動時に「カスタマイズ・スクリプト(User Data)」を与えると 任意のテキストをメタデータとしてゲストOSに受け渡すことができます。  Cloud-Initは、カスタマイズ・スクリプトを解釈して、さまざまな自動化を実現します。 – 下図はシェルスクリプトを渡して、「/etc/motd」を設定しています。 – この他にもCloud-Init独自の構文で、処理内容を指示することができます。 $ curl http://169.254.169.254/2009-04-04/user-data #!/bin/sh echo 'Hello, World' > /etc/motd exit 0
  • 37. Thankyou