原文はこちら。
https://blogs.oracle.com/pshuff/entry/uploading_custom_boot_image_for
昨日話した内容の一つに、バンドルされたソリューション・イメージをOracle Cloud Marketplaceにアップロードする、というものがありました。パートナーは起動可能イメージを提供することでOracle Cloudのソリューションをバンドルし、販売することができます。そのイメージをOracle Compute Cloudで実行させることができます。いくつか例をご紹介しましょう。
Oracle Compute Cloud用の起動可能イメージを作成する方法の詳細について紹介する前に、基本的なことを確認して、データセンターからインスタンスを取得してOracle Compute Cloudで実行する方法を説明するための同じ用語や共通の言葉の認識を合わせることにしましょう。AWSやAzureで必要な手順と、イメージを両社のCompute Cloudにアップロードするために必要なものを見ていきましょう。データセンターでアプリケーションを稼働できる方法として様々あります。
チュートリアルでは、イメージを使ったインストール方法を紹介していないので、通常通り、イメージを使ったインストール・プロセスを実施しません。このプロセスは、VirtualBoxの設定、ISOイメージのダウンロード、Linuxインス他ぬのロードおよび起動、インスタンスへのパッチ適用、Apache Web Server、MySQL、PHPのインストールでおよそ半日かかります。最も難しい部分は、ネットワークの構成です。チュートリアルでは、SELinuxとiptablesをオフにするように言っていますが、今回はこれらのサービスを有効にして、サービスとの通信に必要なポートを開くために余分な作業を実施することを提案します。任意のクラウドプロバイダーの内部ネットワーク内でこれらのサービスのポートを開いたままにして、外部ファイアウォールおよびルーティングルールに任せてしまうのはセキュリティ面でよろしくありません。我々は、クラウド管理層、ホワイトリストルーティングを持つネットワーク構成層、およびOS層という複数のセキュリティ層をお奨めします。まずOS層で、アインバウンドの80/tcpへの接続・通信を許可し、どこからのアクセスかが判明すれば、このルールを厳しくします。ただし。OSでのセキュリティはOffにすることは推奨しません。MicrosoftはLAMPスタックで構成されたLinuxイメージのインポート方法についてエントリをまとめています。
AmazonはVMware、Windows、その他の形式でイメージをインポートするにあたってのよいドキュメントやチュートリアルを提供しています。
まとめると、全てのクラウドプロバイダーで、既存のオンプレミスのイメージをクラウドにインポートすることができます。全てのプロバイダーで、フォーマット変換ツールを使い、元の形式からクラウドプロバイダーが利用する形式に変換します。ただ一つ違うのは、Ravelloのインポートユーティリティで、これを使うと、VMware形式をそのままインポートし、お好みのクラウドで稼働させることができます。様々なインポート方式との主要な違いは、必要となるツールです。Windows Desktopで、PowerShellを使いイメージをインポートしなければならないのでしょうか?ほとんどのOS上で動作するコマンドラインユーティリティをインストールして、イメージをカスタムイメージに変換しなければならないのでしょうか。クラウドプロバイダからのイメージをアップロードやダウンロードし、貴社データセンターでバージョン管理することができますか?クラウドプロバイダーは、貴社のセキュリティという傘の下にあるマシン上のクラウドサービスであるかのように、これらのイメージを貴社データセンターで動作させることができますか?トピックに深く入れば入るほど、答えは得られず、かえって質問や疑問が増えていくように思えます。異なるクラウドベンダー・プラットフォームで動作する既存のアプリケーション、あきらめる管理対象、取り得る選択肢、仮想イメージを貴社データセンターからクラウドソリューションへインポートする際に必要なものに対して洞察が、今日のブログから得られることを願っています。
https://blogs.oracle.com/pshuff/entry/uploading_custom_boot_image_for
昨日話した内容の一つに、バンドルされたソリューション・イメージをOracle Cloud Marketplaceにアップロードする、というものがありました。パートナーは起動可能イメージを提供することでOracle Cloudのソリューションをバンドルし、販売することができます。そのイメージをOracle Compute Cloudで実行させることができます。いくつか例をご紹介しましょう。
- JDE 9.2 Trial Edition by Oracle
https://cloud.oracle.com/marketplace/en_US/listing/5550985 - WordPress on Oracle Linux 6.7 by Bitnami
https://cloud.oracle.com/marketplace/en_US/listing/4980490 - Chef Server by Chef.io
https://cloud.oracle.com/marketplace/en_US/listing/4875510
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® Cloud Using Oracle Compute Cloud Service (IaaS)この例では、チュートリアルはVirtualBoxを使って、Oracle Software Delivery Cloud(http://edelivery.oracle.com/)からISOをダウンロードしています。これはベアメタルや仮想サーバ上にイメージを作成する典型的なやり方です。
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の設定、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この記事ではVHDファイルを使ってスタートする、もしくはアップロードするために既存のファイル形式をVHDファイルに変換することを前提としている点に着目することが重要です。このエントリでは、Azure Command LineもしくはPowerShellが構成され、インストールされており、Windows Desktopを使うことが前提となっています。この方法について説明したエントリはほとんどありません。たいていの場合、自身で構築してアップロードするのではなく、Bitnamiを使ってイメージをロードするかLinuxイメージをロードして、Azureでインスタンスをリビルドする方法を推奨しています。ブログエントリのほとんどは、イメージを実行したら、準仮想化ドライバをインストールしてHyper-Vが適切に動作するように説明しています。
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-classic-create-upload-vhd/
AmazonはVMware、Windows、その他の形式でイメージをインポートするにあたってのよいドキュメントやチュートリアルを提供しています。
VM Import/Exportこのツールを使うと、コマンドラインによるインポートでも、WebベースのインポートでもAmazon AMIフォーマットに変換することができます。重要なのは、イメージをインポートしたら、他のクラウドベンダーソリューションで実施しなければならないように、ネットワークやセキュリティを再構成する必要があるという点です。ただ一つこれに対する例外が、Amazon、Google、Azure、そしてOracle Cloudで利用できるRavello Systemsです。
https://aws.amazon.com/jp/ec2/vm-import/
Ravello SystemsRavelloを使うと、VMwareイメージを変更せずにインポートし、4つのクラウドプロバイダー全てで実行することができます。クラウドプロバイダーの形式で実行可能な画像に変換するものとは異なることに注意してください。Ravelloは、VMwareの呼び出しをクラウドプロバイダーの呼び出しやインターフェースに変換するシムをアップロードするハイパーバイザエミュレータを使用しています。
https://www.ravellosystems.com/
まとめると、全てのクラウドプロバイダーで、既存のオンプレミスのイメージをクラウドにインポートすることができます。全てのプロバイダーで、フォーマット変換ツールを使い、元の形式からクラウドプロバイダーが利用する形式に変換します。ただ一つ違うのは、Ravelloのインポートユーティリティで、これを使うと、VMware形式をそのままインポートし、お好みのクラウドで稼働させることができます。様々なインポート方式との主要な違いは、必要となるツールです。Windows Desktopで、PowerShellを使いイメージをインポートしなければならないのでしょうか?ほとんどのOS上で動作するコマンドラインユーティリティをインストールして、イメージをカスタムイメージに変換しなければならないのでしょうか。クラウドプロバイダからのイメージをアップロードやダウンロードし、貴社データセンターでバージョン管理することができますか?クラウドプロバイダーは、貴社のセキュリティという傘の下にあるマシン上のクラウドサービスであるかのように、これらのイメージを貴社データセンターで動作させることができますか?トピックに深く入れば入るほど、答えは得られず、かえって質問や疑問が増えていくように思えます。異なるクラウドベンダー・プラットフォームで動作する既存のアプリケーション、あきらめる管理対象、取り得る選択肢、仮想イメージを貴社データセンターからクラウドソリューションへインポートする際に必要なものに対して洞察が、今日のブログから得られることを願っています。