テンプレートを使ってリソースを作成

最終更新日: Sep 30, 2017

リソースオーケストレーションサービス(ROS)を使用すると、テンプレートに基づいて Alibaba Cloud リソースのセットを作成できます。ROS は、作成された Alibaba Cloud リソースセットをスタックとして定義、管理、および維持をします。このドキュメントでは、シンプルな ROS テンプレートを使用して Alibaba Cloud リソースのセットを作成し、ROS コンソールを使用してそれらを管理します。

ROS テンプレートは JSON テキストファイルです。セキュリティグループ、ECS、VPC、RDS など、Alibaba Cloud Resources をテキストで宣言して定義することができます。ROSコンソールは、いくつかの一般的なサンプルテンプレートを提供しています。この例では、既存のサンプルテンプレートを使用して Alibaba Cloud リソースを作成します。`

  1. まず Alibaba Cloud アカウントが必要です。持っていない場合は、Alibaba Cloud にアクセスして登録してください。

  2. ROSコンソール にログインします。初めて ROS を使用している場合は、最初に ROS を有効にするために ROS ユーザー同意書に同意する必要があります。ROS は無料サービスになります。

  3. コンソールの左上隅にあるサンプルテンプレートをクリックして、ROSで使用可能な共通テンプレートを表示するページに移動します。 simple_ecs_instance というタイトルのサンプルテンプレートを探し、それを使用してECSインスタンスを作成し、ECSインスタンスをセキュリティグループに追加します。

    simple_ecs_template

  4. 各サンプルテンプレートには、 プレビュー 作成 の2つのボタンがあります。プレビューをクリックしてJSONテンプレートを表示します。simple_ecs_instanceテンプレートの詳細は次のとおりです。

    1. {
    2. "ROSTemplateFormatVersion" : "2015-09-01",
    3. "Description": " A simple ECS instance includes a security group. You only need to designate an imageID.",
    4. "Parameters" : {
    5. "ImageId": {
    6. "Type" : "String",
    7. "Default": "centos7u2_64_40G_cloudinit_20160728.raw",
    8. "Description": " The image file ID indicates the image resources selected when the instance was started. <a href='#/product/cn-shenzhen/list/imageList' target='_blank'>View Image Resources</a>"
    9. },
    10. "InstanceType": {
    11. "Type": "String",
    12. "Description": " Resource type of the instance ",
    13. "Default": "ecs.s1.small",
    14. "AllowedValues": [
    15. "ecs.t1.small",
    16. "ecs.s1.small",
    17. "ecs.s1.medium",
    18. "ecs.s1.large",
    19. "ecs.s2.small",
    20. "ecs.s2.large",
    21. "ecs.s2.xlarge",
    22. "ecs.s2.2xlarge",
    23. "ecs.s3.medium",
    24. "ecs.s3.large",
    25. "ecs.m1.medium",
    26. "ecs.m2.medium",
    27. "ecs.m1.xlarge",
    28. "ecs.c1.small",
    29. "ecs.c1.large",
    30. "ecs.c2.medium",
    31. "ecs.c2.large",
    32. "ecs.c2.xlarge"
    33. ]
    34. }
    35. },
    36. "Resources" : {
    37. "WebServer": {
    38. "Type": "ALIYUN::ECS::Instance",
    39. "Properties": {
    40. "ImageId" : {"Ref": "ImageId"},
    41. "InstanceType": {"Ref": "InstanceType"},
    42. "SecurityGroupId": {"Ref": "SecurityGroup"}
    43. }
    44. },
    45. "SecurityGroup": {
    46. "Type": "ALIYUN::ECS::SecurityGroup",
    47. }
    48. },
    49. "Outputs": {
    50. "InstanceId": {
    51. "Value" : {"Fn::GetAtt": ["WebServer","InstanceId"]}
    52. },
    53. "PublicIp": {
    54. "Value" : {"Fn::GetAtt": ["WebServer","PublicIp"]}
    55. },
    56. "SecurityGroupId": {
    57. "Value" : {"Fn::GetAtt": ["SecurityGroup","SecurityGroupId"]}
    58. }
    59. }
    60. }

    JSONテキストには5つのトップレベルフィールドがあります:

    "ROSTemplateFormatVersion" : "2015-09-01"

    テンプレートのバージョンを定義します。

    "Description":"単純なECSインスタンスにはセキュリティグループが含まれています。イメージIDの指定のみが必要です。 "

    テンプレートの説明を定義します。

    "Parameters" : { }

    特定のテンプレートパラメータを定義します。この例では、イメージIDとインスタンスタイプのパラメータが定義されており、デフォルト値が指定されています。

    "Resources" : { }

    このテンプレートが作成するAlibaba Cloudリソースを定義します。この例では、ECSインスタンスとセキュリティグループの作成を宣言します。ここで宣言されたリソース属性は、 Parametersで定義された値を参照できます。

    "Outputs": { }

    リソースの作成時にROSからスタック出力リソース情報を定義します。この例では、ECSインスタンスID、パブリックIPアドレス、セキュリティグループIDを出力します。

  5. [スタックの作成] をクリックして新しいページを開きます。リソースドロップダウンリスト(この例では China North 2 )からリージョンを選択してください。右下隅の [次へ] をクリックします。

    Preview Specified Region

  6. 他のデフォルトオプションを変更せずに、作成するリソースセットの一意のスタック名を指定します。作成をクリックすると、 Creation Request Submitted というメッセージが表示されます。

    Input Parameters

  7. 左側のリソーススタック管理をクリックして、スタックの状態を確認します。スタックが正常に作成されると、 `Outputs ‘で定義された値が出力されます。次の例は、この例のスタック出力です。

    Stack Information Output

手順7のページの Resources セクションで、スタック内のすべてのリソースを確認します。イベントセクションでは、このリソーススタックを作成するためにROSを使用する場合、リソーススタックに関連する操作が失敗した場合、および障害の原因となった特定のリソース(存在する場合)を確認します。テンプレートセクションで、リソーススタックの元のテンプレートを確認します。

この例では、ROSテキストテンプレートを使用して素早くリソースを作成する方法のみを示しています。ROSでは、指定したテンプレートURLを使用してリソースを作成することもでき、ROSはリソースを管理できます。独自のリソースセットを削除したり、スタックを削除したり、リソースを保持したり、必要に応じてリソーススタックを更新したり、リソーススタックのステータスを再確認することができます。

Stack Operations