Resource Orchestration Service (ROS) を使用して、スタックテンプレートをコンパイルし、ECS (Elastic Compute Service) やApsaraDB RDSインスタンスなどのクラウドコンピューティングリソース、およびスタックテンプレート内のリソース間の依存関係を記述できます。 ROSのオーケストレーションエンジンは、テンプレートに基づいてすべてのリソースを自動的に作成および構成し、自動デプロイとO&Mを実装します。このトピックでは、Object Storage Service (OSS) とROSを使用してNGINXアプリケーションを作成する方法について説明します。
前提条件
アクセス制御リスト (ACL) がプライベートであるOSSバケットが作成されます。 バケットの作成方法の詳細については、「バケットの作成」をご参照ください。
NGINXインストールパッケージがダウンロードされます。
手順1: NGINXインストールパッケージをバケットにアップロードする
OSSコンソールにログインします。
左側のナビゲーションウィンドウで、バケットリスト をクリックします。 [バケット] ページで、目的のバケットを見つけてクリックします。
左側のナビゲーションツリーで、 を選択します。
ダウンロードしたNGINXインストールパッケージをアップロードします。
NGINXインストールパッケージのアクセス制御リスト (ACL) をpublic-readに設定し、他のパラメーターのデフォルト設定を維持します。 オブジェクトのアップロード方法の詳細については、「オブジェクトのアップロード」をご参照ください。
オブジェクトURLを取得します。
NGINXインストールパッケージの右側にある [詳細の表示] をクリックし、[オブジェクトURLのコピー] をクリックします。
ステップ2: ROSを使用してスタックを作成する
スタックの作成に使用するテンプレートを選択します。
ROSコンソールにログインします。
左側のナビゲーションウィンドウで、[スタック] をクリックします。
上部のナビゲーションバーで、リージョンドロップダウンリストから中国 (杭州) を選択します。
[スタック] ページで、[スタックの作成] をクリックし、ドロップダウンリストから [ROSの使用] を選択します。
[テンプレートの選択] ステップで、[テンプレートの指定] を [既存のテンプレートの選択] に設定し、テンプレートのインポート方法を [テンプレートコンテンツの入力] に設定します。 [テンプレートコンテンツ] セクションで、[ROS] と [JSON] をクリックし、コードエディターに次のテンプレートコンテンツを入力し、[次へ] をクリックします。
{ "ROSTemplateFormatVersion": "2015-09-01", "Description": "", "Parameters": { "NginxDownloadUrl": { "Type": "String", "Description": { "en": "nginx-*.rpmのダウンロードパス" }, "Label": { "en": "NginxダウンロードUrl" } }, "ZoneId": { "AssociationProperty": "ALIYUN::ECS:: インスタンス: ZoneId" 、 "Type": "String", "Description": { "en": "アベイラビリティーゾーンID.<br><b>note: <font color='blue'> 選択する前に、アベイラビリティーゾーンがECSリソース作成の仕様をサポートしていることを確認してください。これは他のVSwitchアベイラビリティーゾーンとは異なることを推奨します </font></b>" }, "Label": { "en": "VSwitchアベイラビリティーゾーン" } }, "ImageId": { "デフォルト": "centos_7" 、 "Type": "String", "Description": { "en": "画像ID、Centos7を使用してください。詳細: <b><a href='https:// www.alibabacloud.com/help/en/doc-detail/112977.html' target='_blank'><font color='blue'> ミラーを見つける </font></a></b> }, "Label": { "en": "イメージ" } }, "InstanceType": { "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType" 、 "AssociationPropertyMetadata": { "ZoneId": "ZoneId" }, "Label": { "en": "インスタンスタイプ" }, "Type": "String", "Description": { "en": "<font color='blue'><b>1. モデルを選択する前に、モデルの下で現在利用可能なゾーンが在庫にあることを確認してください。</b></font><br><font color='blue'><b>2. オプションモデルのリスト </font></b></font>[ecs.c5.large <font color='green'>2vCPU 4GiB Intranet bandwidth1Gbps <PPS font] </font <> /b>[ecs.c5.xlarge <font color='green'>4vCPU 8GiBイントラネットバンド幅1.5Gbpsグリッド送信および受信パッケージ50MillionPPS</font>]<br></b>[ecs.c5.2xlarge <font color='green'>8vCPU 16GiBイントラネットバンド幅2.5Gbps <グリッドおよび受信パッケージ80Gbps] < } }, "SystemDiskCategory": { "デフォルト": "cloud_efficiency" 、 "Label": { "en": "システムディスクタイプ" }, "Type": "String", "Description": { "en": "<font color='blue'><b> オプションの値:</b></font><br>[cloud_efficiency: <font color='green'> 効率的なクラウドディスク </font>]<br>[cloud_ssd: <font color='green'>> SSDクラウドディスク </font>]<br> <font color='green'>ESSDクラウドディスク </font>]<br>[Cloud: <font color='green'> クラウドディスク </font>]<br>[ephemeral_ssd: <font color='green'> ローカルSSDクラウドディスク </font>]" 、 }, "AllowedValues": [ "cloud_efficiency" 、 "cloud_ssd"、 「クラウド」、 "cloud_essd" 、 "ephemeral_ssd" ] }, "InstancePassword": { "Type": "String", "Description": { "en": "サーバーのログインパスワード (長さ8-30) には、3つ (大文字、小文字、数字、()'~!@#$%^& *_+ =|{}[]:;' <>,.?/ Special symbol in) を含める必要があります。" }, "MinLength": 8、 "Label": { "en": "インスタンスパスワード" }, "AllowedPattern": "[0-9A-Za-z \\\\\ \-\\\&:; '<>,=% ~! @#\\\ (\\) \\\\\\\\ *\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\] "NoEcho": true、 "MaxLength": 30、 "ConstraintDescription": { "en": "長さ8-30、3つを含む必要があります (大文字、小文字、数字、()'~!@#$%^& *_+ =|{}[]:;' <>,?/ Special symbol in) 。" } }, "SecurityGroup": { "Type": "String", "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId" 、 "Description": { "en": "コンソールから (sg-xxx) で始まるビジネスセキュリティグループIDを検索してください-ECS-Network&security" }, "Label": { "en": "セキュリティグループID" } }, "VPC": { "AssociationProperty": "ALIYUN::ECS::VPC::VPCId" 、 "Type": "String", "Description": { "en": "コンソールから (vpc-xxx) で始まるIDを検索してください-Virtual Private Cloud" }, "Label": { "en": "既存のVPCインスタンスID" } }, "VSwitch": { "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId" 、 "Type": "String", "Description": { "en": "コンソール-Virtual Private Cloud-vswitchから (vsw-xxx) で始まるビジネスvswitch IDを検索してください" }, "Label": { "en": "VSwitch ID" } } }, "メタデータ": { "ALIYUN::ROS:: インターフェイス": { "ParameterGroups": [ { "Parameters": [ "VPC", "VSWITCH"、 "SecurityGroup" ], "Label": { "デフォルト":{ "en": "インフラストラクチャの設定" } } }, { "Parameters": [ "ZoneId" 、 "ImageId" 、 "InstanceType" 、 "SystemDiskCategory" 、 "InstancePassword" 、 "NginxDownloadUrl" ], "Label": { "デフォルト":{ "en": "ECS設定" } } } ], "TemplateTags": [ "acs:example:Linuxアプリケーションサービス: ROS_OOSを使用したNGINXアプリケーションの作成" ] } }, "Resources": { "WebServer": { "Type": "ALIYUN::ECS::Instance", "Properties": { "InternetMaxBandwidthOut": 80、 "IoOptimized": "optimized", "VpcId": { "Ref": "VPC" }, "UserData": { "Fn:: 参加": [ "", [ "#!/bin/bash \n" 、 "NginxUrl=" 、 { "Ref": "NginxDownloadUrl" }, "\n", "yum -y install aria2 \n" 、 "aria2c $NginxUrl \n" 、 "rpm -ivh nginx-*.rpm \n", "yum -y install nginx \n" 、 "systemctl enable nginx.service \n" 、 "systemctl restart nginx.service \n" ] ] }, "SecurityGroupId": { "Ref": "SecurityGroup" }, "VSwitchId": { "Ref": "VSwitch" }, "ImageId": { "Ref": "ImageId" }, "InstanceType": { "Ref": "InstanceType" }, "SystemDiskCategory": { "Ref": "SystemDiskCategory" }, "パスワード": { "Ref": "InstancePassword" } } } }, "Outputs": { "NginxUrl": { "Value": { "Fn:: 参加": [ "", [ "http://" 、 { "Fn::GetAtt": [ "WebServer" 、 "PublicIp" ] }, ":80" ] ] } } } }
パラメーターを設定します。
[パラメーターの設定] ステップで、[スタック名] パラメーターを指定します。
[テンプレートパラメーターの設定] セクションで、次のパラメーターを設定します。
セクション
パラメーター
説明
インフラストラクチャの設定
既存のVPCインスタンスID
ドロップダウンリストから仮想プライベートクラウド (VPC) を選択します。
VSwitch ID
ドロップダウンリストからvSwitchを選択します。
セキュリティグループID
ドロップダウンリストからセキュリティグループを選択します。
ECS設定
VSwitch可用性ゾーン
ビジネス要件 (ゾーンGなど) に基づいてvSwitchゾーンを選択します。
[イメージ]
centos_7を入力します。
[インスタンスタイプ]
ビジネス要件に基づいてインスタンスタイプを選択します。
システムディスクタイプ
cloud_ssdを選択します。
インスタンスパスワード
ECSインスタンスのカスタムログインパスワードを入力します。
NginxダウンロードUrl
手順1で取得したNGINXインストールパッケージのオブジェクトURLを入力します。
[スタック設定の設定] セクションで、デフォルト設定を保持します。
[作成] をクリックします。
ブラウザでNGINXのホームページにアクセスしてください。
作成したスタックをクリックします。
[出力] をクリックし、NGINXのURLをクリックします。
NGINXのURLをクリックすると、NGINXのホームページにリダイレクトされます。
NGINXのホームページにアクセスできない場合は、現在のセキュリティグループにデフォルトのポート
HTTP(80)
を追加します。 詳細については、「セキュリティグループルールの追加」をご参照ください。