https://blogs.oracle.com/pshuff/entry/orchestration_2_0_creating_a
このエントリでは、Oracle OrchestrationでBitnami WordPressインスタンスを使う例を見ていきます。まずはCloud Marketplaceでインスタンスをプロビジョニングします。
Oracle Cloud Marketplaceインストールするインスタンスは以下の場所で見つけることができます。このインスタンスはOracle Linux 6.7ベースです。
https://cloud.oracle.com/marketplace/ja_JP/
WordPress on OL 6.7このインスタンスの最小プロファイルは、OC3(1 OCPU、7.5 GB RAM)でローカルディスク60GBです。
https://cloud.oracle.com/marketplace/ja_JP/listing/4980490?_afrLoop=11935810073563805&_afrWindowMode=0&_afrWindowId=1bzhjaylmt_21
[アプリケーションの入手]ボタンをクリックすると、Cloud Computeサービスへのインストールプロセスが始まります。[アプリケーションの入手]ボタンをクリックするとプロセスが始まり、Marketplaceから起動可能イメージをダウンロードし、任意のタイミングで新規インスタンスを作成できるイメージとして利用可能になります。デフォルトのサイズは10GBですが、MySQLとWordPressアプリケーションが適切に動作するよう、このインストール・イメージを60GBまで拡大する必要があります。
インスタンスの作成のために、コンピュート・コンソールへ移動し、インスタンスを作成します。プライベート・イメージを選択して、起動するためにダウンロードしたWordPress bitnamiインスタンスが使えるようにします。ネットワーク・セキュリティ・リストやSSHキー、インスタンス名を入力します。
デフォルトのディスクサイズは10GBです。今回はこのままにして、立ち上げ前に構成を
見なおすことにしましょう。
[作成]をクリックすると、クラウドコンソールは3個のオーケストレーションファイルを作成し、WordPressインスタンスを初期化します。最初に作成されたファイルはストレージを定義しています。このファイルは、デフォルトのままであれば、bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage.json と呼ばれるものです。この例では、WordPress_4_5_3_storage.jsonと呼ばれています。このファイルには、OSの立ち上げのために必要なストレージが以下のような形式で記述されています。
それでは、このファイルの詳細、構造を見ていくことにしましょう。子コンポーネントは無視して構造を分析しましょう。{ "relationships": [], "account": "/Compute-metcsgse00028/default", "description": "", "schedule": { "start_time": "2016-07-21T19:40:35Z", "stop_time": "2016-07-21T21:50:02Z" }, "oplans": [ { "obj_type": "storage/volume", "ha_policy": "", "label": "bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage", "objects": [ { "managed": true, "snapshot_id": null, "snapshot_account": null, "machineimage_name": "/Compute-metcsgse00028/marketplace01-user@oracleads.com/bitnami-wordpress-4.5.3-0-linux-oel-6.7-x86_64", "status_timestamp": "2016-07-21T19:44:51Z", "imagelist": "/Compute-metcsgse00028/marketplace01-user@oracleads.com/bitnami-wordpress-4.5.3-0-linux-oel-6.7-x86_64", "writecache": false, "size": "10737418240", "storage_pool": "/compute-us2-z12/cheis01nas100-v1_multipath/storagepool/iscsi/latency_1", "shared": false, "status": "Online", "description": "", "tags": [], "quota": null, "properties": [ "/oracle/public/storage/default" ], "account": "/Compute-metcsgse00028/default", "name": "/Compute-metcsgse00028/cloud.admin/bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage", "bootable": true, "hypervisor": null, "uri": null, "imagelist_entry": 1, "snapshot": null } ] } ], "user": "/Compute-metcsgse00028/cloud.admin", "name": "/Compute-metcsgse00028/cloud.admin/bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage" }
このオブジェクトを定義する7つの要素があることに注意してください。{ "relationships": [], "account": "/Compute-metcsgse00028/default", "description": "", "schedule": {…}, "oplans": […], "user": "/Compute-metcsgse00028/cloud.admin", "name": "/Compute-metcsgse00028/cloud.admin/bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage" }
- relationship
このファイルでは、これが構成の基礎であり、別のオブジェクトとの依存関係を持っていません。 - account
accountは、オブジェクトの所有者および、オブジェクトに関連付けられたセキュリティを定義します。このオブジェクトにアクセスできる、もしくはデフォルトのラベルを使って、すべてのユーザーがアクセスできるようにすることが可能な固有のアカウントをアイデンティティ・ドメイン内で持っている可能性があります。 - description
このオブジェクトには説明がありません。いつこの情報を作成したのか、いつディスクをプロビジョニングしたか、といった、より多くの情報を追加する可能性があります。これは有用なフィールドですが、Computeリソースを作成する上では重要なものではありません。 - schedule
いつオブジェクトが作成されたかを定義し、オブジェクトがいつ開始し、停止するのかを定義します。 - oplans
oplansはオブジェクトを定義します。この時点では定義を隠していますが、この後詳細を見ていきます。 - user
このユーザーは、オブジェクト作成者、オブジェクト所有者です。 - name
オブジェクト名です。アイデンティティ・ドメイン、作成ユーザー、オブジェクト名から構成されています。この例では、nameは以下のようです。
/Compute-metcsgse00028/cloud.admin/bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage
筆者の作業時点の例では、以下のようになります。
/Compute-metcsgse00028/cloud.admin/WordPress_4_5_3_storage
oplansの詳細を見ていきましょう。以下のようにオブジェクトが定義されていることがわかります。
oplansは4個の要素から構成されており、ドキュメントに定義されています。これらのオブジェクトはha_policyを除いて全て必要です。最初の定義済みパラメータはobj_typeです。このパラメータは以下として定義されます。{ "obj_type": "storage/volume", "ha_policy": "", "label": "bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage", "objects": […] }
- Ip-reservation
- Launchplan
- Orchestration
- Storage/volume
- Secapplication
- Seciplist
- Seclist
- Secrule
objectsフィールドはドキュメンテーションで定義されています。この例ではstorage volumeオブジェクトを詳細に見ていきます。storageに必要なフィールドはname、size、propertiesです。オプションのフィールドは、description、bootable、tagsです。今回の例では、オブジェクト・パラメータを以下のように定義しています。
nameは "/Compute-metcsgse00028/cloud.admin/bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage" です。注目していただきたいのは、このオブジェクト名はインスタンス・ドメイン、ストレージを作成したユーザー名、そしてストレージのラベルで構成されている、という点です。sizeはバイト単位で"10737418240"と定義しています。この値はOS用の10GBのディスクです。propertiesは [ "/oracle/public/storage/default" ] と定義されています。これはストレージをデフォルトストレージとして定義することを意味しています。通常データベースで使われる低レイテンシや高IOPSストレージが必要であれば"objects": [ { "managed": true, "snapshot_id": null, "snapshot_account": null, "machineimage_name": "/Compute-metcsgse00028/marketplace01-user@oracleads.com/bitnami-wordpress-4.5.3-0-linux-oel-6.7-x86_64", "status_timestamp": "2016-07-21T19:44:51Z", "imagelist": "/Compute-metcsgse00028/marketplace01-user@oracleads.com/bitnami-wordpress-4.5.3-0-linux-oel-6.7-x86_64", "writecache": false, "size": "10737418240", "storage_pool": "/compute-us2-z12/cheis01nas100-v1_multipath/storagepool/iscsi/latency_1", "shared": false, "status": "Online", "description": "", "tags": [], "quota": null, "properties": [ "/oracle/public/storage/default" ], "account": "/Compute-metcsgse00028/default", "name": "/Compute-metcsgse00028/cloud.admin/bitnami-wordpress-4.5.3-0-linux-_20160721144012_storage", "bootable": true, "hypervisor": null, "uri": null, "imagelist_entry": 1, "snapshot": null } ] } ]
、defaultではなく別のレイテンシを選択することもできます。この説明における残りのフィールドは任意の項目です。bootable(起動可能)タグはこれが起動可能イメージかどうか、statusはこのストレージがアクティブ・モードなのか、スタンバイモードなのかを定義します。storage_poolはこのストレージ要素が専用にアタッチされたストレージではなく、Computeノードで利用可能なiSCSI論理ユニット番号(LUN)であることを定義していることにご注意ください。これらの全てのフィールドはOSを起動し、WordPressアプリケーションを実行するストレージを作成するために必要なものを定義しています。ストレージとして20GBのディスクにすることも、200GBのディスクにすることも簡単に定義することができます。ブロックストレージは50USD/TB/月の費用が発生することに注意することが重要です。次回は、このストレージを使ってインスタンスと関連付けることにしましょう。
0 件のコメント:
コメントを投稿