[Cloud] uploading custom boot image for compute cloud

原文はこちら。
https://blogs.oracle.com/pshuff/entry/uploading_custom_boot_image_for

昨日話した内容の一つに、バンドルされたソリューション・イメージをOracle Cloud Marketplaceにアップロードする、というものがありました。パートナーは起動可能イメージを提供することでOracle Cloudのソリューションをバンドルし、販売することができます。そのイメージをOracle Compute Cloudで実行させることができます。いくつか例をご紹介しましょう。
これらのソリューションは全て基礎となるOSとその上に他の製品を組み合わせてあるものを使って起動します。その後、生成された仮想マシンの構成をtar.gzファイルにまとめ、Cloud Marketplaceにアップロードしました。これを実施すれば、検索エンジンを通じてソリューションを製品として提供したり、ソリューションを追跡したり、販売することができます。作成された起動イメージはプライベート・イメージにロードされ、プロセッサ、メモリ、ディスク、およびネットワーク構成を選択し、Computeサービスとしてこれらのインスタンスを起動することができます。このインタフェースの美しさは、貴社自身で作成したカスタム起動可能イメージを作成したい場合の方法と同じであるという点です。これにより、インスタンスのスナップショット機能が有効になり、インスタンスのクローニング、スケールのためのインスタンスのレプリケーション、災害からの高速な復旧のための共通の格納場所にインスタンスをバックアップすることができます。
Oracle Compute Cloud用の起動可能イメージを作成する方法の詳細について紹介する前に、基本的なことを確認して、データセンターからインスタンスを取得してOracle Compute Cloudで実行する方法を説明するための同じ用語や共通の言葉の認識を合わせることにしましょう。AWSやAzureで必要な手順と、イメージを両社のCompute Cloudにアップロードするために必要なものを見ていきましょう。データセンターでアプリケーションを稼働できる方法として様々あります。
  • Bare Metal - コンピュータにOSをロードし、アプリケーションをOS上で実行する。インスタンスをバックアップし、クラウドにリストアする。
  • Oracle VirtualBox - デスクトップやラップトップ、サーバの仮想インスタンスを作成し、OVA/VDIイメージをアップロード可能な形式に変換する。
  • VMware ESX - VMwareクラスタ上で仮想インスタンスを作成し、生成されたVMDKイメージをアップロード可能な形式に変換する。
  • CitrixやパブリックドメインのXen Server - Xenサーバで仮想インスタンスを作成し、VMDKイメージをアップロード可能な形式に変換する。
  • Microsoft HyperV - Hyper-Vサーバで仮想インスタンスを作成し、VHDイメージをアップロード可能な形式に変換する。
これらの手順の主要な相違点は、移行先のクラウドプロバイダ用のアップロード可能な形式への変換です。Oracle Compute Cloudは現時点ではサポートされたOSからtar.gzバイナリを作成し、プライベート・イメージ空間にロードする必要があります。イメージ作成に関するドキュメントがあり、その中でどのOSが現在サポートされているか記載されています。また、LAMPスタックインスタンスを作成する上でのチュートリアルを参照することができます。
Oracle® Cloud Using Oracle Compute Cloud Service (IaaS)
Building Your Own Machine Images
https://docs.oracle.com/cloud/latest/stcomputecs/STCSG/GUID-3438E5A1-D00A-4A01-B6BB-46D871334801.htm#STCSG-GUID-3438E5A1-D00A-4A01-B6BB-46D871334801
Building a Custom Oracle Linux Machine Image with the LAMP Stack
http://www.oracle.com/webfolder/technetwork/tutorials/obe/cloud/compute-iaas/creating_a_custom_ol_machine_image/creating_a_custom_ol_machine_image.html 
この例では、チュートリアルはVirtualBoxを使って、Oracle Software Delivery Cloud(http://edelivery.oracle.com/)からISOをダウンロードしています。これはベアメタルや仮想サーバ上にイメージを作成する典型的なやり方です。
チュートリアルでは、イメージを使ったインストール方法を紹介していないので、通常通り、イメージを使ったインストール・プロセスを実施しません。このプロセスは、VirtualBoxの設定、ISOイメージのダウンロード、Linuxインス他ぬのロードおよび起動、インスタンスへのパッチ適用、Apache Web Server、MySQL、PHPのインストールでおよそ半日かかります。最も難しい部分は、ネットワークの構成です。チュートリアルでは、SELinuxとiptablesをオフにするように言っていますが、今回はこれらのサービスを有効にして、サービスとの通信に必要なポートを開くために余分な作業を実施することを提案します。任意のクラウドプロバイダーの内部ネットワーク内でこれらのサービスのポートを開いたままにして、外部ファイアウォールおよびルーティングルールに任せてしまうのはセキュリティ面でよろしくありません。我々は、クラウド管理層、ホワイトリストルーティングを持つネットワーク構成層、およびOS層という複数のセキュリティ層をお奨めします。まずOS層で、アインバウンドの80/tcpへの接続・通信を許可し、どこからのアクセスかが判明すれば、このルールを厳しくします。ただし。OSでのセキュリティはOffにすることは推奨しません。MicrosoftはLAMPスタックで構成されたLinuxイメージのインポート方法についてエントリをまとめています。
Creating and Uploading a Virtual Hard Disk that Contains the Linux Operating System
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-classic-create-upload-vhd/
この記事ではVHDファイルを使ってスタートする、もしくはアップロードするために既存のファイル形式をVHDファイルに変換することを前提としている点に着目することが重要です。このエントリでは、Azure Command LineもしくはPowerShellが構成され、インストールされており、Windows Desktopを使うことが前提となっています。この方法について説明したエントリはほとんどありません。たいていの場合、自身で構築してアップロードするのではなく、Bitnamiを使ってイメージをロードするかLinuxイメージをロードして、Azureでインスタンスをリビルドする方法を推奨しています。ブログエントリのほとんどは、イメージを実行したら、準仮想化ドライバをインストールしてHyper-Vが適切に動作するように説明しています。
AmazonはVMware、Windows、その他の形式でイメージをインポートするにあたってのよいドキュメントやチュートリアルを提供しています。
VM Import/Export
https://aws.amazon.com/jp/ec2/vm-import/
このツールを使うと、コマンドラインによるインポートでも、WebベースのインポートでもAmazon AMIフォーマットに変換することができます。重要なのは、イメージをインポートしたら、他のクラウドベンダーソリューションで実施しなければならないように、ネットワークやセキュリティを再構成する必要があるという点です。ただ一つこれに対する例外が、Amazon、Google、Azure、そしてOracle Cloudで利用できるRavello Systemsです。
Ravello Systems
https://www.ravellosystems.com/
Ravelloを使うと、VMwareイメージを変更せずにインポートし、4つのクラウドプロバイダー全てで実行することができます。クラウドプロバイダーの形式で実行可能な画像に変換するものとは異なることに注意してください。Ravelloは、VMwareの呼び出しをクラウドプロバイダーの呼び出しやインターフェースに変換するシムをアップロードするハイパーバイザエミュレータを使用しています。
まとめると、全てのクラウドプロバイダーで、既存のオンプレミスのイメージをクラウドにインポートすることができます。全てのプロバイダーで、フォーマット変換ツールを使い、元の形式からクラウドプロバイダーが利用する形式に変換します。ただ一つ違うのは、Ravelloのインポートユーティリティで、これを使うと、VMware形式をそのままインポートし、お好みのクラウドで稼働させることができます。様々なインポート方式との主要な違いは、必要となるツールです。Windows Desktopで、PowerShellを使いイメージをインポートしなければならないのでしょうか?ほとんどのOS上で動作するコマンドラインユーティリティをインストールして、イメージをカスタムイメージに変換しなければならないのでしょうか。クラウドプロバイダからのイメージをアップロードやダウンロードし、貴社データセンターでバージョン管理することができますか?クラウドプロバイダーは、貴社のセキュリティという傘の下にあるマシン上のクラウドサービスであるかのように、これらのイメージを貴社データセンターで動作させることができますか?トピックに深く入れば入るほど、答えは得られず、かえって質問や疑問が増えていくように思えます。異なるクラウドベンダー・プラットフォームで動作する既存のアプリケーション、あきらめる管理対象、取り得る選択肢、仮想イメージを貴社データセンターからクラウドソリューションへインポートする際に必要なものに対して洞察が、今日のブログから得られることを願っています。

0 件のコメント:

コメントを投稿