SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
オープンクラウド・キャンパス



      Eucalyptusに学ぶ
IaaSクラウドを支えるインフラ技術




            中井悦司
       Twitter @enakai00
IaaSクラウドを支えるインフラ技術


自己紹介

     中井悦司(なかいえつじ)
      – Twitter @enakai00


     日々の仕事
      – Senior Solution Architect and
       Cloud Evangelist at Red Hat K.K.
                                          好評発売中
       企業システムでオープンソースの活用を希望される
       お客様を全力でご支援させていただきます。


     昔とった杵柄
      – 素粒子論の研究(超弦理論とか)
      – 予備校講師(物理担当)
      – インフラエンジニア(Unix/Linux専門)



2                                                 Open Cloud Campus
IaaSクラウドを支えるインフラ技術


目次

 クラウドの概要とEucalyptus
 マシンイメージとVMインスタンス起動プロセス
 クラウドネットワークとLinuxのネットワーク機能
 Elasitic Block Storage(EBS)とLinuxのiSCSI機能
 クラウドセキュリティと公開鍵認証
 まとめ
 (付録)GlusterFSについて




3                                             Open Cloud Campus
IaaSクラウドを支えるインフラ技術




              クラウドの概要とEucalyptus




4                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


企業向けのクラウドに求められる5つの鍵


    5つの鍵                   内容                                   Linux/OSSの優位性
    柔軟なサービス                お客様の必要に応じて自由にリソースの                   Linux/OSSは、ライセンスの制約に縛られずに
                           追加、変更ができる環境を提供                       リソースの追加が可能
    適切なサービスレベル             お客様が必要とするサービスレベルとそ                   Linux/OSSベースのソリューションでサービス
                           れに見合った価格のサービスを提供                     管理機能の実装が可能
    可搬性のある環境               お客様のビジネス要件に応じて、様々な                   Linux/OSSにより、特定ベンダに依存しない
                           クラウドサービスの選択・移行が可能な                   オープンスタンダード技術が活用可能
                           環境を実現
    セキュリティと                社内データセンターと同等の安全で管理                   企業システムに求められるセキュリティ品質を
    コンプライアンス               された環境を実現                             満たすOSとしての実績を持つLinux
    パートナーエコシステム            複数の企業が連携してクラウドサービス                   Linux/OSSは、クラウドサービス提供企業の共
                           を提供する環境を確立                           通基盤技術としてのデファクト・スタンダード



           さまざまな技術やサービスが連携するクラウド環境では、
            標準技術としてのLinux/OSSの価値が発揮されます。


(出典)Linux and Commercial Software: Combining to Support the Cloud Environment
    http://www.dbta.com/downloads/Hurwitz-IBM_Linux_Cloud.pdf

5                                                                                 Open Cloud Campus
IaaSクラウドを支えるインフラ技術


利用者とサービス内容でクラウドを分類

       企業内のユーザーのみが利用                    複数企業のユーザーが共同利用


       Privateクラウド                       Publicクラウド

                アプリケーション環境を提供 = SaaS
          (エンドユーザーがすぐに使えるアプリケーション・サービス)


                     OS + Middleware 環境を提供 = PaaS
                 (プログラマがアプリケーションを開発できる環境)


    Eucalyptus           OS 環境を提供 = IaaS            Amazon
                   (管理者がシステムを構築・運用できる環境)            EC2/S3




6                                                   Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusを実現するインフラ技術
                                       クラウドコントローラ
                       認証技術


     クライアント       SSH 鍵認証                              Warlus
               X.509 証明書
                                         パブリック
                                        ネットワーク                    仮想マシン
                                                                   イメージ
    API プログラミング       iptables(NAT/                  ディスクイメージ
                    パケットフィルタリング) クラスタコントローラ
      自動化技術                   VLAN /                              ストレージ技術
                             仮想ブリッジ
                                                    ストレージコントローラ
           ネットワーク技術

                                        プライベート
         仮想化技術         OS 基礎技術          ネットワーク                     EBS
                                                                  イメージ
                                                       iSCSI

               サーバ仮想化        カーネル
                                                           さまざまなインフラ技術の 
               (KVM/Xen)    起動プロセス
                                                           集大成がクラウドなのです。
                                             ・・・・

                  ノードコントローラ          ノードコントローラ




7                                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術




                 マシンイメージと
              VMインスタンス起動プロセス




8                              Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusを実現するインフラ技術
                                       クラウドコントローラ
                       認証技術


     クライアント       SSH 鍵認証                              Warlus
               X.509 証明書
                                         パブリック
                                        ネットワーク                    仮想マシン
                                                                   イメージ
    API プログラミング       iptables(NAT/                  ディスクイメージ
                    パケットフィルタリング) クラスタコントローラ
      自動化技術                   VLAN /                              ストレージ技術
                             仮想ブリッジ
                                                    ストレージコントローラ
           ネットワーク技術

                                        プライベート
         仮想化技術         OS 基礎技術          ネットワーク                     EBS
                                                                  イメージ
                                                       iSCSI

               サーバ仮想化        カーネル
                                                           さまざまなインフラ技術の 
               (KVM/Xen)    起動プロセス
                                                           集大成がクラウドなのです。
                                             ・・・・

                  ノードコントローラ          ノードコントローラ




9                                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


VMインスタンスの起動に必要な3種類のイメージ
 EucalyptusがVMインスタンスを起動する際は、マシンイメージ(OS領域のディスクイメー
  ジ)とは別に、カーネルイメージとラムディスクイメージをWalrusからダウンロードしま
  す。
     – マシンイメージは、VMインスタンスに接続される仮想ディスクの中身そのもの。
     – カーネルイメージは、メモリ(カーネル空間)に読み込まれるLinuxカーネルのバイナリコード。
     – ラムディスクイメージは、カーネルの起動に必要な初期ラムディスクを提供。

        Linux起動時に必要な 
        デバイスドライバを提供
                                           ユーザ空間
           ラムディスク             ユーザ・プロセス
            イメージ
                        リソース割り当て   システムコール


                                         カーネル空間
            カーネル        デバイスドライバ        (Linuxカーネル)
            イメージ
                             ディスクアクセス

                                   (仮想)ハードウェア

            マシンイメージ            (仮想)ディスク 


10                                                    Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Linuxカーネルの起動プロセス
 物理サーバ環境や通常のサーバ仮想化環境では、Linuxカーネル(vmlinuz-*)と初期ラムディ
  スク(initrd-*、initramfs-*)は、/bootファイルシステムに保存されています。

 ブートローダ(GRUB)はこれらをメモリに読み込んだ後に、Linuxカーネルを起動します。
     – ブートローダはBIOSの機能で/bootファイルシステムにアクセスします。BIOSの機能制限によ
       り、/bootファイルシステムのディスク上の配置に制限が出たりします。(いわゆる「XXGBの壁」)

 Linuxカーネルは、メモリを利用したラムディスク領域をマウントして、初期ラムディスクの
  内容を展開した後に、そこに含まれる「initスクリプト」を実行します。
    – initスクリプトは、ディスクアクセスに必要なデバイスドライバをロードして、OS領域
      (ルートファイルシステム)をマウント後、最初のプロセス/sbin/initを実行します。
                     物理メモリ
                                                 起動ディスク
                              ブートローダが
                 Linuxカーネル    読み込み
                                              ブートローダ (GRUB)
                初期ラムディスク
                                              /bootファイルシステム
                ラムディスク領域     ラムディスク領域
                             に展開                Linuxカーネル
                ・デバイスドライバ
                ・initスクリプト                     初期ラムディスク

※参考資料
プロのためのLinuxシステム構築・運用技術「6.4.1 Linuxのブートプロセス」
11                                                            Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusにおけるイメージ管理

 カーネルイメージと初期ラムディスクは、原理的にはOS領域(ルートファイルシステム)と
  は独立して提供されるものです。
     – 例えばPXEブート環境では、tftpでカーネルと初期ラムディスクをメモリに読み込んで起動します。
     – その昔、BIOSからアクセスできないディスクにLinuxをインストールした環境では、フロッピーディ
       スクにカーネルイメージと初期ラムディスクを入れて起動していた事も・・・。

 Eucalyptusでは、マシンイメージ(ルートファイルシステム)とカーネルイメージ、ラム
  ディスクイメージを明示的に分離することで、不適切なカーネルの使用に伴う問題の発生を
  防止しています。

 カーネルイメージ、ラムディスクイメージは管理者のみが新規登録可能。
     – 管理者は使用する仮想化ハイパーバイザに適合したイメージを事前に用意する。
 一般ユーザはマシンイメージのみを編集、新規登録可能。
     – 一般ユーザには、ルートファイルシステムに導入されたアプリケーションが重要。




12                                                Open Cloud Campus
IaaSクラウドを支えるインフラ技術


仮想ディスクイメージの構成

 ノードコントローラは、次の手順でVMインスタンスを起動します。
     – 必要なマシンイメージ、カーネルイメージ、ラムディスクイメージをWalrusからダウンロード
     – 指定サイズの仮想ディスクイメージ・ファイルを新規作成して、3つのパーティションを構成
       • 第1パーティションは、マシンイメージの内容をコピーしてルートファイルシステムにする
       • 第2パーティションは空のファイルシステムを作成して、エフェメラル領域にする
       • 第3パーティションはSwap領域としてフォーマットする
       • 第1パーティションをループマウントして、/root/.ssh/authorized_keysにユーザの公開鍵を登録する
     – 仮想ディスクイメージ・ファイルをVMインスタンスの仮想ディスクとして接続
     – カーネルイメージとラムディスクイメージを使用してVMインスタンスを起動

                                 マシンイメージ    空のファイルシステムを作成
                                                   Swap領域としてフォーマット
                      マシンイメージをコピー

         VMインスタンスに接続




            新規仮想ディスクイメージ
                                    OS領域   エフェメラル領域   Swap領域

13                                                              Open Cloud Campus
IaaSクラウドを支えるインフラ技術


(参考)ループマウントの利用方法

 仮想ディスクイメージは、ループバックデバイス/dev/loopXに紐付けることで、通常のブ
  ロックデバイス(/dev/sdX)と同様にマウントすることが可能です。
     – 例:isoイメージファイルをループマウント
        • loopオプションを指定すると自動的にループバックデバイスに紐付けられます。
      # mount -o loop hoge.iso /mnt/hoge
      # df | grep loop
      /dev/loop0             3351190   3351190         0 100% /mnt/hoge


     – 例:パーティションを含むディスクイメージをマウント
        • losetupコマンドで紐付けた後に、kpartxコマンドで各パーティションを/dev/mapper/loopXpYにマッピングし
          ます。
                                                                物理ディスク 
      # losetup -fv volume01.img
      Loopデバイス は /dev/loop0 です
      # kpartx -av /dev/loop0
      add map loop0p1 (253:0): 0 208782 linear /dev/loop0 63
                                                                          /dev/sdX
      add map loop0p2 (253:1): 0 8193150 linear /dev/loop0 208845
      add map loop0p3 (253:2): 0 1044225 linear /dev/loop0 8401995
      # mount /dev/mapper/loop0p2 /mnt/image
      # ls -l /mnt/image/                                                               仮想ディスクイメージ 
      合計 184
      drwxr-xr-x. 2 root root 4096 2月 14 11:56 2011 bin
      drwxr-xr-x. 2 root root 4096 2月 14 09:57 2011 boot
      drwxr-xr-x. 2 root root 4096 2月 14 09:57 2011 dev                   /dev/loopX
      drwxr-xr-x. 74 root root 4096 3月 4 08:56 2011 etc
      (以下略)
                                                                                         volume01.img
      # umount /mnt/image
      # kpartx -d /dev/loop0                                               ループバック・デバイス
      # losetup -d /dev/loop0
14                                                                                            Open Cloud Campus
IaaSクラウドを支えるインフラ技術




                  クラウドネットワークと
                 Linuxのネットワーク機能




15                                Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusを実現するインフラ技術
                                        クラウドコントローラ
                        認証技術


      クライアント       SSH 鍵認証                              Warlus
                X.509 証明書
                                          パブリック
                                         ネットワーク                    仮想マシン
                                                                    イメージ
     API プログラミング       iptables(NAT/                  ディスクイメージ
                     パケットフィルタリング) クラスタコントローラ
       自動化技術                   VLAN /                              ストレージ技術
                              仮想ブリッジ
                                                     ストレージコントローラ
            ネットワーク技術

                                         プライベート
          仮想化技術         OS 基礎技術          ネットワーク                     EBS
                                                                   イメージ
                                                        iSCSI

                サーバ仮想化        カーネル
                                                            さまざまなインフラ技術の 
                (KVM/Xen)    起動プロセス
                                                            集大成がクラウドなのです。
                                              ・・・・

                   ノードコントローラ          ノードコントローラ




16                                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusのネットワーク構成

 Managedモードネットワークでは、各VMインスタ
                                          クライアント 
  ンスはプライベートIPとパブリックIPがアサインさ
  れます。                                                   パブリック
     – プライベートIPはVMインスタンス間の通信に使用                         ネットワーク
     – パブリックIPは外部からの接続に使用
       • パブリックIPをアサインしないことで、外部から接続でき
         ないVMインスタンスを作成することも可能
                                          クラスタコントローラ

 VMインスタンスは、どれか1つのセキュリティグ
  ループに属します。
                                        プライベートネットワーク用
                                           ネットワークスイッチ
     – 同一のセキュリティグループのVMインスタンスのみ
       プライベートネットワーク通信が可能
      → LinuxのVLAN機能でネットワークを分離
     – セキュリティグループごとに、パブリックネットワー                                  ・・・・
       クからのアクセスを制限(指定のアドレスから、指定
       のポートに対してのみ接続を許可)                 ノードコントローラ   ノードコントローラ
      → Linuxのパケットフィルタリング機能(iptables)
      を利用



17                                                         Open Cloud Campus
IaaSクラウドを支えるインフラ技術


基本的なVLANの仕組み

 VLANとは、L2スイッチ内部に複数のネットワークセグメントを作成する機能です。
     – ポートごとに、内部でどのVLANに接続するかを指定するのが「ポートVLAN」です。
     – 「ポートVLAN」に設定されたポートに接続する機器は、VLAN用の特別な設定は不要です。
 スイッチ間をカスケード接続する際は、接続するポートを「タグVLAN」に設定します。
     – このポートを出入りするパケットには、どのVLANに行くのかを示す「VLANタグ」が付けられます。
                  スイッチ#1                      スイッチ#2




        VLAN100      VLAN200        VLAN100     VLAN200



        1     2      3     4   5    1     2     3      4   5



       ポートVLAN100 ポートVLAN200       ポートVLAN100 ポートVLAN200

                    タグVLAN                                 タグVLAN
※参考資料                     この部分には、VLANタグ(VLAN100、もしくはVLAN200)
プロのためのLinuxシステム構築・運用技術    付きのパケットが流れる
「4.1.1 IPネットワークの基礎」
18                                                             Open Cloud Campus
IaaSクラウドを支えるインフラ技術


 サーバ仮想化環境でのVLANの利用
                                              スイッチ#1

 サーバ仮想化環境では、VLANを利用す
  ることで、仮想マシンごとに異なるサ
                                    VLAN100     VLAN200
  ブネットに接続することができます。
      – ホストLinux上でVLANタグの処理を行う
        ので、仮想マシン内部(ゲストOS)では
                                   1      2     3      4        5
        VLANの存在を意識する必要がありませ
        ん。

                                                                       タグVLAN
                                  ポートVLAN100 ポートVLAN200

                                                               eth0
                                                                         ホストLinux


                                  タグ付きパケット          eth0.100          eth0.200
                                                           VLANデバイス
                                  タグ無しパケット
                                                     br100             br200
                                                           仮想ブリッジ

                                                仮想マシン#1             仮想マシン#2
     ※参考資料
     プロのためのLinuxシステム・ネットワーク管理技術
     「5.3.3 VLANデバイスのブリッジ接続」                  物理サーバ 
19                                                                     Open Cloud Campus
IaaSクラウドを支えるインフラ技術


VLANによるプライベートネットワークの構成
                                             プライベート・ネットワーク用 
 Eucalyptusでは、セキュリティグループごと                    ネットワーク・スイッチ

  に異なるVLANを用意することで、プライ                              VLAN10
  ベートネットワークを分離します。
                                                    VLAN11
     – プライベートネットワーク用スイッチのポート
       は「タグVLAN」に設定する必要があります。
                                        1      2         3          4      5


                                         タグVLAN                             タグVLAN 

                   eth0                                      eth0


         eth0.10          eth0.11              eth0.10                  eth0.11


        eucabr10          eucabr11            eucabr10                  eucabr11


 VMインスタンス#1        VMインスタンス#3          VMインスタンス#5            VMインスタンス#7

        VMインスタンス#2        VMインスタンス#4          VMインスタンス#6                VMインスタンス#8


20           ノードコントローラ#1                           ノードコントローラ#2              Open Cloud Campus
IaaSクラウドを支えるインフラ技術


NATによるパブリックネットワーク接続
 VMインスタンスに付与されたパブリックIPは、実際にはクラスタコントローラの物理NICに
  アサインされます。
     – クラスタコントローラがパブリックネットワークから受信したパケットをDNATでプライベートIPに
       変換して、VMインスタンスに転送します。逆に、VMインスタンスからパブリックネットワークに
       送信したパケットは、SNATでパブリックIPに変換して送出します。
       • VMインスタンスは、クラスタコントローラの仮想ブリッジのIPアドレス(この例では10.1.2.1)をデフォルト
         ゲートウェイに指定します。
     – セキュリティグループごとのパケットフィルタリングもこの部分で行います。
                                                              プライベートネットワーク用
           パブリック                                              ネットワークスイッチ
          ネットワーク

                                                       eth0
               192.168.32.20
               192.168.32.21

            eth0                eth1                 eth0.10


                パケット           eth1.10               eucabr10
                フィルタリング
                DNAT                      10.1.2.2
                               eucabr10   VMインスタンス#1
               SNAT                                             10.1.2.3
                               10.1.2.1
                                                     VMインスタンス#2

21              クラスタコントローラ                     ノードコントローラ                   Open Cloud Campus
IaaSクラウドを支えるインフラ技術


パケット転送におけるチェーンとテーブル

 iptablesでNATやパケットフィルタリングの設定を行う際は、チェーンとテーブルを指定す
  る必要があります。
      – パケット転送時のNATとフィルタリングの設定は、次のチェーンとテーブルで行います。
        • FORWARDチェーンのfilterテーブル:パケットフィルタリング処理
        • PREROUTINGチェーンのnatテーブル:DNAT処理
        • POSTROUTINGチェーンのnatテーブル:SNAT処理
                                            ネットワーク#2            ネットワーク#1



                                                    パケット送信             パケット受信


                                          POSTROUTINGチェーン      PREROUTINGチェーン

                                            natテーブル               natテーブル
                                            (SNAT処理)             (DNAT処理)




                                                       FORWARDチェーン

     ※参考資料                                           filterテーブル
     プロのためのLinuxシステム・ネットワーク管理技術                  (パケットフィルタリング処理)
     「2.4.1 チェーンとテーブルの全体像」

22                                                                    Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusのiptables自動設定例
 これらは、クラスタコントローラ上のiptablesで設定されます。
     DNATの設定
     # iptables -t nat -nL PREROUTING
     Chain PREROUTING (policy ACCEPT)
     target     prot opt source           destination
     DNAT       tcp -- 10.1.0.0/16        169.254.169.254   tcp dpt:80 to:169.254.169.254:8773
     DNAT       all -- 0.0.0.0/0          192.168.32.20     to:10.1.2.2
     DNAT       all -- 0.0.0.0/0          192.168.32.21     to:10.1.2.3

     SNATの設定
     # iptables -t nat -nL POSTROUTING
     Chain POSTROUTING (policy ACCEPT)
     target     prot opt source            destination
     SNAT       all -- 10.1.2.2           !10.1.0.0/16      to:192.168.32.20
     SNAT       all -- 10.1.2.3           !10.1.0.0/16      to:192.168.32.21
     MASQUERADE all -- !127.0.0.0/8        !10.1.0.0/16

     パケットフィルタリングの設定(adminユーザのdefaultセキュリティグループ)
     # iptables -nL FORWARD
     Chain FORWARD (policy DROP)
     target     prot opt source            destination
     ACCEPT     all -- 0.0.0.0/0           0.0.0.0/0        ctstate ESTABLISHED
     ACCEPT     all -- 0.0.0.0/0          !10.1.0.0/16
     ACCEPT     all -- 10.1.2.0/27         10.1.2.0/27
     admin-default all -- 0.0.0.0/0            0.0.0.0/0

     # iptables -nL admin-default
     Chain admin-default (1 references)
     target     prot opt source           destination
     ACCEPT     tcp -- 0.0.0.0/0          10.1.2.0/27       tcp dpt:22

23                                                                                        Open Cloud Campus
IaaSクラウドを支えるインフラ技術




         Elasitic Block Storage(EBS)と 
                LinuxのiSCSI機能




24                                   Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusを実現するインフラ技術
                                        クラウドコントローラ
                        認証技術


      クライアント       SSH 鍵認証                              Warlus
                X.509 証明書
                                          パブリック
                                         ネットワーク                    仮想マシン
                                                                    イメージ
     API プログラミング       iptables(NAT/                  ディスクイメージ
                     パケットフィルタリング) クラスタコントローラ
       自動化技術                   VLAN /                              ストレージ技術
                              仮想ブリッジ
                                                     ストレージコントローラ
            ネットワーク技術

                                         プライベート
          仮想化技術         OS 基礎技術          ネットワーク                     EBS
                                                                   イメージ
                                                        iSCSI

                サーバ仮想化        カーネル
                                                            さまざまなインフラ技術の 
                (KVM/Xen)    起動プロセス
                                                            集大成がクラウドなのです。
                                              ・・・・

                   ノードコントローラ          ノードコントローラ




25                                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Elastic Block Storageの仕組み

 Elastic Block Storage(EBS)は、ストレージコントローラ上の仮想ディスクイメージをネッ
  トワーク経由でVMインスタンスの仮想ディスクとして割り当てたものです。
     – EBSの実体はストレージコントローラ上に存在するので、VMインスタンスを停止してもEBSは削除
       されません。新しいVMインスタンスに接続して再利用できます。
     – ネットワーク経由で書き込みするので、エフェメラル領域よりIOパフォーマンスは劣ります。

 一方、エフェメラル領域を含むデフォルトの仮想ディスクの実体は、ノードコントローラ上
  の仮想ディスクイメージで、VMインスタンスを停止すると破棄されます。

             デフォルトの                                         Walrus
             仮想ディスク     仮想ディスクイメージ               マシンイメージ
                                     ダウンロード



                                               仮想ディスクイメージ
                                     iSCSI接続
     VM インスタンス
                 EBS
                                                     ストレージコントローラ



                       ノードコントローラ
26                                                               Open Cloud Campus
IaaSクラウドを支えるインフラ技術


EBS接続の詳細

 EBSボリュームは次の手順で構成されます。
     – ストレージコントローラに新規仮想ディスクイメージを作成した後、これを擬似的な物理ボリュー
       ム(PV)として、論理ボリューム(LV)を作成する。これをiSCSI LUNとして公開する。
       • 仮想ディスクイメージを直接iSCSI LUNとして公開することも可能ですが、LVMスナップショットを利用するた
         めに、あえて、一度、論理ボリュームを作成してから公開しています。
     – ノードコントローラの外部接続ディスクとして、iSCSI LUNを接続した後に、ノードコントローラ上
       のVMインスタンスに仮想ディスクとして割り当てる。

 iSCSI接続には、Linuxが提供するターゲットとイニシエータの機能を利用します。
     – 一般に、iSCSI LUNを提供する機器を「ターゲット」、iSCSI LUNを利用する機器を「イニシエー
       タ」と呼びます。
                                            仮想ディスクイメージ
                                                          EBSスナップショット
           ノードコントローラ              ストレージコントローラ




                     イニシエータ         ターゲット


                              iSCSI接続
 ※参考資料                                          論理ボリューム   LVMスナップショット
 プロのためのLinuxシステム構築・運用技術「3.3.2 iSCSI」
27                                                           Open Cloud Campus
IaaSクラウドを支えるインフラ技術


(参考)EBSと同等のiSCSI接続を実現する手順
 下記は、EBSと同等のiSCSI接続を手動で行う手順の例です。
     – ターゲット側では、仮想ディスクイメージ・ファイルをループバック・デバイスに紐付けることに
       より物理ボリュームとして扱っています。
     ターゲット側の設定
      # yum install scsi-target-utils

      # dd if=/dev/zero of=/opt/volume02.img bs=1M count=576
      # losetup -fv volume02.img
      Loopデバイス は /dev/loop0 です
      # pvcreate /dev/loop0
        Physical volume "/dev/loop0" successfully created
      # vgcreate vg01 /dev/loop0
        Volume group "vg01" successfully created
      # lvcreate -L 512M -n lv01 vg01
        Logical volume "lv01" created

      # cat <<EOF >> /etc/tgt/targets.conf
      <target iqn.2011-06.com.example.server01:tgt01>
          backing-store /dev/vg01/lv01
      </target>
      EOF

      # service tgtd start


     イニシエータ側の設定
      #   yum install iscsi-initiator-utils
      #   service iscsi start
      #   iscsiadm -m discovery --type sendtargets --portal <ターゲットのIPアドレス>
      #   service iscsi restart

28                                                                           Open Cloud Campus
IaaSクラウドを支えるインフラ技術




                 クラウドセキュリティと
                    公開鍵認証




29                             Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusを実現するインフラ技術
                                        クラウドコントローラ
                        認証技術


      クライアント       SSH 鍵認証                              Warlus
                X.509 証明書
                                          パブリック
                                         ネットワーク                    仮想マシン
                                                                    イメージ
     API プログラミング       iptables(NAT/                  ディスクイメージ
                     パケットフィルタリング) クラスタコントローラ
       自動化技術                   VLAN /                              ストレージ技術
                              仮想ブリッジ
                                                     ストレージコントローラ
            ネットワーク技術

                                         プライベート
          仮想化技術         OS 基礎技術          ネットワーク                     EBS
                                                                   イメージ
                                                        iSCSI

                サーバ仮想化        カーネル
                                                            さまざまなインフラ技術の 
                (KVM/Xen)    起動プロセス
                                                            集大成がクラウドなのです。
                                              ・・・・

                   ノードコントローラ          ノードコントローラ




30                                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


鍵ペアによる認証の基礎

 ネットワーク上の認証には、ユーザ認証とサーバ認証があります。
     – ユーザ認証:接続を許可するサーバから見て、本物のユーザであることを確認する。
     – サーバ認証:接続するユーザから見て、本物のサーバであることを確認する。

 これらの認証には、主に非対称鍵暗号を利用した方法が用いられます。
     – 非対称鍵暗号では、暗号化に使う鍵と復号化に使う鍵が異なります。
     – 非対称鍵暗号では、鍵の所有者だけが保管するべき秘密鍵と、万人に配布しても構わない公開鍵を
       利用します。秘密鍵は誤って他人の手に渡らないように管理する必要があります。
       • 下図は、事前に配布した公開鍵で暗号化したメッセージを送ってもらう例です。このメッセージは、秘密鍵を持
         つ自分だけが復号化して読むことができます。


                                     公開鍵
     僕の秘密鍵がないと誰にも                                Aさんにもらった公開鍵で
     復号化できないから安心だ                                暗号化して送るよ


                     秘密鍵
                                           公開鍵


              Aさん



31                                                    Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptus環境で使用する鍵ペアの例

 Eucalyptusの利用者は、次のような場面で自分だけの秘密鍵を入手します。これらの秘密
  鍵に対応する公開鍵はクラウドコントローラに保存されます。
     – Eucalyptusユーザを作成した際に、Web管理画面からユーザ証明書をダウンロード(ユーザ証明書
       の中に秘密鍵が含まれる。)
     – SSH接続用の鍵ペアを作成した際に、秘密鍵ファイルをクライアントに保存

 ユーザがEucalptusのSOAP APIを使用する際、ユーザ証明書に含まれる秘密鍵を利用して、
  ユーザ認証が行われます。
     – 詳細は次ページを参照

 ユーザがVMインスタンスにSSH接続する際、事前に作成した秘密鍵を利用して、ユーザ認
  証が行われます。
     – 対応する公開鍵は、ノードコントローラがクラウドコントローラから入手して起動するVMインスタ
       ンス内に保存します。




32                                                 Open Cloud Campus
IaaSクラウドを支えるインフラ技術


ユーザ証明書の鍵ペアによるSOAP APIユーザ認証の例
 クライアントは、リクエストメッセージのハッシュ値を秘密鍵で暗号化して送ります。サー
  バは、対応する公開鍵で復号化して正しいハッシュ値であることを確認します。
     – ユーザAの公開鍵で復号化できる暗号を生成できるのは、対応する秘密鍵を持ったユーザAだけなの
       で、メッセージの送信元が本物のユーザAであることが分かります。
     – メッセージの暗号化ハッシュ値を添付することを「メッセージに署名する」と言います。メッセー
       ジが改竄されるとハッシュ値が合わなくなるので、メッセージ改竄を防止する効果もあります。

               ユーザ情報データベース
                                             ユーザAの証明書

                                         ユーザA秘密鍵
                 ユーザA公開鍵


                        復号化                      暗号化


                     ハッシュ値                    ハッシュ値
                              リクエストメッセージと
                        比較    暗号化ハッシュ値(署名)       ハッシュ値計算
                              を管理サーバに送付
                                             リクエストメッセージ
  Eucalyptus管理サーバ    ハッシュ値
                                                           クライアント
 (クラウドコントローラ)
                        ハッシュ値計算

                リクエストメッセージ             ※実際の処理内容を簡略化して説明しています。

33                                                          Open Cloud Campus
IaaSクラウドを支えるインフラ技術


鍵ペアによるSSHユーザ認証

 公開鍵認証でSSH接続する際は、次の流れでユーザ認証が行われます。
     – SSH接続を受け付けたサーバ(SSHデーモン)は、乱数を発生してユーザの公開鍵で暗号化したもの
       をクライアント(SSHクライアント)に送信します。
     – クライアントは対応する秘密鍵で復号化して、そのハッシュ値を返答します。
     – サーバは、元の乱数のハッシュ値を計算して、クライアントの返答と一致することを確認します。



VMインスタンス起動時に          ユーザA                ユーザA
ノードコントローラが保存         SSH 公開鍵             SSH 秘密鍵


                         暗号化                 復号化


                       乱数                  乱数

                         ハッシュ値計算             ハッシュ値計算


       VM インスタンス     ハッシュ値               ハッシュ値
                                                       SSH クライアント
                               比較

※参考資料
プロのためのLinuxシステム構築・運用技術「2.3.3 SSHの利用方法」
34                                                       Open Cloud Campus
IaaSクラウドを支えるインフラ技術


鍵ペアによるSSHサーバ認証

 SSH接続の際は、ユーザから見て接続先のサーバが本物であることを確認する、サーバ認証
  も行われます。
     – クライアントはサーバからサーバ証明書の公開鍵を受け取って保存します。
     – クライアントは乱数をサーバの公開鍵で暗号化してサーバに送り、サーバは対応する秘密鍵で復号
       化して、そのハッシュ値を返送します。
     – クライアントは元の乱数のハッシュ値を計算して、サーバの返答と一致することを確認します。


              サーバ証明書                     サーバ証明書   初回接続時にダウンロード
                秘密鍵                        公開鍵    (known_hostsに保存)


                     復号化                    暗号化


                 乱数                        乱数

                     ハッシュ値計算                ハッシュ値計算


 VM インスタンス     ハッシュ値                     ハッシュ値
                                                      SSH クライアント
                                 比較

※参考資料
プロのためのLinuxシステム構築・運用技術「2.3.3 SSHの利用方法」
35                                                            Open Cloud Campus
IaaSクラウドを支えるインフラ技術


SSHサーバ認証に伴う注意点
 新しいサーバに初めて接続する際は、サーバ証明書の受け入れ確認メッセージが表示される
  場合があります。
     # ssh root@server01                                                             新しいサーバ証明書の 
     The authenticity of host 'server01 (XXX.XXX.XXX.XXX)' can't be established.     受け入れ確認メッセージ
     RSA key fingerprint is 7c:e6:a3:78:a6:54:a8:4b:f2:87:0b:d5:5d:66:9c:d9.
     Are you sure you want to continue connecting (yes/no)? yes
     Warning: Permanently added 'server01' (RSA) to the list of known hosts.


 以前に接続したことのあるサーバで、前回と異なる公開鍵を受け取った場合、偽者のサーバ
  の可能性があるためにクライアントは接続を拒否します。
     – 何らかの理由で、公開鍵が変更されたことがわかっている場合は、~/.ssh/known_hostsの該当の
       エントリを削除して、再度、SSH接続します。
     # ssh root@server01                                                             サーバ証明書が前回と異なる 
     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                     場合の警告メッセージ
     @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!      @
     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
     IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
     Someone could be eavesdropping on you right now (man-in-the-middle attack)!
     It is also possible that the RSA host key has just been changed.
     The fingerprint for the RSA key sent by the remote host is
     e3:d4:87:e2:5b:34:21:8b:7b:40:7a:41:93:91:06:d0.
     Please contact your system administrator.
     Add correct host key in /root/.ssh/known_hosts to get rid of this message.
     Offending key in /root/.ssh/known_hosts:1
     RSA host key for server01 has changed and you have requested strict checking.
     Host key verification failed.


36                                                                                         Open Cloud Campus
IaaSクラウドを支えるインフラ技術




                     まとめ




37                         Open Cloud Campus
IaaSクラウドを支えるインフラ技術


Eucalyptusを実現するインフラ技術
                                        クラウドコントローラ
                        認証技術


      クライアント       SSH 鍵認証                              Warlus
                X.509 証明書
                                          パブリック
                                         ネットワーク                    仮想マシン
                                                                    イメージ
     API プログラミング       iptables(NAT/                  ディスクイメージ
                     パケットフィルタリング) クラスタコントローラ
       自動化技術                   VLAN /                              ストレージ技術
                              仮想ブリッジ
                                                     ストレージコントローラ
            ネットワーク技術

                                         プライベート
          仮想化技術         OS 基礎技術          ネットワーク                     EBS
                                                                   イメージ
                                                        iSCSI

                サーバ仮想化        カーネル
                                                            さまざまなインフラ技術の 
                (KVM/Xen)    起動プロセス
                                                            集大成がクラウドなのです。
                                              ・・・・

                   ノードコントローラ          ノードコントローラ




38                                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


まとめ


     IaaSクラウドインフラは、『単純なものを組み合わせて 
     複雑なものを創り上げていく』と言うUnix/Linuxの思想に
     とてもよく適合する仕組みです。

     まずは個々の基礎技術を根本から理解して、その上で、
     『これらをどのように組み合わせれば最適なクラウドイン
     フラが実現できるのか』というクラウドアーキテクチャの
     追求を行うことが大切です。




39                               Open Cloud Campus
IaaSクラウドを支えるインフラ技術




               (付録)GlusterFSについて




40                                 Open Cloud Campus
IaaSクラウドを支えるインフラ技術


GlusterFSとは
 コモディティ・ハードウェアを利用して、スケールアウト型の分散ファイルシス
  テムを構築するソフトウェア

 元々は、Lawrence Livermore National LabsのHPC(High Performance
  Computing)クラスタで使用するために開発された分散ファイルシステム

 石油・ガスなどの資源開発企業からの要望で、大規模ストレージ・ソリューショ
  ンとしてGluster社が製品化、オープンソースとして開発を継続

 Red Hatは、クラウド向けのストレージ・ソリューションに戦略的に投資を行うと
  いう判断の下、2011年にGluster社を買収

 今後は、Amazon S3互換API、Hadoop MapReduce API(HDFSの代替)、
  OpenStack SWIFT互換APIなどのAPIを実装予定
     ※ Red Hatによる買収前のGluster社による開発意向表明であり、Red Hatとしての計画は未定です。




41                                                       Open Cloud Campus
IaaSクラウドを支えるインフラ技術


GlusterFSのアーキテクチャ
 分散ストレージを構成する各ノードの通常のファイルシステムをバックエンドデバイスとし
  て使用します。
     – GlusterFSに保存したファイルの実体は、どこかのノードのファイルシステムに保存されます。


 ファイル名のハッシュ計算で保存するノードを決定します。
     – 各ファイルの保存ノードの情報を別途、どこかにメタデータとして保存しておく必要がありません。


                                              GlusterFSクライアント

                                               クライアントからは
                                               1つのファイルシステムに見える
実際には各ノードのファイルシステムに
       分散して保存されている
                               file01, file02, file03            ボリューム



                                          ・・・                    GlusterFSクラスタ



                      file01    file02                  file03

42                                                                   Open Cloud Campus
IaaSクラウドを支えるインフラ技術


GlusterFSの利用手順
 GlusterFSが提供する、クライアントからマウント可能な仮想ファイルシステムを「ボ
  リューム」と呼びます。次の手順でボリュームを作成して利用します。
     – GlusterFSクラスタの各ノードに「ブリック」と呼ばれるディレクトリを用意します。
     – 各ノードが使用するブリックを指定して、ボリュームを作成します。
     – GlusterFSクライアントは、任意の1つのノードとボリューム名を指定して、ボリュームをマウント
       して使用します。
       • どのノードを指定してもその後の動作に変わりはありません。実際のデータのやり取りは、ハッシュ計算に基づ
         いて、該当ファイルを保存するノードと行われます。
       • マウントに使用するプロトコルは、GlusterFS独自プロトコル、もしくはNFSプロトコルが利用可能です。
       • GlusterFSクラスタを構成するノード自身の上でマウントして使用することもできます。


 各ノードに複数のブリックを用意して、複数のボリュームを作成することもできます。


 各ノードの複数のブリックを使用するボリュームを構成することもできます。
   – 各ノードが複数のローカルディスクを持つ場合、ディスクごとにブリックを分けること
     で、ディスクI/Oの負荷分散が実現できます。

 同じファイルを複数のブリックに保存する「レプリケーション構成」、1つのファイルを一
  定サイズで分割して複数のブリックに保存する「ストライピング構成」なども可能です。
43                                                       Open Cloud Campus
IaaSクラウドを支えるインフラ技術


ボリュームの構成例
     node01     node02      node03     node04
                                                 GlusterFSクラスタ



                                                  ファイル単位で各ブリックに分散保存
     /brick01   /brick01   /brick01   /brick01    (1つのファイルはどれか1つのブリックに存在)

                    ストライピング

     /brick02   /brick02   /brick02   /brick02    1つのファイルを各ブリックに分散保存



         レプリケーション              レプリケーション


                                                  node01-node02、node03-node04で
     /brick03   /brick03   /brick03   /brick03    それぞれレプリケーション



                    ストライピング

         レプリケーション              レプリケーション


                                                  レプリケーションとストライピングの
     /brick04   /brick04   /brick04   /brick04    組み合わせ
44                                                                          Open Cloud Campus
オープンクラウド・キャンパス



これからもクラウドを支える
インフラ技術を学びましょう




          中井悦司
     Twitter @enakai00

Mais conteúdo relacionado

Mais procurados

Support for azure vmware solutions jp
Support for azure  vmware solutions jpSupport for azure  vmware solutions jp
Support for azure vmware solutions jpvxsejapan
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1Etsuji Nakai
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~Masaya Aoyama
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版VirtualTech Japan Inc.
 
Eucalyptus infra technology
Eucalyptus infra technologyEucalyptus infra technology
Eucalyptus infra technologyEtsuji Nakai
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2Etsuji Nakai
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点d-shen
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介Etsuji Nakai
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術Satoshi KOBAYASHI
 
OpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたOpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたTakashi Umeno
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてSatoshi Shimazaki
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性Masayoshi Hagiwara
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)VirtualTech Japan Inc.
 
RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編VirtualTech Japan Inc.
 

Mais procurados (20)

Support for azure vmware solutions jp
Support for azure  vmware solutions jpSupport for azure  vmware solutions jp
Support for azure vmware solutions jp
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
 
Eucalyptus infra technology
Eucalyptus infra technologyEucalyptus infra technology
Eucalyptus infra technology
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介
 
OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術
 
OpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたOpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみた
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)
 
VIOPS03: VMware参考資料
VIOPS03: VMware参考資料VIOPS03: VMware参考資料
VIOPS03: VMware参考資料
 
RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編
 

Destaque

DCK Server プロトタイプ
DCK Server プロトタイプDCK Server プロトタイプ
DCK Server プロトタイプEtsuji Nakai
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化Etsuji Nakai
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造Etsuji Nakai
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside OutEtsuji Nakai
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像Etsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 

Destaque (9)

DCK Server プロトタイプ
DCK Server プロトタイプDCK Server プロトタイプ
DCK Server プロトタイプ
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside Out
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 

Semelhante a IaaSクラウドを支える基礎技術 v1_0

Try andstudy cloud
Try andstudy cloudTry andstudy cloud
Try andstudy cloudEtsuji Nakai
 
試して学べるクラウド技術!Eucalyptus/GlusterFS
試して学べるクラウド技術!Eucalyptus/GlusterFS試して学べるクラウド技術!Eucalyptus/GlusterFS
試して学べるクラウド技術!Eucalyptus/GlusterFSEtsuji Nakai
 
Try andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoyaTry andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoyaEtsuji Nakai
 
Eucalyptus クラウド全体像
Eucalyptus クラウド全体像Eucalyptus クラウド全体像
Eucalyptus クラウド全体像Etsuji Nakai
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティKuniyasu Suzaki
 
【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介Nissho-Blocks
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]オラクルエンジニア通信
 
Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会axsh co., LTD.
 
Whats new Apache CloudStack
Whats new Apache CloudStackWhats new Apache CloudStack
Whats new Apache CloudStackKimihiko Kitase
 
CloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012FukuokaCloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012FukuokaSatoshi Shimazaki
 
CloudStack at Cloud Week 2012
CloudStack at Cloud Week 2012CloudStack at Cloud Week 2012
CloudStack at Cloud Week 2012Kimihiko Kitase
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)Satoshi Shimazaki
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)axsh co., LTD.
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]オラクルエンジニア通信
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...Juniper Networks (日本)
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)kekekekenta
 
Microsoft conference 2014_Cisco_session_非公式配布版
Microsoft conference 2014_Cisco_session_非公式配布版Microsoft conference 2014_Cisco_session_非公式配布版
Microsoft conference 2014_Cisco_session_非公式配布版Takao Setaka
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Takamasa Maejima
 
VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?
VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?
VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?Brocade
 

Semelhante a IaaSクラウドを支える基礎技術 v1_0 (20)

Try andstudy cloud
Try andstudy cloudTry andstudy cloud
Try andstudy cloud
 
試して学べるクラウド技術!Eucalyptus/GlusterFS
試して学べるクラウド技術!Eucalyptus/GlusterFS試して学べるクラウド技術!Eucalyptus/GlusterFS
試して学べるクラウド技術!Eucalyptus/GlusterFS
 
Try andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoyaTry andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoya
 
Eucalyptus クラウド全体像
Eucalyptus クラウド全体像Eucalyptus クラウド全体像
Eucalyptus クラウド全体像
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年6月版]
 
Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
Whats new Apache CloudStack
Whats new Apache CloudStackWhats new Apache CloudStack
Whats new Apache CloudStack
 
CloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012FukuokaCloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012Fukuoka
 
CloudStack at Cloud Week 2012
CloudStack at Cloud Week 2012CloudStack at Cloud Week 2012
CloudStack at Cloud Week 2012
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年4月版]
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
 
Microsoft conference 2014_Cisco_session_非公式配布版
Microsoft conference 2014_Cisco_session_非公式配布版Microsoft conference 2014_Cisco_session_非公式配布版
Microsoft conference 2014_Cisco_session_非公式配布版
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版)
 
VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?
VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?
VMwareの歩き方 ~SDDCに向けた最強アンダーレイとは?
 

Mais de Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)Etsuji Nakai
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Etsuji Nakai
 

Mais de Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
 

Último

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Último (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

IaaSクラウドを支える基礎技術 v1_0

  • 1. オープンクラウド・キャンパス Eucalyptusに学ぶ IaaSクラウドを支えるインフラ技術 中井悦司 Twitter @enakai00
  • 2. IaaSクラウドを支えるインフラ技術 自己紹介  中井悦司(なかいえつじ) – Twitter @enakai00  日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 好評発売中 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。  昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) 2 Open Cloud Campus
  • 3. IaaSクラウドを支えるインフラ技術 目次  クラウドの概要とEucalyptus  マシンイメージとVMインスタンス起動プロセス  クラウドネットワークとLinuxのネットワーク機能  Elasitic Block Storage(EBS)とLinuxのiSCSI機能  クラウドセキュリティと公開鍵認証  まとめ  (付録)GlusterFSについて 3 Open Cloud Campus
  • 4. IaaSクラウドを支えるインフラ技術 クラウドの概要とEucalyptus 4 Open Cloud Campus
  • 5. IaaSクラウドを支えるインフラ技術 企業向けのクラウドに求められる5つの鍵 5つの鍵 内容 Linux/OSSの優位性 柔軟なサービス お客様の必要に応じて自由にリソースの Linux/OSSは、ライセンスの制約に縛られずに 追加、変更ができる環境を提供 リソースの追加が可能 適切なサービスレベル お客様が必要とするサービスレベルとそ Linux/OSSベースのソリューションでサービス れに見合った価格のサービスを提供 管理機能の実装が可能 可搬性のある環境 お客様のビジネス要件に応じて、様々な Linux/OSSにより、特定ベンダに依存しない クラウドサービスの選択・移行が可能な オープンスタンダード技術が活用可能 環境を実現 セキュリティと     社内データセンターと同等の安全で管理 企業システムに求められるセキュリティ品質を コンプライアンス された環境を実現 満たすOSとしての実績を持つLinux パートナーエコシステム 複数の企業が連携してクラウドサービス Linux/OSSは、クラウドサービス提供企業の共 を提供する環境を確立 通基盤技術としてのデファクト・スタンダード さまざまな技術やサービスが連携するクラウド環境では、 標準技術としてのLinux/OSSの価値が発揮されます。 (出典)Linux and Commercial Software: Combining to Support the Cloud Environment http://www.dbta.com/downloads/Hurwitz-IBM_Linux_Cloud.pdf 5 Open Cloud Campus
  • 6. IaaSクラウドを支えるインフラ技術 利用者とサービス内容でクラウドを分類 企業内のユーザーのみが利用 複数企業のユーザーが共同利用 Privateクラウド Publicクラウド アプリケーション環境を提供 = SaaS (エンドユーザーがすぐに使えるアプリケーション・サービス) OS + Middleware 環境を提供 = PaaS (プログラマがアプリケーションを開発できる環境) Eucalyptus OS 環境を提供 = IaaS Amazon (管理者がシステムを構築・運用できる環境) EC2/S3 6 Open Cloud Campus
  • 7. IaaSクラウドを支えるインフラ技術 Eucalyptusを実現するインフラ技術 クラウドコントローラ 認証技術 クライアント  SSH 鍵認証 Warlus X.509 証明書 パブリック ネットワーク 仮想マシン イメージ API プログラミング iptables(NAT/ ディスクイメージ パケットフィルタリング) クラスタコントローラ 自動化技術 VLAN / ストレージ技術 仮想ブリッジ ストレージコントローラ ネットワーク技術 プライベート 仮想化技術 OS 基礎技術 ネットワーク EBS イメージ iSCSI サーバ仮想化 カーネル さまざまなインフラ技術の  (KVM/Xen) 起動プロセス 集大成がクラウドなのです。 ・・・・ ノードコントローラ ノードコントローラ 7 Open Cloud Campus
  • 8. IaaSクラウドを支えるインフラ技術 マシンイメージと VMインスタンス起動プロセス 8 Open Cloud Campus
  • 9. IaaSクラウドを支えるインフラ技術 Eucalyptusを実現するインフラ技術 クラウドコントローラ 認証技術 クライアント  SSH 鍵認証 Warlus X.509 証明書 パブリック ネットワーク 仮想マシン イメージ API プログラミング iptables(NAT/ ディスクイメージ パケットフィルタリング) クラスタコントローラ 自動化技術 VLAN / ストレージ技術 仮想ブリッジ ストレージコントローラ ネットワーク技術 プライベート 仮想化技術 OS 基礎技術 ネットワーク EBS イメージ iSCSI サーバ仮想化 カーネル さまざまなインフラ技術の  (KVM/Xen) 起動プロセス 集大成がクラウドなのです。 ・・・・ ノードコントローラ ノードコントローラ 9 Open Cloud Campus
  • 10. IaaSクラウドを支えるインフラ技術 VMインスタンスの起動に必要な3種類のイメージ  EucalyptusがVMインスタンスを起動する際は、マシンイメージ(OS領域のディスクイメー ジ)とは別に、カーネルイメージとラムディスクイメージをWalrusからダウンロードしま す。 – マシンイメージは、VMインスタンスに接続される仮想ディスクの中身そのもの。 – カーネルイメージは、メモリ(カーネル空間)に読み込まれるLinuxカーネルのバイナリコード。 – ラムディスクイメージは、カーネルの起動に必要な初期ラムディスクを提供。 Linux起動時に必要な  デバイスドライバを提供 ユーザ空間 ラムディスク ユーザ・プロセス イメージ リソース割り当て システムコール カーネル空間 カーネル デバイスドライバ (Linuxカーネル) イメージ ディスクアクセス (仮想)ハードウェア マシンイメージ (仮想)ディスク  10 Open Cloud Campus
  • 11. IaaSクラウドを支えるインフラ技術 Linuxカーネルの起動プロセス  物理サーバ環境や通常のサーバ仮想化環境では、Linuxカーネル(vmlinuz-*)と初期ラムディ スク(initrd-*、initramfs-*)は、/bootファイルシステムに保存されています。  ブートローダ(GRUB)はこれらをメモリに読み込んだ後に、Linuxカーネルを起動します。 – ブートローダはBIOSの機能で/bootファイルシステムにアクセスします。BIOSの機能制限によ り、/bootファイルシステムのディスク上の配置に制限が出たりします。(いわゆる「XXGBの壁」)  Linuxカーネルは、メモリを利用したラムディスク領域をマウントして、初期ラムディスクの 内容を展開した後に、そこに含まれる「initスクリプト」を実行します。 – initスクリプトは、ディスクアクセスに必要なデバイスドライバをロードして、OS領域 (ルートファイルシステム)をマウント後、最初のプロセス/sbin/initを実行します。 物理メモリ 起動ディスク ブートローダが Linuxカーネル 読み込み ブートローダ (GRUB) 初期ラムディスク /bootファイルシステム ラムディスク領域 ラムディスク領域 に展開 Linuxカーネル ・デバイスドライバ ・initスクリプト 初期ラムディスク ※参考資料 プロのためのLinuxシステム構築・運用技術「6.4.1 Linuxのブートプロセス」 11 Open Cloud Campus
  • 12. IaaSクラウドを支えるインフラ技術 Eucalyptusにおけるイメージ管理  カーネルイメージと初期ラムディスクは、原理的にはOS領域(ルートファイルシステム)と は独立して提供されるものです。 – 例えばPXEブート環境では、tftpでカーネルと初期ラムディスクをメモリに読み込んで起動します。 – その昔、BIOSからアクセスできないディスクにLinuxをインストールした環境では、フロッピーディ スクにカーネルイメージと初期ラムディスクを入れて起動していた事も・・・。  Eucalyptusでは、マシンイメージ(ルートファイルシステム)とカーネルイメージ、ラム ディスクイメージを明示的に分離することで、不適切なカーネルの使用に伴う問題の発生を 防止しています。  カーネルイメージ、ラムディスクイメージは管理者のみが新規登録可能。 – 管理者は使用する仮想化ハイパーバイザに適合したイメージを事前に用意する。  一般ユーザはマシンイメージのみを編集、新規登録可能。 – 一般ユーザには、ルートファイルシステムに導入されたアプリケーションが重要。 12 Open Cloud Campus
  • 13. IaaSクラウドを支えるインフラ技術 仮想ディスクイメージの構成  ノードコントローラは、次の手順でVMインスタンスを起動します。 – 必要なマシンイメージ、カーネルイメージ、ラムディスクイメージをWalrusからダウンロード – 指定サイズの仮想ディスクイメージ・ファイルを新規作成して、3つのパーティションを構成 • 第1パーティションは、マシンイメージの内容をコピーしてルートファイルシステムにする • 第2パーティションは空のファイルシステムを作成して、エフェメラル領域にする • 第3パーティションはSwap領域としてフォーマットする • 第1パーティションをループマウントして、/root/.ssh/authorized_keysにユーザの公開鍵を登録する – 仮想ディスクイメージ・ファイルをVMインスタンスの仮想ディスクとして接続 – カーネルイメージとラムディスクイメージを使用してVMインスタンスを起動 マシンイメージ 空のファイルシステムを作成 Swap領域としてフォーマット マシンイメージをコピー VMインスタンスに接続 新規仮想ディスクイメージ OS領域 エフェメラル領域 Swap領域 13 Open Cloud Campus
  • 14. IaaSクラウドを支えるインフラ技術 (参考)ループマウントの利用方法  仮想ディスクイメージは、ループバックデバイス/dev/loopXに紐付けることで、通常のブ ロックデバイス(/dev/sdX)と同様にマウントすることが可能です。 – 例:isoイメージファイルをループマウント • loopオプションを指定すると自動的にループバックデバイスに紐付けられます。 # mount -o loop hoge.iso /mnt/hoge # df | grep loop /dev/loop0 3351190 3351190 0 100% /mnt/hoge – 例:パーティションを含むディスクイメージをマウント • losetupコマンドで紐付けた後に、kpartxコマンドで各パーティションを/dev/mapper/loopXpYにマッピングし ます。  物理ディスク  # losetup -fv volume01.img Loopデバイス は /dev/loop0 です # kpartx -av /dev/loop0 add map loop0p1 (253:0): 0 208782 linear /dev/loop0 63 /dev/sdX add map loop0p2 (253:1): 0 8193150 linear /dev/loop0 208845 add map loop0p3 (253:2): 0 1044225 linear /dev/loop0 8401995 # mount /dev/mapper/loop0p2 /mnt/image # ls -l /mnt/image/  仮想ディスクイメージ  合計 184 drwxr-xr-x. 2 root root 4096 2月 14 11:56 2011 bin drwxr-xr-x. 2 root root 4096 2月 14 09:57 2011 boot drwxr-xr-x. 2 root root 4096 2月 14 09:57 2011 dev /dev/loopX drwxr-xr-x. 74 root root 4096 3月 4 08:56 2011 etc (以下略) volume01.img # umount /mnt/image # kpartx -d /dev/loop0 ループバック・デバイス # losetup -d /dev/loop0 14 Open Cloud Campus
  • 15. IaaSクラウドを支えるインフラ技術 クラウドネットワークと Linuxのネットワーク機能 15 Open Cloud Campus
  • 16. IaaSクラウドを支えるインフラ技術 Eucalyptusを実現するインフラ技術 クラウドコントローラ 認証技術 クライアント  SSH 鍵認証 Warlus X.509 証明書 パブリック ネットワーク 仮想マシン イメージ API プログラミング iptables(NAT/ ディスクイメージ パケットフィルタリング) クラスタコントローラ 自動化技術 VLAN / ストレージ技術 仮想ブリッジ ストレージコントローラ ネットワーク技術 プライベート 仮想化技術 OS 基礎技術 ネットワーク EBS イメージ iSCSI サーバ仮想化 カーネル さまざまなインフラ技術の  (KVM/Xen) 起動プロセス 集大成がクラウドなのです。 ・・・・ ノードコントローラ ノードコントローラ 16 Open Cloud Campus
  • 17. IaaSクラウドを支えるインフラ技術 Eucalyptusのネットワーク構成  Managedモードネットワークでは、各VMインスタ クライアント  ンスはプライベートIPとパブリックIPがアサインさ れます。 パブリック – プライベートIPはVMインスタンス間の通信に使用 ネットワーク – パブリックIPは外部からの接続に使用 • パブリックIPをアサインしないことで、外部から接続でき ないVMインスタンスを作成することも可能 クラスタコントローラ  VMインスタンスは、どれか1つのセキュリティグ ループに属します。 プライベートネットワーク用 ネットワークスイッチ – 同一のセキュリティグループのVMインスタンスのみ プライベートネットワーク通信が可能 → LinuxのVLAN機能でネットワークを分離 – セキュリティグループごとに、パブリックネットワー ・・・・ クからのアクセスを制限(指定のアドレスから、指定 のポートに対してのみ接続を許可) ノードコントローラ ノードコントローラ → Linuxのパケットフィルタリング機能(iptables) を利用 17 Open Cloud Campus
  • 18. IaaSクラウドを支えるインフラ技術 基本的なVLANの仕組み  VLANとは、L2スイッチ内部に複数のネットワークセグメントを作成する機能です。 – ポートごとに、内部でどのVLANに接続するかを指定するのが「ポートVLAN」です。 – 「ポートVLAN」に設定されたポートに接続する機器は、VLAN用の特別な設定は不要です。  スイッチ間をカスケード接続する際は、接続するポートを「タグVLAN」に設定します。 – このポートを出入りするパケットには、どのVLANに行くのかを示す「VLANタグ」が付けられます。 スイッチ#1 スイッチ#2 VLAN100 VLAN200 VLAN100 VLAN200 1 2 3 4 5 1 2 3 4 5 ポートVLAN100 ポートVLAN200 ポートVLAN100 ポートVLAN200 タグVLAN タグVLAN ※参考資料 この部分には、VLANタグ(VLAN100、もしくはVLAN200) プロのためのLinuxシステム構築・運用技術 付きのパケットが流れる 「4.1.1 IPネットワークの基礎」 18 Open Cloud Campus
  • 19. IaaSクラウドを支えるインフラ技術 サーバ仮想化環境でのVLANの利用 スイッチ#1  サーバ仮想化環境では、VLANを利用す ることで、仮想マシンごとに異なるサ VLAN100 VLAN200 ブネットに接続することができます。 – ホストLinux上でVLANタグの処理を行う ので、仮想マシン内部(ゲストOS)では 1 2 3 4 5 VLANの存在を意識する必要がありませ ん。 タグVLAN ポートVLAN100 ポートVLAN200 eth0 ホストLinux タグ付きパケット eth0.100 eth0.200 VLANデバイス タグ無しパケット br100 br200 仮想ブリッジ 仮想マシン#1 仮想マシン#2 ※参考資料 プロのためのLinuxシステム・ネットワーク管理技術 「5.3.3 VLANデバイスのブリッジ接続」 物理サーバ  19 Open Cloud Campus
  • 20. IaaSクラウドを支えるインフラ技術 VLANによるプライベートネットワークの構成  プライベート・ネットワーク用   Eucalyptusでは、セキュリティグループごと ネットワーク・スイッチ に異なるVLANを用意することで、プライ VLAN10 ベートネットワークを分離します。 VLAN11 – プライベートネットワーク用スイッチのポート は「タグVLAN」に設定する必要があります。 1 2 3 4 5 タグVLAN  タグVLAN  eth0 eth0 eth0.10 eth0.11 eth0.10 eth0.11 eucabr10 eucabr11 eucabr10 eucabr11 VMインスタンス#1 VMインスタンス#3 VMインスタンス#5 VMインスタンス#7 VMインスタンス#2 VMインスタンス#4 VMインスタンス#6 VMインスタンス#8 20 ノードコントローラ#1 ノードコントローラ#2 Open Cloud Campus
  • 21. IaaSクラウドを支えるインフラ技術 NATによるパブリックネットワーク接続  VMインスタンスに付与されたパブリックIPは、実際にはクラスタコントローラの物理NICに アサインされます。 – クラスタコントローラがパブリックネットワークから受信したパケットをDNATでプライベートIPに 変換して、VMインスタンスに転送します。逆に、VMインスタンスからパブリックネットワークに 送信したパケットは、SNATでパブリックIPに変換して送出します。 • VMインスタンスは、クラスタコントローラの仮想ブリッジのIPアドレス(この例では10.1.2.1)をデフォルト ゲートウェイに指定します。 – セキュリティグループごとのパケットフィルタリングもこの部分で行います。 プライベートネットワーク用 パブリック ネットワークスイッチ ネットワーク eth0 192.168.32.20 192.168.32.21 eth0 eth1 eth0.10 パケット eth1.10 eucabr10 フィルタリング DNAT 10.1.2.2 eucabr10 VMインスタンス#1 SNAT 10.1.2.3 10.1.2.1 VMインスタンス#2 21 クラスタコントローラ ノードコントローラ Open Cloud Campus
  • 22. IaaSクラウドを支えるインフラ技術 パケット転送におけるチェーンとテーブル  iptablesでNATやパケットフィルタリングの設定を行う際は、チェーンとテーブルを指定す る必要があります。 – パケット転送時のNATとフィルタリングの設定は、次のチェーンとテーブルで行います。 • FORWARDチェーンのfilterテーブル:パケットフィルタリング処理 • PREROUTINGチェーンのnatテーブル:DNAT処理 • POSTROUTINGチェーンのnatテーブル:SNAT処理 ネットワーク#2 ネットワーク#1 パケット送信 パケット受信 POSTROUTINGチェーン PREROUTINGチェーン natテーブル natテーブル (SNAT処理) (DNAT処理) FORWARDチェーン ※参考資料 filterテーブル プロのためのLinuxシステム・ネットワーク管理技術 (パケットフィルタリング処理) 「2.4.1 チェーンとテーブルの全体像」 22 Open Cloud Campus
  • 23. IaaSクラウドを支えるインフラ技術 Eucalyptusのiptables自動設定例  これらは、クラスタコントローラ上のiptablesで設定されます。 DNATの設定 # iptables -t nat -nL PREROUTING Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- 10.1.0.0/16 169.254.169.254 tcp dpt:80 to:169.254.169.254:8773 DNAT all -- 0.0.0.0/0 192.168.32.20 to:10.1.2.2 DNAT all -- 0.0.0.0/0 192.168.32.21 to:10.1.2.3 SNATの設定 # iptables -t nat -nL POSTROUTING Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT all -- 10.1.2.2 !10.1.0.0/16 to:192.168.32.20 SNAT all -- 10.1.2.3 !10.1.0.0/16 to:192.168.32.21 MASQUERADE all -- !127.0.0.0/8 !10.1.0.0/16 パケットフィルタリングの設定(adminユーザのdefaultセキュリティグループ) # iptables -nL FORWARD Chain FORWARD (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate ESTABLISHED ACCEPT all -- 0.0.0.0/0 !10.1.0.0/16 ACCEPT all -- 10.1.2.0/27 10.1.2.0/27 admin-default all -- 0.0.0.0/0 0.0.0.0/0 # iptables -nL admin-default Chain admin-default (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 10.1.2.0/27 tcp dpt:22 23 Open Cloud Campus
  • 24. IaaSクラウドを支えるインフラ技術  Elasitic Block Storage(EBS)と  LinuxのiSCSI機能 24 Open Cloud Campus
  • 25. IaaSクラウドを支えるインフラ技術 Eucalyptusを実現するインフラ技術 クラウドコントローラ 認証技術 クライアント  SSH 鍵認証 Warlus X.509 証明書 パブリック ネットワーク 仮想マシン イメージ API プログラミング iptables(NAT/ ディスクイメージ パケットフィルタリング) クラスタコントローラ 自動化技術 VLAN / ストレージ技術 仮想ブリッジ ストレージコントローラ ネットワーク技術 プライベート 仮想化技術 OS 基礎技術 ネットワーク EBS イメージ iSCSI サーバ仮想化 カーネル さまざまなインフラ技術の  (KVM/Xen) 起動プロセス 集大成がクラウドなのです。 ・・・・ ノードコントローラ ノードコントローラ 25 Open Cloud Campus
  • 26. IaaSクラウドを支えるインフラ技術 Elastic Block Storageの仕組み  Elastic Block Storage(EBS)は、ストレージコントローラ上の仮想ディスクイメージをネッ トワーク経由でVMインスタンスの仮想ディスクとして割り当てたものです。 – EBSの実体はストレージコントローラ上に存在するので、VMインスタンスを停止してもEBSは削除 されません。新しいVMインスタンスに接続して再利用できます。 – ネットワーク経由で書き込みするので、エフェメラル領域よりIOパフォーマンスは劣ります。  一方、エフェメラル領域を含むデフォルトの仮想ディスクの実体は、ノードコントローラ上 の仮想ディスクイメージで、VMインスタンスを停止すると破棄されます。 デフォルトの Walrus 仮想ディスク 仮想ディスクイメージ マシンイメージ ダウンロード 仮想ディスクイメージ iSCSI接続 VM インスタンス EBS ストレージコントローラ ノードコントローラ 26 Open Cloud Campus
  • 27. IaaSクラウドを支えるインフラ技術 EBS接続の詳細  EBSボリュームは次の手順で構成されます。 – ストレージコントローラに新規仮想ディスクイメージを作成した後、これを擬似的な物理ボリュー ム(PV)として、論理ボリューム(LV)を作成する。これをiSCSI LUNとして公開する。 • 仮想ディスクイメージを直接iSCSI LUNとして公開することも可能ですが、LVMスナップショットを利用するた めに、あえて、一度、論理ボリュームを作成してから公開しています。 – ノードコントローラの外部接続ディスクとして、iSCSI LUNを接続した後に、ノードコントローラ上 のVMインスタンスに仮想ディスクとして割り当てる。  iSCSI接続には、Linuxが提供するターゲットとイニシエータの機能を利用します。 – 一般に、iSCSI LUNを提供する機器を「ターゲット」、iSCSI LUNを利用する機器を「イニシエー タ」と呼びます。 仮想ディスクイメージ EBSスナップショット ノードコントローラ ストレージコントローラ イニシエータ ターゲット iSCSI接続 ※参考資料 論理ボリューム LVMスナップショット プロのためのLinuxシステム構築・運用技術「3.3.2 iSCSI」 27 Open Cloud Campus
  • 28. IaaSクラウドを支えるインフラ技術 (参考)EBSと同等のiSCSI接続を実現する手順  下記は、EBSと同等のiSCSI接続を手動で行う手順の例です。 – ターゲット側では、仮想ディスクイメージ・ファイルをループバック・デバイスに紐付けることに より物理ボリュームとして扱っています。 ターゲット側の設定 # yum install scsi-target-utils # dd if=/dev/zero of=/opt/volume02.img bs=1M count=576 # losetup -fv volume02.img Loopデバイス は /dev/loop0 です # pvcreate /dev/loop0 Physical volume "/dev/loop0" successfully created # vgcreate vg01 /dev/loop0 Volume group "vg01" successfully created # lvcreate -L 512M -n lv01 vg01 Logical volume "lv01" created # cat <<EOF >> /etc/tgt/targets.conf <target iqn.2011-06.com.example.server01:tgt01> backing-store /dev/vg01/lv01 </target> EOF # service tgtd start イニシエータ側の設定 # yum install iscsi-initiator-utils # service iscsi start # iscsiadm -m discovery --type sendtargets --portal <ターゲットのIPアドレス> # service iscsi restart 28 Open Cloud Campus
  • 29. IaaSクラウドを支えるインフラ技術  クラウドセキュリティと 公開鍵認証 29 Open Cloud Campus
  • 30. IaaSクラウドを支えるインフラ技術 Eucalyptusを実現するインフラ技術 クラウドコントローラ 認証技術 クライアント  SSH 鍵認証 Warlus X.509 証明書 パブリック ネットワーク 仮想マシン イメージ API プログラミング iptables(NAT/ ディスクイメージ パケットフィルタリング) クラスタコントローラ 自動化技術 VLAN / ストレージ技術 仮想ブリッジ ストレージコントローラ ネットワーク技術 プライベート 仮想化技術 OS 基礎技術 ネットワーク EBS イメージ iSCSI サーバ仮想化 カーネル さまざまなインフラ技術の  (KVM/Xen) 起動プロセス 集大成がクラウドなのです。 ・・・・ ノードコントローラ ノードコントローラ 30 Open Cloud Campus
  • 31. IaaSクラウドを支えるインフラ技術 鍵ペアによる認証の基礎  ネットワーク上の認証には、ユーザ認証とサーバ認証があります。 – ユーザ認証:接続を許可するサーバから見て、本物のユーザであることを確認する。 – サーバ認証:接続するユーザから見て、本物のサーバであることを確認する。  これらの認証には、主に非対称鍵暗号を利用した方法が用いられます。 – 非対称鍵暗号では、暗号化に使う鍵と復号化に使う鍵が異なります。 – 非対称鍵暗号では、鍵の所有者だけが保管するべき秘密鍵と、万人に配布しても構わない公開鍵を 利用します。秘密鍵は誤って他人の手に渡らないように管理する必要があります。 • 下図は、事前に配布した公開鍵で暗号化したメッセージを送ってもらう例です。このメッセージは、秘密鍵を持 つ自分だけが復号化して読むことができます。 公開鍵 僕の秘密鍵がないと誰にも Aさんにもらった公開鍵で 復号化できないから安心だ 暗号化して送るよ 秘密鍵 公開鍵 Aさん 31 Open Cloud Campus
  • 32. IaaSクラウドを支えるインフラ技術 Eucalyptus環境で使用する鍵ペアの例  Eucalyptusの利用者は、次のような場面で自分だけの秘密鍵を入手します。これらの秘密 鍵に対応する公開鍵はクラウドコントローラに保存されます。 – Eucalyptusユーザを作成した際に、Web管理画面からユーザ証明書をダウンロード(ユーザ証明書 の中に秘密鍵が含まれる。) – SSH接続用の鍵ペアを作成した際に、秘密鍵ファイルをクライアントに保存  ユーザがEucalptusのSOAP APIを使用する際、ユーザ証明書に含まれる秘密鍵を利用して、 ユーザ認証が行われます。 – 詳細は次ページを参照  ユーザがVMインスタンスにSSH接続する際、事前に作成した秘密鍵を利用して、ユーザ認 証が行われます。 – 対応する公開鍵は、ノードコントローラがクラウドコントローラから入手して起動するVMインスタ ンス内に保存します。 32 Open Cloud Campus
  • 33. IaaSクラウドを支えるインフラ技術 ユーザ証明書の鍵ペアによるSOAP APIユーザ認証の例  クライアントは、リクエストメッセージのハッシュ値を秘密鍵で暗号化して送ります。サー バは、対応する公開鍵で復号化して正しいハッシュ値であることを確認します。 – ユーザAの公開鍵で復号化できる暗号を生成できるのは、対応する秘密鍵を持ったユーザAだけなの で、メッセージの送信元が本物のユーザAであることが分かります。 – メッセージの暗号化ハッシュ値を添付することを「メッセージに署名する」と言います。メッセー ジが改竄されるとハッシュ値が合わなくなるので、メッセージ改竄を防止する効果もあります。 ユーザ情報データベース ユーザAの証明書 ユーザA秘密鍵 ユーザA公開鍵 復号化 暗号化 ハッシュ値 ハッシュ値 リクエストメッセージと 比較 暗号化ハッシュ値(署名) ハッシュ値計算 を管理サーバに送付 リクエストメッセージ Eucalyptus管理サーバ ハッシュ値 クライアント (クラウドコントローラ) ハッシュ値計算 リクエストメッセージ ※実際の処理内容を簡略化して説明しています。 33 Open Cloud Campus
  • 34. IaaSクラウドを支えるインフラ技術 鍵ペアによるSSHユーザ認証  公開鍵認証でSSH接続する際は、次の流れでユーザ認証が行われます。 – SSH接続を受け付けたサーバ(SSHデーモン)は、乱数を発生してユーザの公開鍵で暗号化したもの をクライアント(SSHクライアント)に送信します。 – クライアントは対応する秘密鍵で復号化して、そのハッシュ値を返答します。 – サーバは、元の乱数のハッシュ値を計算して、クライアントの返答と一致することを確認します。 VMインスタンス起動時に ユーザA ユーザA ノードコントローラが保存 SSH 公開鍵 SSH 秘密鍵 暗号化 復号化 乱数 乱数 ハッシュ値計算 ハッシュ値計算 VM インスタンス ハッシュ値 ハッシュ値 SSH クライアント 比較 ※参考資料 プロのためのLinuxシステム構築・運用技術「2.3.3 SSHの利用方法」 34 Open Cloud Campus
  • 35. IaaSクラウドを支えるインフラ技術 鍵ペアによるSSHサーバ認証  SSH接続の際は、ユーザから見て接続先のサーバが本物であることを確認する、サーバ認証 も行われます。 – クライアントはサーバからサーバ証明書の公開鍵を受け取って保存します。 – クライアントは乱数をサーバの公開鍵で暗号化してサーバに送り、サーバは対応する秘密鍵で復号 化して、そのハッシュ値を返送します。 – クライアントは元の乱数のハッシュ値を計算して、サーバの返答と一致することを確認します。 サーバ証明書 サーバ証明書 初回接続時にダウンロード 秘密鍵 公開鍵 (known_hostsに保存) 復号化 暗号化 乱数 乱数 ハッシュ値計算 ハッシュ値計算 VM インスタンス ハッシュ値 ハッシュ値 SSH クライアント 比較 ※参考資料 プロのためのLinuxシステム構築・運用技術「2.3.3 SSHの利用方法」 35 Open Cloud Campus
  • 36. IaaSクラウドを支えるインフラ技術 SSHサーバ認証に伴う注意点  新しいサーバに初めて接続する際は、サーバ証明書の受け入れ確認メッセージが表示される 場合があります。 # ssh root@server01 新しいサーバ証明書の  The authenticity of host 'server01 (XXX.XXX.XXX.XXX)' can't be established. 受け入れ確認メッセージ RSA key fingerprint is 7c:e6:a3:78:a6:54:a8:4b:f2:87:0b:d5:5d:66:9c:d9. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'server01' (RSA) to the list of known hosts.  以前に接続したことのあるサーバで、前回と異なる公開鍵を受け取った場合、偽者のサーバ の可能性があるためにクライアントは接続を拒否します。 – 何らかの理由で、公開鍵が変更されたことがわかっている場合は、~/.ssh/known_hostsの該当の エントリを削除して、再度、SSH接続します。 # ssh root@server01 サーバ証明書が前回と異なる  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 場合の警告メッセージ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is e3:d4:87:e2:5b:34:21:8b:7b:40:7a:41:93:91:06:d0. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:1 RSA host key for server01 has changed and you have requested strict checking. Host key verification failed. 36 Open Cloud Campus
  • 37. IaaSクラウドを支えるインフラ技術 まとめ 37 Open Cloud Campus
  • 38. IaaSクラウドを支えるインフラ技術 Eucalyptusを実現するインフラ技術 クラウドコントローラ 認証技術 クライアント  SSH 鍵認証 Warlus X.509 証明書 パブリック ネットワーク 仮想マシン イメージ API プログラミング iptables(NAT/ ディスクイメージ パケットフィルタリング) クラスタコントローラ 自動化技術 VLAN / ストレージ技術 仮想ブリッジ ストレージコントローラ ネットワーク技術 プライベート 仮想化技術 OS 基礎技術 ネットワーク EBS イメージ iSCSI サーバ仮想化 カーネル さまざまなインフラ技術の  (KVM/Xen) 起動プロセス 集大成がクラウドなのです。 ・・・・ ノードコントローラ ノードコントローラ 38 Open Cloud Campus
  • 39. IaaSクラウドを支えるインフラ技術 まとめ IaaSクラウドインフラは、『単純なものを組み合わせて  複雑なものを創り上げていく』と言うUnix/Linuxの思想に とてもよく適合する仕組みです。 まずは個々の基礎技術を根本から理解して、その上で、 『これらをどのように組み合わせれば最適なクラウドイン フラが実現できるのか』というクラウドアーキテクチャの 追求を行うことが大切です。 39 Open Cloud Campus
  • 40. IaaSクラウドを支えるインフラ技術 (付録)GlusterFSについて 40 Open Cloud Campus
  • 41. IaaSクラウドを支えるインフラ技術 GlusterFSとは  コモディティ・ハードウェアを利用して、スケールアウト型の分散ファイルシス テムを構築するソフトウェア  元々は、Lawrence Livermore National LabsのHPC(High Performance Computing)クラスタで使用するために開発された分散ファイルシステム  石油・ガスなどの資源開発企業からの要望で、大規模ストレージ・ソリューショ ンとしてGluster社が製品化、オープンソースとして開発を継続  Red Hatは、クラウド向けのストレージ・ソリューションに戦略的に投資を行うと いう判断の下、2011年にGluster社を買収  今後は、Amazon S3互換API、Hadoop MapReduce API(HDFSの代替)、 OpenStack SWIFT互換APIなどのAPIを実装予定 ※ Red Hatによる買収前のGluster社による開発意向表明であり、Red Hatとしての計画は未定です。 41 Open Cloud Campus
  • 42. IaaSクラウドを支えるインフラ技術 GlusterFSのアーキテクチャ  分散ストレージを構成する各ノードの通常のファイルシステムをバックエンドデバイスとし て使用します。 – GlusterFSに保存したファイルの実体は、どこかのノードのファイルシステムに保存されます。  ファイル名のハッシュ計算で保存するノードを決定します。 – 各ファイルの保存ノードの情報を別途、どこかにメタデータとして保存しておく必要がありません。 GlusterFSクライアント クライアントからは 1つのファイルシステムに見える 実際には各ノードのファイルシステムに 分散して保存されている file01, file02, file03 ボリューム ・・・ GlusterFSクラスタ file01 file02 file03 42 Open Cloud Campus
  • 43. IaaSクラウドを支えるインフラ技術 GlusterFSの利用手順  GlusterFSが提供する、クライアントからマウント可能な仮想ファイルシステムを「ボ リューム」と呼びます。次の手順でボリュームを作成して利用します。 – GlusterFSクラスタの各ノードに「ブリック」と呼ばれるディレクトリを用意します。 – 各ノードが使用するブリックを指定して、ボリュームを作成します。 – GlusterFSクライアントは、任意の1つのノードとボリューム名を指定して、ボリュームをマウント して使用します。 • どのノードを指定してもその後の動作に変わりはありません。実際のデータのやり取りは、ハッシュ計算に基づ いて、該当ファイルを保存するノードと行われます。 • マウントに使用するプロトコルは、GlusterFS独自プロトコル、もしくはNFSプロトコルが利用可能です。 • GlusterFSクラスタを構成するノード自身の上でマウントして使用することもできます。  各ノードに複数のブリックを用意して、複数のボリュームを作成することもできます。  各ノードの複数のブリックを使用するボリュームを構成することもできます。 – 各ノードが複数のローカルディスクを持つ場合、ディスクごとにブリックを分けること で、ディスクI/Oの負荷分散が実現できます。  同じファイルを複数のブリックに保存する「レプリケーション構成」、1つのファイルを一 定サイズで分割して複数のブリックに保存する「ストライピング構成」なども可能です。 43 Open Cloud Campus
  • 44. IaaSクラウドを支えるインフラ技術 ボリュームの構成例 node01 node02 node03 node04 GlusterFSクラスタ ファイル単位で各ブリックに分散保存 /brick01 /brick01 /brick01 /brick01 (1つのファイルはどれか1つのブリックに存在) ストライピング /brick02 /brick02 /brick02 /brick02 1つのファイルを各ブリックに分散保存 レプリケーション レプリケーション node01-node02、node03-node04で /brick03 /brick03 /brick03 /brick03 それぞれレプリケーション ストライピング レプリケーション レプリケーション レプリケーションとストライピングの /brick04 /brick04 /brick04 /brick04 組み合わせ 44 Open Cloud Campus