edit-icon download-icon

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

最終更新日: May 05, 2018

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

ROS テンプレートは JSON テキストファイルです。 セキュリティグループ、ECS、VPC、RDS など、Alibaba Cloud Resources をテキストで宣言して定義することができます。

ROS コンソール いくつかの一般的なサンプルテンプレートを提供します。 この例では、既存のサンプルテンプレートを使用して Alibaba Cloud リソースを作成します。

  1. ROSコンソール にログオンする 。
  2. 左側のナビゲーションペインで サンプルテンプレート をクリックすると、ROS で使用可能なサンプルテンプレートを表示するページに移動します。要件を満たすサンプルテンプレートを探します。 simple_ecs_instance を例として使用して、これを使用して ECS インスタンスを作成し、ECS インスタンスをセキュリティグループに追加します。

    simple_ecs_template

  3. サンプルテンプレートの下に プレビュー スタックを作成 の 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":{ } は特定のテンプレートパラメータを定義します。この例では、imageID とインスタンスタイプのパラメータが定義されており、デフォルト値が指定されています。

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

    "Outputs':{ }は、リソースが生成されたときの出力リソース情報を定義します。この例では、ECS インスタンス ID、パブリック IP アドレス、セキュリティグループ ID を出力することを宣言しています。

  4. [新しいリソーススタック] をクリックして、テンプレートに基づいてスタックを作成します。ビジネス要件に応じてリージョンを選択し、右下隅の [次へ]をクリックします。

    Preview Specified Region

  5. 作成するリソースのセットに一意のスタック名を指定し、他のデフォルトオプションは変更せずに作成をクリックします。

    システムがリソースを作成するまでには時間がかかります。

    Input Parameters

  6. 左側のナビゲーションペインで スタック管理 をクリックして、スタックの状態と詳細情報を確認します。

スタックが正常に作成されたら、 管理 をクリックすると、スタックの詳細情報が表示されます。

  

概要ページで、出力の下の値は、テンプレートに出力するように定義された値です。

リソースページでは、スタック内のすべてのリソースの情報を表示できます。

イベントページでは、このリソーススタックに対して実行されたアクションを確認できます。リソーススタックに関連するアクションが失敗し、特定のリソースが失敗の原因となった場合は、情報が記録されます。

テンプレート セクションには、リソーススタックのテンプレートテキストが表示されます。

ROS コンソールでスタックのヘルスチェックを削除、更新、再作成、実行することができます。