Compute Nestは、スクリプトベースの展開用のソフトウェアリソースをダウンロードするときに発生する可能性のある問題を解決するためのファイル展開パッケージを提供します。 たとえば、インターネット経由でクラウドリソースにアクセスできない、またはリソースのダウンロードソースが安定していないなどです。 このトピックでは、ファイル展開パッケージの仕組みについて説明します。 このトピックでは、ファイル配置パッケージを作成して使用する方法についても説明します。
背景情報
目的
Compute Nestは、スクリプトベースの展開用のソフトウェアリソースをダウンロードするときに発生する可能性のある問題を解決するためのファイル展開パッケージを提供します。 たとえば、クラウドリソースにインターネット経由でアクセスできない、ファイルが大きすぎる、リソースのダウンロードソースが安定していないなどです。 指定されたObject Storage Service (OSS) バケットにファイルをアップロードすると、Compute Nestは自動的にファイルを複数のリージョンにレプリケートし、テンプレートのファイル識別子を対応するリージョンのファイルの内部OSS URLに置き換えます。 これにより、データ伝送の安定性とセキュリティが確保されます。
メリット
サービスプロバイダーは、テンプレートでファイル識別子を指定し、Compute Nestコンソールのサービス詳細ページでファイル展開パッケージをファイル識別子に関連付けるだけです。
ファイルレプリケーション: Compute Nestは、Compute Nestの一般アカウントにアップロードしたファイルをレプリケートします。 次に、ファイルはアカウント内のさまざまなリージョンのOSSバケットにレプリケートされます。
ファイルの関連付け: Compute Nestは、テンプレート内のファイル識別子
{{ computeneset:: File::xxx}}を識別し、サービスの作成時にその識別子をファイルデプロイパッケージに関連付けます。 顧客がサービスインスタンスを作成すると、Compute Nestは顧客がサービスインスタンスをデプロイするリージョンを識別し、そのリージョンのファイルのOSS URLを自動的に選択します。 このように、ファイルURLは地域によって動的に変化する。権限管理: ファイル展開パッケージのパブリックまたはプライベート属性は、サービスの属性によって決まります。 ファイル展開パッケージがサービスに関連付けられていない場合、ファイル展開パッケージはプライベートです。 少なくとも1つのパブリックサービスがファイル展開パッケージに関連付けられている場合、ファイル展開パッケージはパブリックです。 ファイル展開パッケージに関連付けられているすべてのサービスがプライベートの場合、ファイル展開パッケージはプライベートです。
内部ネットワーク経由でダウンロード: Compute Nestは、内部ネットワーク経由でファイル展開パッケージをダウンロードします。 顧客がサービスインスタンスを作成すると、Compute Nestは、対応するリージョンのOSSバケット内のファイルの内部HTTP URLを自動的に生成して、ファイル識別子を置き換えます。 内部ネットワークを介したダウンロードは安定しており、安全です。
使用上の注意点
サービスをデプロイするためのResource Orchestration Service (ROS) テンプレートでファイル識別子を定義し、ファイルデプロイパッケージをファイル識別子に関連付けます。 顧客がサービスインスタンスを作成すると、Compute Nestはテンプレート内のファイル識別子を自動的に識別し、サービスインスタンスがデプロイされているリージョンのファイルURLに置き換えます。
次の固定式のいずれかを使用して、ファイル識別子を指定できます。
(推奨) ファイル展開パッケージでプライベートURLを使用する場合は、固定式
{{ computenest::file:: ${key }}}}を使用してファイル識別子を指定します。ファイル展開パッケージでパブリックURLを使用する場合は、固定式
{{ computenest::publicfile ::${ key }}}}を使用してファイル識別子を指定します。説明上記の式では、
${key}はスペースのない文字列を示します。
次のサンプルYAMLファイルは、ファイル配置パッケージを使用するためのファイル識別子を定義する方法を示しています。
テンプレートでファイル識別子を定義する場合は、単一引用符 (') または二重引用符 (") を使用して識別子を囲むことを推奨します。
wgetコマンドを実行してファイルをダウンロードする場合は、-Oパラメーターを使用してダウンロードしたファイルのファイル名を指定することを推奨します。
共通テンプレートにファイル識別子を定義する
次のサンプルコードは、テンプレートの
UserDataセクションでファイル識別子を定義してファイルをダウンロードし、ファイルの名前をTestFirst.txtおよびTestSecond.tarに変更する方法を示しています。TiDBServer: Type: ALIYUN::ECS::InstanceGroup Properties: ... UserData: Fn::Sub: - | #!/bin/sh sleep 10 wget '{{ computenest::file::DemoFirst }}' -O TestFirst.txt wget '{{ computenest::file::DemoSecond }}' -O TestSecond.tar ......MigrateTaskテンプレートでファイル識別子を定義するSQLDump: Type: ALIYUN::RDS::MigrateTask Properties: ... DBName: mytest DBInstanceId: Fn::GetAtt: - Database - DBInstanceId OssObjectPositions: {{ computenest::file::DemoFirst }}
ファイル配置パッケージの作成と使用
前提条件
アップロードするファイルを準備します。
ファイル展開パッケージの作成
デプロイパッケージの基本情報を設定します。
最初に
Compute Nestコンソール 左側のナビゲーションウィンドウで、[サービス展開パッケージ] を選択し、[展開パッケージ] セクションで [展開パッケージの作成] をクリックします。では、配置パッケージ情報セクションで、デプロイパッケージ情報を入力します。
設定アイテム
説明
配置パッケージ名
名前は、漢字、数字、文字、およびアンダースコアで構成されます。 長さは3〜128文字である必要があります。 各漢字は2文字としてカウントされます。 デプロイメントパッケージ名は作成後に変更できません。
配置パッケージのバージョン名
名前は、漢字、数字、文字、およびアンダースコアで構成されます。 長さは3〜50文字である必要があります。 各漢字は2文字としてカウントされます。
配置パッケージの説明
説明の長さは10〜500文字である必要があります。 各漢字は2文字としてカウントされます。
リソースグループ
作成したデプロイメントが属するリソースグループ名を選択します。
リソースグループは、目的、権限、所有権によってクラウドリソースをグループ化し、企業内の複数のユーザーとプロジェクトのリソースの階層管理を実装します。 詳細については、「リソースグループ」をご参照ください。
タグ設定
完全なタグキーとタグ値を選択または入力して、展開パッケージのタグを定義します。 各リソースは最大20個のタグにバインドできます。 タグキーとタグ値が使用できない場合は、カスタムタグを作成できます。 カスタムタグの作成に関する詳細な操作については、「カスタムタグの作成とバインド」をご参照ください。
ファイル展開パッケージを設定します。
[デプロイメントパッケージの内容] セクションで、[デプロイメントパッケージの種類] パラメーターとして [ファイル] を選択します。
[デプロイパッケージのアップロード] パラメーターで、ファイルをアップロードするリージョンを選択します。 次に、アップロードするローカルファイルのサイズに基づいて、[ローカルファイルのアップロード] または [5 GBを超えるファイルのアップロード] を選択します。
オプション。 [スクリプトコマンドの設定] をオンまたはオフにします。 スクリプトコマンドは、サービスインスタンスを更新するために使用されます。 ファイルを関連付けるスクリプトコマンドを設定する必要はありません。
[配布リージョン] パラメーターを設定します。 既定では、[すべてのリージョン] が選択されています。これは、ファイル展開パッケージがすべてのリージョンに配布されることを示します。
クリック配置パッケージの発行.
配置パッケージが公開された後、公開されたバージョンのコンテンツを変更することはできません。 コンテンツを変更するには、新しいバージョンまたは新しい展開パッケージを作成します。
配置パッケージを表示します。
[サービス展開パッケージ] ページに戻ります。 表示するデプロイメントパッケージを見つけ、その名前をクリックします。 [パッケージ] タブで、デプロイの進行状況を表示できます。
ファイル展開パッケージのステータスが利用可能になったら、[操作] 列の [表示] をクリックして、ファイル展開パッケージの配布結果を表示します。

ファイル展開パッケージの使用
この例では、プライベートサービスを作成して、ファイル展開パッケージの使用方法を説明します。
[サービスの作成] ページで、サービスの作成方法として [カスタムサービス] を、サービスタイプとして [プライベートサービス] を選択します。 [次へ: サービスの設定] をクリックします。

プロンプトに従って基本サービス情報を入力します。 テンプレートの種類とテンプレートの作成方法を選択し、[デプロイ方法] パラメーターにROSを選択して、テンプレートの内容を入力します。
ROSテンプレートに
{{ computenest::file::test }}または{{ computenest::publicfile::test }}}が存在する場合、[配置パッケージの関連付け] セクションで [ファイルの関連付けの設定] パラメーターを設定できます。[ソフトウェアパッケージの関連付け] セクションの [展開パッケージの関連付け] をクリックします。 表示されるダイアログボックスで、デプロイパッケージとバージョンを選択し、[OK] をクリックします。


サービスが作成され、テストに合格した後、サービスがCompute Nestのレビュー基準を満たしているかどうかを確認し、レビューのためにサービスを送信します。 詳細については、「レビュー基準」をご参照ください。
サービスが承認されたら、サービスを公開します。 詳細については、「サービスの公開」をご参照ください。
顧客がサービスインスタンスを作成すると、Compute Nestは、テンプレート内のコンテンツを、サービスインスタンスがデプロイされているリージョンのファイルURLに自動的に置き換えて、ファイルデプロイパッケージを使用します。
次の図は、共通テンプレートのファイル識別子を置き換えた後の結果を示しています。
プライベートファイルURLの置き換え結果を次の図に示します。

パブリックファイルURLの置き換え結果を次の図に示します。

MigrateTaskテンプレートで定義されたファイル識別子の場合、Compute NestはファイルデプロイパッケージのファイルURLを
OssObjectPositionsパラメーターに指定された形式に変換します。OssObjectPositionsパラメーターの値は、OSSエンドポイント、OSSバケット名、およびOSSのバックアップファイルキーで構成されます。 3つのセグメントはコロン (
:) で区切られています。 例:oss-ap-southeast-1.aliyuncs.com:rdsmssqlsingapore:autotest_2008R2_TestMigration_FULL.bak詳細については、「ALIYUN::RDS::MigrateTask」をご参照ください。 次の図は、MigrateTaskテンプレートのファイルURLの置き換え結果を示しています。
関連ドキュメント
Compute Nestでサービスを作成する方法の詳細については、「サービスの作成」をご参照ください。
配置パッケージまたは配置パッケージのバージョンが不要になった場合は、削除できます。 詳細については、「デプロイパッケージの削除」をご参照ください。
配布領域やコンテンツなどの配置パッケージを変更する必要がある場合は、新しいバージョンを作成できます。 詳細については、「バージョンの作成」をご参照ください。