ALIYUN::OSS::Bucket リソースタイプは、Object Storage Service (OSS) バケットを作成します。
構文
{
"Type": "ALIYUN::OSS::Bucket",
"Properties": {
"AccessControl": String,
"RefererConfiguration": Map,
"ServerSideEncryptionConfiguration": Map,
"CORSConfiguration": Map,
"Tags": Map,
"LoggingConfiguration": Map,
"LifecycleConfiguration": Map,
"StorageClass": String,
"DeletionForce": Boolean,
"Policy": Map,
"BucketName": String,
"RedundancyType": String,
"VersioningConfiguration": Map,
"ResourceGroupId": String,
"EnableOssHdfsService": Boolean,
"WebsiteConfigurationV2": Map,
"BlockPublicAccess": Boolean
}
}プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
バケット名 | 文字列 | はい | いいえ | バケットの名前。 | 名前は 3~63 文字で、先頭と末尾は小文字または数字である必要があります。使用できる文字は小文字、数字、ハイフン (-) のみです。 説明 この名前はグローバルに一意である必要があります。AssociationProperty の AutoCompleteInput を使用すると、ランダムな文字列を自動生成できます。詳細については、「ランダム文字列の長さを制御する方法」をご参照ください。 |
アクセス制御 | 文字列 | いいえ | はい | バケットへのアクセス権限です。 | 有効な値:
|
CORS構成 | マップ | いいえ | はい | オリジン間リソース共有 (CORS) 構成です。 | 詳細については、「CORSConfiguration プロパティ」をご参照ください。 |
削除強制 | ブール値 | いいえ | はい | バケット内のオブジェクトを強制削除するかどうかを指定します。 | 有効な値:
|
EnableOssHdfsService | ブール値 | いいえ | はい | OSS-HDFS サービスを有効にするかどうかを指定します。 | 有効な値:
|
BlockPublicAccess | Boolean | いいえ | はい | バケットへのパブリックアクセスをブロックするかどうかを指定します。 | 有効な値:
|
ライフサイクル設定 | マップ | いいえ | はい | バケット内のオブジェクトに対するライフサイクル構成です。 | 詳細については、「LifecycleConfiguration のプロパティ」をご参照ください。 |
ログ記録構成 | マップ | いいえ | いいえ | ログストレージ構成です。 | 詳細については、「LoggingConfiguration プロパティ」をご参照ください。 |
ポリシー | マップ | いいえ | はい | バケットポリシーです。 | 詳細については、「一般的なバケットポリシーの例」をご参照ください。 |
冗長性タイプ | 文字列 | いいえ | いいえ | バケットのデータ冗長タイプです。 | 有効な値:
|
リファラー設定 | マップ | いいえ | はい | ホットリンク保護の設定。 | 詳細については、「RefererConfiguration プロパティ」をご参照ください。 |
ResourceGroupId | 文字列 | いいえ | いいえ | リソースグループの ID。 | なし |
サーバー側暗号化設定 | マップ | いいえ | はい | サーバ側暗号化構成です。 | 詳細については、「ServerSideEncryptionConfiguration プロパティ」をご参照ください。 |
StorageClass | 文字列 | いいえ | いいえ | バケットのストレージクラスです。 | 有効な値:
|
タグ | マップ | いいえ | はい | バケットのタグです。各タグはキーと値のペアで構成されます。 | 最大 20 個のタグを設定できます。 キーの長さは 1~64 文字で、 値の長さは 0~128 文字で、UTF-8 でエンコードされている必要があります。 |
バージョン管理の設定 | マップ | いいえ | はい | バージョン管理ステータスを格納するコンテナーです。 | 詳細については、「VersioningConfiguration のプロパティ」をご参照ください。 |
WebsiteConfigurationV2 | マップ | いいえ | いいえ | Web サイトの設定。 | 詳細については、「WebsiteConfigurationV2 のプロパティ」をご参照ください。 |
CORSConfiguration 構文
"CORSConfiguration": {
"CORSRule": List,
"ResponseVary": Boolean
}CORSConfiguration プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
CORSRule | リスト | いいえ | はい | CORS ルールです。 | 詳細については、「CORSRule プロパティ」をご参照ください。 |
レスポンス Vary | ブール値 | いいえ | はい |
| 有効な値:
説明 このフィールドは単独では設定できません。このフィールドを有効にするには、少なくとも 1 つの CORS ルールを設定する必要があります。 |
CORSRule 構文
"CORSRule": [
{
"MaxAgeSeconds": Number,
"AllowedMethod": List,
"ExposeHeader": List,
"AllowedOrigin": List,
"AllowedHeader": List
}
]CORSRule プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
許可されたヘッダー | リスト | いいえ | はい | クロスオリジンリクエストで許可されるヘッダーです。 | 有効な値:
|
許可されたメソッド | リスト | いいえ | はい | クロスオリジンリクエストで許可される HTTP メソッドです。 | 有効な値:
|
許可されたオリジン | リスト | いいえ | はい | クロスオリジンリクエストで許可されるオリジンです。 | なし |
ExposeHeader | リスト | いいえ | はい | ユーザーがアプリケーションからアクセスできるレスポンスヘッダー。 | アスタリスク (*) は使用できません。 |
MaxAgeSeconds | 番号 | いいえ | はい | ブラウザが特定のリソースに対する OPTIONS リクエストの結果をキャッシュする時間です。 | なし |
LifecycleConfiguration 構文
"LifecycleConfiguration": {
"Rule": List
}LifecycleConfiguration のプロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
ルール | リスト | はい | いいえ | ライフサイクルルールです。 | 詳細については、「ルールのプロパティ」をご参照ください。 |
ルール構文
"Rule": [
{
"Status": String,
"AbortMultipartUpload": Map,
"Expiration": Map,
"Prefix": String,
"ID": String,
"Filter": Map,
"Transition": List
}
]ルール プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
プレフィックス | 文字列 | はい | いいえ | ルールが適用されるプレフィックス。 | 名前がこのプレフィックスに一致するオブジェクトのみがルールの影響を受けます。 |
マルチパートアップロードの中止 | マップ | いいえ | いいえ | 未完了のマルチパートアップロードの有効期限設定です。 | 詳細については、「AbortMultipartUpload プロパティ」をご参照ください。 |
有効期限 | マップ | いいえ | いいえ | オブジェクトの有効期限設定です。 | 詳細については、「有効期限のプロパティ」をご参照ください。 |
ID | 文字列 | いいえ | いいえ | ルールの固有 ID。 | ID の長さは最大 255 文字です。ID を指定しない場合や空の場合、OSS が自動的に一意な ID を生成します。 |
ステータス | 文字列 | いいえ | はい | ルールを有効または無効にします。 | 有効な値:
|
フィルタ | マップ | いいえ | いいえ | この除外ルールは 1 つの条件のみをサポートします。 | 詳細については、「Filter のプロパティ」をご参照ください。 |
Transition | List | いいえ | いいえ | ストレージ冗長性の移行タスクのリストです。 | 詳細については、「Transition のプロパティ」をご参照ください。 |
Transition 構文
"Transition": [
{
"CreatedBeforeDate": String,
"Days": Integer,
"IsAccessTime": Boolean,
"ReturnToStdWhenVisit": Boolean,
"AllowSmallFile": Boolean,
"StorageClass": String
}
]Transition のプロパティ
プロパティ名 | タイプ | 必須 | 更新を許可 | 説明 | 制約 |
CreatedBeforeDate | String | いいえ | いいえ | 日付を指定します。OSS は、最終更新時刻がこの日付より前のオブジェクトにライフサイクルルールを適用します。 | 日付は ISO 8601 形式に従い、UTC 時間の午前 0 時 (00:00:00) である必要があります。 |
Days | Integer | いいえ | いいえ | オブジェクトの最終更新後、ライフサイクルルールが適用されるまでの日数を指定します。 | 有効な値: 30、90、180 などの正の整数。 |
IsAccessTime | Boolean | いいえ | いいえ | ライフサイクルルールをオブジェクトの最終アクセス時刻に基づいて適用するかどうかを指定します。 |
|
ReturnToStdWhenVisit | Boolean | いいえ | いいえ | 非標準ストレージクラスのオブジェクトにアクセスされた際に、そのストレージクラスを Standard に戻すかどうかを指定します。 | このオプションは、IsAccessTime が true に設定されている場合にのみ有効です。 |
AllowSmallFile | Boolean | いいえ | いいえ | 操作をオブジェクトの最終アクセス時刻に基づくかどうかを指定します。 | 64 KB 未満のオブジェクトのストレージクラスを IA、Archive、または Cold Archive に変更します。 |
StorageClass | String | いいえ | いいえ | オブジェクトが変更されるストレージクラスです。 | 有効な値:
|
フィルタ構文
"Filter":{
"Not": Map
}Filter のプロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
Not | マップ | いいえ | いいえ | 除外ルール。 | 詳細については、「Not のプロパティ」をご参照ください。 |
構文ではない
"Not":{
"Tag": List,
"Prefix": String
}プロパティではありません
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
タグ | リスト | いいえ | いいえ | 除外ルールのタグです。 | この除外ルールは、最大で 1 つのオブジェクトタグに適用されます。 |
プレフィックス | 文字列 | いいえ | いいえ | ルールのプレフィックスです。 | この除外ルールに適用されるオブジェクトプレフィックスの条件は以下のとおりです:
要するに、除外ルールを設定する際、親ルールでプレフィックスを定義している場合、Not ノードのプレフィックスは親プレフィックスのサブセットまたは特定のインスタンスである必要があります。同一であってはならず、タグを設定した場合を除きます。この設計により、クラウドストレージ、データバックアップ、コンテンツフィルタリングなどのシナリオで、細かい粒度かつ柔軟なファイルまたはオブジェクトのフィルタリングが可能になります。 |
有効期限の構文
"Expiration":{
"Days": Number,
"CreatedBeforeDate": String,
"ExpiredObjectDeleteMarker": Boolean
}有効期限のプロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
作成日以前 | 文字列 | いいえ | いいえ | 日付を指定します。OSS は、最終更新時刻がこの日付より前のオブジェクトにルールを適用します。 | 日付は ISO 8601 形式に従い、UTC 時間の午前 0 時 (00:00:00) である必要があります。例: |
日数 | 番号 | いいえ | いいえ | オブジェクトの最終更新後、ルールが適用されるまでの日数を指定します。 | OSS はオブジェクトの最終更新時刻から日数を計算します。指定された日数が経過すると、OSS はオブジェクトを削除します。たとえば、日数を 30 に設定した場合、最終更新日が 2016 年 1 月 1 日のオブジェクトは、2016 年 1 月 31 日に削除されます。 |
失効オブジェクト削除マーカー | ブール値 | いいえ | いいえ | 期限切れの削除マーカーを自動的に削除するかどうかを指定します。 | 有効な値:
|
AbortMultipartUpload 構文
"AbortMultipartUpload": {
"CreatedBeforeDate": String,
"Days": Number
}AbortMultipartUpload プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
作成日以前 | 文字列 | いいえ | いいえ | ルールが適用される日付を指定します。 | 日付は ISO 8601 形式に従い、UTC 時間の午前 0 時 (00:00:00) である必要があります。例: |
日数 | 番号 | いいえ | いいえ | オブジェクトの最終更新後、ルールが適用されるまでの日数を指定します。 | OSS はオブジェクトの最終更新時刻から日数を計算します。指定された日数が経過すると、OSS はオブジェクトを削除します。たとえば、日数を 30 に設定した場合、最終更新日が 2016 年 1 月 1 日のオブジェクトは、2016 年 1 月 31 日に削除されます。 |
LoggingConfiguration 構文
"LoggingConfiguration": {
"TargetBucket": String,
"TargetPrefix": String
}LoggingConfiguration プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
ターゲットバケット | 文字列 | No | いいえ | アクセスログが保存されるバケット。 | なし |
TargetPrefix | 文字列 | No | いいえ | 保存されたアクセスログファイルのプレフィックス。 | なし |
WebsiteConfigurationV2 構文
"WebsiteConfiguration":{
"RoutingRules": List,
"IndexDocument": Map,
"ErrorDocument": Map
}WebsiteConfigurationV2 プロパティ
プロパティ名 | タイプ | 必須 | 更新を許可 | 説明 | 制約 |
ErrorDocument | Map | いいえ | いいえ | バケットにホストされている静的エラーページです。 | なし |
IndexDocument | Map | いいえ | いいえ | バケットにホストされている静的ホームページです。 | なし |
RoutingRules | List | いいえ | いいえ | ルーティングルールのリスト。 | 最大長: 20。 |
IndexDocument 構文
"IndexDocument":{
"Suffix": String,
"Type": String,
"SupportSubDir": String
}IndexDocument プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
接尾辞 | 文字列 | はい | いいえ | デフォルトインデックスページです。 | デフォルトインデックスページを設定した後、末尾がスラッシュ (/) で終わるオブジェクトにアクセスすると、OSS はこのデフォルトインデックスページを返します。 |
種類 | 文字列 | いいえ | いいえ | デフォルトインデックスページを設定した後、存在しないオブジェクトにアクセスし、そのオブジェクト名がスラッシュ (/) で終わっていない場合の動作を指定します。 | このルールは SupportSubDir が true に設定されている場合にのみ有効であり、RoutingRule の後に、ErrorFile の前に適用されます。デフォルトインデックスページが index.html であると仮定します。bucket.oss-cn-hangzhou.aliyuncs.com/abc にアクセスし、オブジェクト abc が存在しない場合、Type の値ごとの動作は以下のとおりです:
|
サポートサブディレクトリ | 文字列 | いいえ | いいえ | サブディレクトリにアクセスした際に、そのサブディレクトリのデフォルトホームページにリダイレクトするかどうかを指定します。 | 有効な値:
|
RoutingRules 構文
"RoutingRules":[{
"Redirect": Map,
"Condition": Map,
"RuleNumber": Integer
}]ルーティング規則のプロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
リダイレクト | マップ | はい | いいえ | ルールが一致した場合に実行する操作を指定します。 | 詳細については、「Redirect のプロパティ」をご参照ください。 |
条件 | マップ | はい | いいえ | 一致条件です。 | このルールは、指定されたすべての条件が満たされた場合にのみ有効になります。このコンテナー内のすべての条件が満たされた場合にのみ、一致が成功します。詳細については、「Condition プロパティ」をご参照ください。 |
ルール番号 | 整数 | はい | いいえ | 一致および実行するルーティングルールのシーケンス番号です。OSS はこのシーケンス番号の順序でルールを一致させます。 | 一致が成功した場合、OSS はこのルールを実行し、後続のルールの実行を停止します。 |
条件構文
"Condition":{
"KeyPrefixEquals": String,
"HttpErrorCodeReturnedEquals": String,
"IncludeHeaders": List,
"KeySuffixEquals": String
}条件のプロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
KeyPrefixEquals | 文字列 | No | いいえ | 一致させるオブジェクト名のプレフィックス。 | None. |
HttpErrorCodeReturnedEquals | 文字列 | No | いいえ | 指定されたオブジェクトにアクセスした際に返される HTTP ステータスコードが、ルールの一致条件となります。 | このフィールドは、ミラーリングベースのオリジンフェッチを使用するリダイレクトルールにおいて、404 である必要があります。 |
IncludeHeaders | リスト | No | いいえ | リクエストに指定されたヘッダーが含まれ、その値が指定された値と一致する場合にのみ、ルールが一致します。 | 最大 10 個の条件を設定できます。詳細については、「IncludeHeaders プロパティ」をご参照ください。 |
KeySuffixEquals | 文字列 | いいえ | いいえ | 一致させるオブジェクト名のサフィックス。 | None. |
IncludeHeaders 構文
"IncludeHeaders": [
{
"Equals": String,
"Key": String
}
]IncludeHeaders プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
等しい | 文字列 | No | いいえ | ヘッダーの値。 | なし |
キー | 文字列 | はい | いいえ | ヘッダーの名前。 | なし |
RefererConfiguration 構文
"RefererConfiguration":{
"AllowEmptyReferer": String,
"RefererList": List
}RefererConfiguration プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
空の Referer を許可する | ブール値 | No | いいえ | Referer ヘッダーが空のリクエストがバケットにアクセスすることを許可するかどうかを指定します。 | 有効な値:
|
リファラーリスト | リスト | No | いいえ | Referer ヘッダーのホワイトリストです。 | なし |
リダイレクト構文
"Redirect":{
"MirrorFollowRedirect": Boolean,
"MirrorURL": String,
"PassQueryString": Boolean,
"MirrorPassQueryString": Boolean,
"ReplaceKeyWith": String,
"Protocol": String,
"HttpRedirectCode": String,
"ReplaceKeyPrefixWith": String,
"RedirectType": String,
"MirrorHeaders": Map,
"MirrorCheckMd5": Boolean,
"EnableReplacePrefix": Boolean,
"HostName": String
}リダイレクトのプロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
MirrorFollowRedirect | ブール値 | いいえ | いいえ | ミラーリングベースのオリジンフェッチリクエストの結果が 3xx ステータスコードを返した場合に、指定された Location にリダイレクトを継続してデータを取得するかどうかを指定します。 | この設定は RedirectType が Mirror に設定されている場合にのみ有効です。たとえば、オリジンサーバーにリクエストをミラーリングした際に、オリジンサーバーが 302 ステータスコードと Location ヘッダーを返す場合があります。
|
MirrorURL | 文字列 | いいえ | いいえ | ミラーリングベースのオリジンフェッチ用のオリジンサーバー URL です。 | この設定は RedirectType が Mirror に設定されている場合にのみ有効です。オリジン URL は http:// または https:// で始まり、スラッシュ (/) で終わる必要があります。OSS はこの URL にオブジェクト名を追加して、最終的な URL を形成します。たとえば、オブジェクト名が myobject で、このパラメーターを http://example.com/ に設定した場合、オリジンフェッチ URL は http://example.com/myobject になります。このパラメーターを http://example.com/dir1/ に設定した場合、オリジンフェッチ URL は http://example.com/dir1/myobject になります。 |
PassQueryString | ブール値 | いいえ | いいえ | リダイレクトまたはミラーリングベースのオリジンフェッチを実行する際に、クエリパラメーターを含めるかどうかを指定します。 | たとえば、ユーザーがクエリパラメーター a=b&c=d を使用して OSS にアクセスし、PassQueryString が true に設定されている場合、クエリパラメーターは 302 リダイレクトの Location ヘッダーに追加されます(例:Location: example.com?a=b&c=d)。ルールタイプがミラーリングベースのオリジンフェッチの場合、クエリパラメーターはオリジンフェッチリクエストにも含まれます。有効値:true、false(デフォルト)。 |
MirrorPassQueryString | ブール値 | いいえ | いいえ | PassQueryString と同じですが、PassQueryString よりも優先されます。この設定は RedirectType が Mirror に設定されている場合にのみ有効です。 | デフォルト値: false。 |
置換後のキー | 文字列 | いいえ | いいえ | Redirect ルールを使用する際、オブジェクト名は ReplaceKeyWith で指定された値に置き換えられます。これにより、変数を使用できます。 | サポートされている唯一の変数は {key} で、リクエスト内のオブジェクト名を表します。たとえば、test という名前のオブジェクトにアクセスし、ReplaceKeyWith を prefix/{key} に設定した場合、Location ヘッダーは http://example.com/prefix/test.suffix を指します。 つまり、クライアントが元のオブジェクト(例:test)をリクエストすると、サーバーはリクエストを新しい場所にリダイレクトします。新しい場所のパスは、ReplaceKeyWith で定義されたパターンに基づいて動的に生成されます。この例では、新しいパスに元のオブジェクト名(test)の前に「prefix/」が追加され、最終的なリダイレクト URL は「http://example.com/prefix/test.suffix」となります。「.suffix」の部分は固定されており、「${key}」はオブジェクト名「test」に正常に置き換えられています。 |
プロトコル | 文字列 | いいえ | いいえ | リダイレクトに使用するプロトコルです。 | このルールは RedirectType が External または AliCDN に設定されている場合にのみ適用されます。たとえば、test という名前のファイルにアクセスし、HTTPS を使用して example.com にリダイレクトしたい場合、HTTP 応答の Location ヘッダーは「https://example.com/test」に設定する必要があります。有効値:http、https。 |
Httpリダイレクトコード | 文字列 | いいえ | いいえ | リダイレクト中に返される HTTP ステータスコードです。 | これは RedirectType が External または AliCDN に設定されている場合にのみ適用されます。デフォルト値:302。有効値:301、302、307。 |
ReplaceKeyPrefixWith | 文字列 | いいえ | いいえ | リダイレクト時にオブジェクト名のプレフィックスを置き換える値です。プレフィックスが空の場合、この文字列がオブジェクト名の前に挿入されます。 | 説明 ReplaceKeyWith または ReplaceKeyPrefixWith プロパティのいずれか一方のみを使用できます。たとえば、オブジェクト名が ABC/test.TXT で、KeyPrefixEquals が ABC/ に設定されており、ReplaceKeyPrefixWith が def/ に設定されている場合、Location ヘッダーは http://example.com/def/test.txt を指します。 |
リダイレクトの種類 | 文字列 | はい | いいえ | リダイレクトのタイプです。 | 有効な値:
|
MirrorHeaders | マップ | いいえ | いいえ | オリジンサーバーにミラーリングするヘッダーです。 | この設定は、RedirectType が Mirror に設定されている場合にのみ有効です。詳細については、「MirrorHeaders のプロパティ」をご参照ください。 |
MirrorCheckMd5 | ブール値 | いいえ | いいえ | オリジンサーバーから取得したデータの MD5 ハッシュを検証するかどうかを指定します。 | この設定は RedirectType が Mirror に設定されている場合にのみ有効です。MirrorCheckMd5 が true に設定されている場合、オリジンサーバーが応答で Content-MD5 ヘッダーを返すと、OSS は取得したデータの MD5 ハッシュがヘッダーと一致するかどうかを検証します。一致しない場合、OSS はデータを OSS に保存しません。デフォルト値:false。 |
置換プレフィックスの有効化 | ブール値 | いいえ | いいえ | true に設定すると、オブジェクト名のプレフィックスは ReplaceKeyPrefixWith で指定された値に置き換えられます。このフィールドが指定されていない場合や空の場合、オブジェクト名のプレフィックスは切り捨てられます。 | 注:ReplaceKeyWith が空でない場合、このフィールドを true に設定することはできません。デフォルト値:false。 |
ホスト名 | 文字列 | いいえ | いいえ | リダイレクト用のドメイン名です。 | ドメイン名はドメイン名規則に従う必要があります。たとえば、ファイル名が test で、プロトコルが https、ホスト名が example.com に設定されている場合、Location ヘッダーは https://example.com/test になります。 |
MirrorHeaders 構文
"MirrorHeaders":{
"Remove": List,
"PassAll": Boolean,
"Sets": List,
"Pass": List
}MirrorHeaders プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
削除 | リスト | いいえ | いいえ | 指定されたヘッダーをオリジンサーバーに渡さないようにします。 | これは RedirectType が Mirror に設定されている場合にのみ適用されます。各ヘッダーの長さは最大 1,024 バイトで、使用できる文字は 0-9、a-z、A-Z、ハイフン (-) のみです。最大 10 個のヘッダーを指定できます。 |
PassAll | ブール値 | いいえ | いいえ | 以下にリストされているヘッダーを除くすべてのヘッダーをオリジンサーバーに渡すかどうかを指定します。 | これは RedirectType が Mirror に設定されている場合にのみ適用されます。除外するヘッダーには以下が含まれます:- content-length、authorization2、authorization、range、date などの一般ヘッダー - oss-、x-oss-、x-drs- で始まるヘッダー デフォルト値: false つまり、これらの特定のヘッダーはデフォルトでミラーソースに渡されます。この動作を変更するには、この値を true に設定して、これらのヘッダーが渡されないようにします。 |
セット | リスト | いいえ | いいえ | オリジンサーバーにヘッダーを設定します。このヘッダーは、リクエストに指定されたヘッダーが含まれているかどうかに関係なく、オリジンサーバーへのリクエスト送信時に設定されます。 | この機能は RedirectType が Mirror に設定されている場合にのみ適用されます。最大 10 組のヘッダーを設定できます。詳細については、「Sets プロパティ」をご参照ください。 |
Pass | リスト | いいえ | いいえ | 指定されたヘッダーをオリジンサーバーに渡します。 | これは、RedirectType が Mirror に設定されている場合にのみ適用されます。各ヘッダーの長さは最大 1,024 バイトで、0-9、a-z、A-Z、およびハイフン (-) の文字のみを含めることができます。最大 10 個のヘッダーを指定できます。 |
セットの構文
"Sets": [
{
"Value": String,
"Key": String
}
]プロパティを設定します
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
値 | 文字列 | はい | いいえ | ヘッダー値を、\r\n を除く最大 1,024 バイトで設定します。 | この設定は、RedirectType が Mirror に設定されている場合のみ有効です。 |
キー | 文字列 | はい | いいえ | ヘッダーのキーを最大 1,024 バイトで設定します。文字セットは Pass と同一です。 | この設定は、RedirectType が Mirror に設定されている場合のみ有効です。 |
ErrorDocument 構文
"ErrorDocument":{
"Key": String,
"HttpStatus": String
}ErrorDocument プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
キー | 文字列 | はい | いいえ | デフォルトのエラーページ。 | エラーページを指定した場合、OSS はリクエストされたオブジェクトが存在しないときにこのエラーページを返します。 |
HttpStatus | 文字列 | いいえ | いいえ | エラーページに対応する HTTP ステータスコードです。 | 有効な値: 200、404 (デフォルト)。 |
ServerSideEncryptionConfiguration 構文
"ServerSideEncryptionConfiguration":{
"KMSMasterKeyID": String,
"SSEAlgorithm": String
}ServerSideEncryptionConfiguration プロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
SSEアルゴリズム | 文字列 | はい | いいえ | デフォルトのサーバ側暗号化メソッド。 | 有効な値:
|
KMSMasterKeyID | 文字列 | いいえ | いいえ | キー ID。 | SSEAlgorithm が KMS に設定されており、かつ暗号化に指定のキーを使用する場合にのみ必須です。 |
VersioningConfiguration 構文
"VersioningConfiguration":{
"Status": String
}VersioningConfiguration のプロパティ
プロパティ名 | 種類 | 必須 | 更新を許可 | 説明 | 制約 |
ステータス | 文字列 | はい | いいえ | バージョン管理ステータス。 | 有効な値:
|
戻り値
Fn::GetAtt
名前:バケットの名前。この名前はグローバルに一意である必要があります。
ドメイン名:パブリックネットワーク経由でバケットにアクセスする際に使用されるドメイン名。
内部ドメイン名:内部ネットワーク経由でバケットにアクセスする際に使用されるドメイン名。
Arn: Alibaba Cloud リソースネーム (ARN)。
例
シナリオ 1:OSS バケットの作成
ROSTemplateFormatVersion: '2015-09-01'
Description: シンプルな OSS バケットを作成します
Parameters:
BucketName:
AssociationProperty: AutoCompleteInput
AssociationPropertyMetadata:
Length: 5
Prefix: simple-oss-bucket
CharacterClasses:
- Class: lowercase
min: 1
Type: String
Label:
en: バケット名
Outputs:
BucketDomainName:
Value:
Fn::GetAtt:
- MyBucket
- DomainName
Resources:
MyBucket:
Type: ALIYUN::OSS::Bucket
Properties:
AccessControl: private
BucketName:
Ref: BucketName
Metadata: {}
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "シンプルな OSS バケットを作成します",
"Parameters": {
"BucketName": {
"Type": "String",
"Label": {
"en": "バケット名"
},
"AssociationProperty": "AutoCompleteInput",
"AssociationPropertyMetadata": {
"Length": 5 ,
"Prefix": "simple-oss-bucket",
"CharacterClasses": [
{
"Class": "lowercase",
"min": 1
}
]
}
}
},
"Metadata": {
},
"Resources": {
"MyBucket": {
"Type": "ALIYUN::OSS::Bucket",
"Properties": {
"AccessControl": "private",
"BucketName": {
"Ref": "BucketName"
}
}
}
},
"Outputs": {
"BucketDomainName": {
"Value": {
"Fn::GetAtt": [
"MyBucket",
"DomainName"
]
}
}
}
}シナリオ 2:OSS バケットの作成、CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化
en: OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化
Parameters:
Scope:
Type: String
Label:
zh-cn: 加速エリア
en: 加速エリア
Description:
zh-cn: 加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。
en: 加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。
Default: domestic
AllowedValues:
- domestic
- overseas
- global
DomainName:
Type: String
Label:
zh-cn: CDN ドメイン名
en: CDN ドメイン名
Description:
zh-cn: CDN ドメイン名とは、オリジンサーバーへのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。
en: CDN ドメイン名とは、オリジンサイトのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。
BucketName:
Type: String
Label:
en: Bucket Name
zh-cn: Bucket Name
Description:
en: 名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>OSS 内でバケット名はグローバルに一意である必要があります。バケット作成後に名前を変更することはできません。</font>
zh-cn: 名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>
AssociationProperty: AutoCompleteInput
AssociationPropertyMetadata:
Length: 6
Prefix: image-example-
CharacterClasses:
- Class: lowercase
min: 1
Resources:
OssBucket:
Type: ALIYUN::OSS::Bucket
DependsOn: AutoEnableOSS
Properties:
BucketName:
Ref: BucketName
DeletionForce: true
AutoEnableCDN:
Type: ALIYUN::ROS::AutoEnableService
Properties:
ServiceName: CDN
AutoEnableOSS:
Type: ALIYUN::ROS::AutoEnableService
Properties:
ServiceName: OSS
Domain:
Type: ALIYUN::CDN::Domain
Properties:
Sources:
Fn::Sub:
- '[{"content":"${content}", "type":"oss", "priority":"20", "port":80, "weight":"10"}]'
- content:
Fn::GetAtt:
- OssBucket
- DomainName
CdnType: web
Scope:
Ref: Scope
DomainName:
Ref: DomainName
DependsOn: AutoEnableCDN
DomainRecord:
Type: ALIYUN::DNS::DomainRecord
Properties:
Type: CNAME
RR:
Fn::Select:
- 0
- Fn::Split:
- .
- Ref: DomainName
Value:
Fn::GetAtt:
- Domain
- Cname
DomainName:
Fn::Join:
- .
- Fn::Select:
- '1:'
- Fn::Split:
- .
- Ref: DomainName
DependsOn: Domain
DomainConfig:
Type: ALIYUN::CDN::DomainConfig
Properties:
FunctionList:
- FunctionArgs:
- ArgName: file_type
ArgValue: jpg,png,jpeg
- ArgName: weight
ArgValue: '99'
- ArgName: ttl
ArgValue: '7776000'
FunctionName: filetype_based_ttl_set
- FunctionArgs:
- ArgName: private_oss_auth
ArgValue: 'on'
- ArgName: perm_private_oss_tbl
ArgValue: ''
FunctionName: l2_oss_key
- FunctionArgs:
- ArgName: filetype
ArgValue: jpeg
- ArgName: webp
ArgValue: 'off'
- ArgName: orient
ArgValue: 'off'
- ArgName: slim
ArgValue: '90'
- ArgName: enable
ArgValue: 'on'
FunctionName: image_transform
DomainNames:
Ref: Domain
DependsOn: DomainRecord
Outputs:
Cname:
Description: CNAME ドメイン名
Value:
Fn::GetAtt:
- Domain
- Cname
DomainName:
Description: ドメイン名
Value:
Ref: Domain
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- Scope
- DomainName
- BucketName
<br/><br/>{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化",
"en": "OSS バケットの作成と CDN 加速の有効化、ドメイン名の名前解決設定、およびグローバルアクセスとカスタムキャッシュルールをサポートするファイル配信戦略の最適化"
},
"Parameters": {
"Scope": {
"Type": "String",
"Label": {
"zh-cn": "加速エリア",
"en": "加速エリア"
},
"Description": {
"zh-cn": "加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。",
"en": "加速エリアを選択します。加速リージョンが中国本土のみまたはグローバルの場合、サービス用ドメイン名には ICP 登録が必要です。"
},
"Default": "domestic",
"AllowedValues": [
"domestic",
"overseas",
"global"
]
},
"DomainName": {
"Type": "String",
"Label": {
"zh-cn": "CDN ドメイン名",
"en": "CDN ドメイン名"
},
"Description": {
"zh-cn": "CDN ドメイン名とは、オリジンサーバーへのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。",
"en": "CDN ドメイン名とは、オリジンサイトのアクセスを高速化するために CDN に登録されたドメイン名です。ご利用のアカウントに属するドメイン名を入力してください。"
}
},
"BucketName": {
"Type": "String",
"Label": {
"en": "Bucket Name",
"zh-cn": "Bucket Name"
},
"Description": {
"en": "名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>OSS 内でバケット名はグローバルに一意である必要があります。バケット作成後に名前を変更することはできません。</font>",
"zh-cn": "名前の長さは 3~63 文字で、先頭および末尾は小文字または数字である必要があります。使用可能な文字は小文字、数字、およびハイフン (-) のみです。<br/><b>注:<font color='blue'>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>"
},
"AssociationProperty": "AutoCompleteInput",
"AssociationPropertyMetadata": {
"Length": 6,
"Prefix": "image-example-",
"CharacterClasses": [
{
"Class": "lowercase",
"min": 1
}
]
}
}
},
"Resources": {
"OssBucket": {
"Type": "ALIYUN::OSS::Bucket",
"DependsOn": "AutoEnableOSS",
"Properties": {
"BucketName": {
"Ref": "BucketName"
},
"DeletionForce": true
}
},
"AutoEnableCDN": {
"Type": "ALIYUN::ROS::AutoEnableService",
"Properties": {
"ServiceName": "CDN"
}
},
"AutoEnableOSS": {
"Type": "ALIYUN::ROS::AutoEnableService",
"Properties": {
"ServiceName": "OSS"
}
},
"Domain": {
"Type": "ALIYUN::CDN::Domain",
"Properties": {
"Sources": {
"Fn::Sub": [
"[{\"content\":\"${content}\", \"type\":\"oss\", \"priority\":\"20\", \"port\":80, \"weight\":\"10\"}]",
{
"content": {
"Fn::GetAtt": [
"OssBucket",
"DomainName"
]
}
}
]
},
"CdnType": "web",
"Scope": {
"Ref": "Scope"
},
"DomainName": {
"Ref": "DomainName"
}
},
"DependsOn": "AutoEnableCDN"
},
"DomainRecord": {
"Type": "ALIYUN::DNS::DomainRecord",
"Properties": {
"Type": "CNAME",
"RR": {
"Fn::Select": [
0,
{
"Fn::Split": [
".",
{
"Ref": "DomainName"
}
]
}
]
},
"Value": {
"Fn::GetAtt": [
"Domain",
"Cname"
]
},
"DomainName": {
"Fn::Join": [
".",
{
"Fn::Select": [
"1:",
{
"Fn::Split": [
".",
{
"Ref": "DomainName"
}
]
}
]
}
]
}
},
"DependsOn": "Domain"
},
"DomainConfig": {
"Type": "ALIYUN::CDN::DomainConfig",
"Properties": {
"FunctionList": [
{
"FunctionArgs": [
{
"ArgName": "file_type",
"ArgValue": "jpg,png,jpeg"
},
{
"ArgName": "weight",
"ArgValue": "99"
},
{
"ArgName": "ttl",
"ArgValue": "7776000"
}
],
"FunctionName": "filetype_based_ttl_set"
},
{
"FunctionArgs": [
{
"ArgName": "private_oss_auth",
"ArgValue": "on"
},
{
"ArgName": "perm_private_oss_tbl",
"ArgValue": ""
}
],
"FunctionName": "l2_oss_key"
},
{
"FunctionArgs": [
{
"ArgName": "filetype",
"ArgValue": "jpeg"
},
{
"ArgName": "webp",
"ArgValue": "off"
},
{
"ArgName": "orient",
"ArgValue": "off"
},
{
"ArgName": "slim",
"ArgValue": "90"
},
{
"ArgName": "enable",
"ArgValue": "on"
}
],
"FunctionName": "image_transform"
}
],
"DomainNames": {
"Ref": "Domain"
}
},
"DependsOn": "DomainRecord"
}
},
"Outputs": {
"Cname": {
"Description": "CNAME ドメイン名",
"Value": {
"Fn::GetAtt": [
"Domain",
"Cname"
]
}
},
"DomainName": {
"Description": "ドメイン名",
"Value": {
"Ref": "Domain"
}
}
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"Scope",
"DomainName",
"BucketName"
]
}
]
}
}
}<br/><br/>シナリオ 3:ECS インスタンスおよび OSS バケットの作成、アプリケーションのインストール、およびテキストから画像生成およびポートレート強調サービスの実装
ROSTemplateFormatVersion: '2015-09-01'
Mappings: {}
Parameters:
DashScopeApiKey:
NoEcho: true
Label:
zh-cn: DashScope API-KEY
en: DashScope API-KEY
Type: String
Description:
zh-cn: DashScope を有効化して API キーを取得します。詳細については、「<a href="https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key" target="_blank">DashScope の有効化と API キーの作成</a>」をご参照ください。
en: DashScope を有効化して API-KEY を取得します。詳しくは、「<a href="https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key" target="_blank">DashScope の有効化と API キーの作成</a>」をご参照ください。
AssociationProperty: ALIYUN::DashScope::ApiKey
CommonName:
Default: wanxiang
Type: String
InstancePassword:
Description:
zh-cn: サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
en: サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
Default: Null
Type: String
Label:
zh-cn: インスタンスパスワード
en: インスタンスパスワード
NoEcho: true
AssociationProperty: ALIYUN::ECS::Instance::Password
ConstraintDescription:
zh-cn: パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
en: パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。
ZoneId:
AssociationPropertyMetadata:
AutoSelectFirst: true
Default: Null
Required: true
Label:
zh-cn: 可用性ゾーン
en: 可用性ゾーン
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Type: String
BucketName:
AssociationPropertyMetadata:
Length: 5
Prefix: drawing-with-tongyi-wanxiang-
CharacterClasses:
- Class: lowercase
min: 1
Description:
zh-cn: 名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>
en: 長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>ネットワーク全体で一意である必要があります。既存の名前では作成できません。</font>
MinLength: 3
Label:
zh-cn: Bucket Name
en: Bucket Name
AllowedPattern: ^[a-z0-9]+[a-z0-9\-]*[a-z0-9]+$
Type: String
MaxLength: 63
AssociationProperty: AutoCompleteInput
ConstraintDescription:
zh-cn: 名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。
en: 長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。
InstanceType:
AssociationPropertyMetadata:
SystemDiskCategory: cloud_essd
InstanceChargeType: PostPaid
ZoneId: ${ZoneId}
Default: Null
Required: true
Label:
zh-cn: インスタンスタイプ
en: インスタンスタイプ
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
Type: String
Outputs:
EcsLoginAddress:
Description:
zh-cn: ECS インスタンスのログインアドレスです。
en: ECS インスタンスのログインアドレスです。
Value:
Fn::Sub: https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs®ionId=${ALIYUN::Region}&instanceId=${EcsInstance}
ExperienceAddress:
Description:
zh-cn: 体験用アドレスです。
en: 体験用アドレスです。
Value:
Fn::Sub:
- http://${PublicIp}/wanx-demo
- PublicIp:
Fn::Select:
- 0
- Fn::GetAtt:
- EcsInstance
- PublicIps
Description:
zh-cn: 仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、および Object Storage Service (OSS) バケットを作成します。セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。
en: 仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、Object Storage Service (OSS) バケットを作成し、セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。
Conditions: {}
Resources:
CustomPolicy:
Type: ALIYUN::RAM::ManagedPolicy
Properties:
PolicyName:
Fn::Sub: create_by_solution-${ALIYUN::StackId}
PolicyDocument:
Version: '1'
Statement:
- Action:
- oss:GetObject
- oss:PutObject
Resource:
- Fn::Sub: acs:oss:oss-${ALIYUN::Region}:${ALIYUN::TenantId}:${BucketName}/*
Effect: Allow
InstallApp:
Type: ALIYUN::ECS::RunCommand
Properties:
CommandContent:
Fn::Sub: |-
#!/bin/bash
cat << EOF >> ~/.bash_profile
export DASHSCOPE_API_KEY=${DashScopeApiKey}
export OSS_ACCESS_KEY_ID=${AccessKey.AccessKeyId}
export OSS_ACCESS_KEY_SECRET=${AccessKey.AccessKeySecret}
export WANX_DEMO_OSS_BUCKET=${BucketName}
export WANX_DEMO_OSS_ENDPOINT=https://oss-${ALIYUN::Region}.aliyuncs.com
EOF
source ~/.bash_profile
wget https://help-static-aliyun-doc.aliyuncs.com/demos/wanx-demo-0.0.1-SNAPSHOT.jar
nohup java -jar wanx-demo-0.0.1-SNAPSHOT.jar > wanx-demo.log 2>&1 &
Type: RunShellScript
Sync: true
InstanceIds:
- Ref: EcsInstance
Timeout: 3600
DependsOn:
- ModuleInstallJava.Install
AccessKey:
Type: ALIYUN::RAM::AccessKey
Properties:
UserName:
Ref: User
Bucket:
Type: ALIYUN::OSS::Bucket
Properties:
BucketName:
Ref: BucketName
DeletionForce: true
SecurityGroup:
Type: ALIYUN::ECS::SecurityGroup
Properties:
SecurityGroupIngress:
- PortRange: 80/80
SourceCidrIp: 0.0.0.0/0
IpProtocol: tcp
VpcId:
Ref: Vpc
SecurityGroupName:
Fn::Sub: ${CommonName}-sg
ModuleInstallJava.Install:
Type: ALIYUN::OOS::Execution
Properties:
SafetyCheck: Skip
Parameters:
action: install
packageName: ACS-Extension-java-1853370294850618
regionId:
Ref: ALIYUN::Region
targets:
ResourceIds:
- Ref: EcsInstance
RegionId:
Ref: ALIYUN::Region
Type: ResourceIds
parameters: Null
TemplateName: ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL
Metadata:
ALIYUN::ROS::Module:
LogicalIdHierarchy: ModuleInstallJava
TypeHierarchy: MODULE::ACS::OOS::Extension
User:
Type: ALIYUN::RAM::User
Properties:
UserName:
Fn::Sub: create_by_solution-${ALIYUN::StackId}
PolicyAttachments:
Custom:
- Ref: CustomPolicy
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
VpcName:
Fn::Sub: ${CommonName}-vpc
CidrBlock: 192.168.0.0/16
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
VSwitchName:
Fn::Sub: ${CommonName}-vsw
VpcId:
Ref: Vpc
CidrBlock: 192.168.0.0/24
ZoneId:
Ref: ZoneId
EcsInstance:
Type: ALIYUN::ECS::InstanceGroup
Properties:
SystemDiskCategory: cloud_essd
VpcId:
Ref: Vpc
SecurityGroupId:
Ref: SecurityGroup
ImageId: aliyun_3_9_x64_20G_alibase_
InternetMaxBandwidthOut: 5
VSwitchId:
Ref: VSwitch
Password:
Ref: InstancePassword
InstanceName:
Fn::Sub: ${CommonName}-ecs
InstanceType:
Ref: InstanceType
ZoneId:
Ref: ZoneId
MaxAmount: 1
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- DashScopeApiKey
- BucketName
- ZoneId
- InstanceType
- InstancePassword
Hidden:
- CommonName
<br/><br/>{
"ROSTemplateFormatVersion": "2015-09-01",
"Mappings": {},
"Parameters": {
"DashScopeApiKey": {
"NoEcho": true,
"Label": {
"zh-cn": "DashScope API-KEY",
"en": "DashScope API-KEY"
},
"Type": "String",
"Description": {
"zh-cn": "DashScope を有効化して API キーを取得します。詳細については、「<a href=\"https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key\" target=\"_blank\">DashScope の有効化と API キーの作成</a>」をご参照ください。",
"en": "DashScope を有効化して API-KEY を取得します。詳しくは、「<a href=\"https://www.alibabacloud.com/help/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key\" target=\"_blank\">DashScope の有効化と API キーの作成</a>」をご参照ください。"
},
"AssociationProperty": "ALIYUN::DashScope::ApiKey"
},
"CommonName": {
"Default": "wanxiang",
"Type": "String"
},
"InstancePassword": {
"Description": {
"zh-cn": "サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。",
"en": "サーバーのログインパスワードです。長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。"
},
"Default": null,
"Type": "String",
"Label": {
"zh-cn": "インスタンスパスワード",
"en": "インスタンスパスワード"
},
"NoEcho": true,
"AssociationProperty": "ALIYUN::ECS::Instance::Password",
"ConstraintDescription": {
"zh-cn": "パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。",
"en": "パスワードの長さは 8~30 文字で、大文字、小文字、数字、特殊文字 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ のうち少なくとも 3 種類を含む必要があります。"
}
},
"ZoneId": {
"AssociationPropertyMetadata": {
"AutoSelectFirst": true
},
"Default": null,
"Required": true,
"Label": {
"zh-cn": "可用性ゾーン",
"en": "可用性ゾーン"
},
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Type": "String"
},
"BucketName": {
"AssociationPropertyMetadata": {
"Length": 5,
"Prefix": "drawing-with-tongyi-wanxiang-",
"CharacterClasses": [
{
"Class": "lowercase",
"min": 1
}
]
},
"Description": {
"zh-cn": "名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>バケット名はグローバルに一意である必要があります。既存の名前でバケットを作成することはできません。</font>",
"en": "長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。<br/>注:<font color='blue'><b>ネットワーク全体で一意である必要があります。既存の名前では作成できません。</font>"
},
"MinLength": 3,
"Label": {
"zh-cn": "Bucket Name",
"en": "Bucket Name"
},
"AllowedPattern": "^[a-z0-9]+[a-z0-9\\-]*[a-z0-9]+$",
"Type": "String",
"MaxLength": 63,
"AssociationProperty": "AutoCompleteInput",
"ConstraintDescription": {
"zh-cn": "名前の長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。",
"en": "長さは 3~63 文字で、先頭および末尾はハイフン (-) であってはなりません。小文字、数字、およびハイフン (-) を含めることができます。"
}
},
"InstanceType": {
"AssociationPropertyMetadata": {
"SystemDiskCategory": "cloud_essd",
"InstanceChargeType": "PostPaid",
"ZoneId": "${ZoneId}"
},
"Default": null,
"Required": true,
"Label": {
"zh-cn": "インスタンスタイプ",
"en": "インスタンスタイプ"
},
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"Type": "String"
}
},
"Outputs": {
"EcsLoginAddress": {
"Description": {
"zh-cn": "ECS インスタンスのログインアドレスです。",
"en": "ECS インスタンスのログインアドレスです。"
},
"Value": {
"Fn::Sub": "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs®ionId=${ALIYUN::Region}&instanceId=${EcsInstance}"
}
},
"ExperienceAddress": {
"Description": {
"zh-cn": "体験用アドレスです。",
"en": "体験用アドレスです。"
},
"Value": {
"Fn::Sub": [
"http://${PublicIp}/wanx-demo",
{
"PublicIp": {
"Fn::Select": [
0,
{
"Fn::GetAtt": [
"EcsInstance",
"PublicIps"
]
}
]
}
}
]
}
}
},
"Description": {
"zh-cn": "仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、および Object Storage Service (OSS) バケットを作成します。セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。",
"en": "仮想プライベートクラウド (VPC)、Elastic Compute Service (ECS) インスタンス、Object Storage Service (OSS) バケットを作成し、セキュリティグループおよび Resource Access Management (RAM) 権限を設定し、Java およびアプリケーションをインストールして、テキストから画像生成およびポートレート強調サービスを実装します。"
},
"Conditions": {},
"Resources": {
"CustomPolicy": {
"Type": "ALIYUN::RAM::ManagedPolicy",
"Properties": {
"PolicyName": {
"Fn::Sub": "create_by_solution-${ALIYUN::StackId}"
},
"PolicyDocument": {
"Version": "1",
"Statement": [
{
"Action": [
"oss:GetObject",
"oss:PutObject"
],
"Resource": [
{
"Fn::Sub": "acs:oss:oss-${ALIYUN::Region}:${ALIYUN::TenantId}:${BucketName}/*"
}
],
"Effect": "Allow"
}
]
}
}
},
"InstallApp": {
"Type": "ALIYUN::ECS::RunCommand",
"Properties": {
"CommandContent": {
"Fn::Sub": "#!/bin/bash\n\ncat << EOF >> ~/.bash_profile\nexport DASHSCOPE_API_KEY=${DashScopeApiKey}\nexport OSS_ACCESS_KEY_ID=${AccessKey.AccessKeyId}\nexport OSS_ACCESS_KEY_SECRET=${AccessKey.AccessKeySecret}\nexport WANX_DEMO_OSS_BUCKET=${BucketName}\nexport WANX_DEMO_OSS_ENDPOINT=https://oss-${ALIYUN::Region}.aliyuncs.com\nEOF\n\nsource ~/.bash_profile \nwget https://help-static-aliyun-doc.aliyuncs.com/demos/wanx-demo-0.0.1-SNAPSHOT.jar\nnohup java -jar wanx-demo-0.0.1-SNAPSHOT.jar > wanx-demo.log 2>&1 &"
},
"Type": "RunShellScript",
"Sync": true,
"InstanceIds": [
{
"Ref": "EcsInstance"
}
],
"Timeout": 3600
},
"DependsOn": [
"ModuleInstallJava.Install"
]
},
"AccessKey": {
"Type": "ALIYUN::RAM::AccessKey",
"Properties": {
"UserName": {
"Ref": "User"
}
}
},
"Bucket": {
"Type": "ALIYUN::OSS::Bucket",
"Properties": {
"BucketName": {
"Ref": "BucketName"
},
"DeletionForce": true
}
},
"SecurityGroup": {
"Type": "ALIYUN::ECS::SecurityGroup",
"Properties": {
"SecurityGroupIngress": [
{
"PortRange": "80/80",
"SourceCidrIp": "0.0.0.0/0",
"IpProtocol": "tcp"
}
],
"VpcId": {
"Ref": "Vpc"
},
"SecurityGroupName": {
"Fn::Sub": "${CommonName}-sg"
}
}
},
"ModuleInstallJava.Install": {
"Type": "ALIYUN::OOS::Execution",
"Properties": {
"SafetyCheck": "Skip",
"Parameters": {
"action": "install",
"packageName": "ACS-Extension-java-1853370294850618",
"regionId": {
"Ref": "ALIYUN::Region"
},
"targets": {
"ResourceIds": [
{
"Ref": "EcsInstance"
}
],
"RegionId": {
"Ref": "ALIYUN::Region"
},
"Type": "ResourceIds"
},
"parameters": null
},
"TemplateName": "ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL"
},
"Metadata": {
"ALIYUN::ROS::Module": {
"LogicalIdHierarchy": "ModuleInstallJava",
"TypeHierarchy": "MODULE::ACS::OOS::Extension"
}
}
},
"User": {
"Type": "ALIYUN::RAM::User",
"Properties": {
"UserName": {
"Fn::Sub": "create_by_solution-${ALIYUN::StackId}"
},
"PolicyAttachments": {
"Custom": [
{
"Ref": "CustomPolicy"
}
]
}
}
},
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"VpcName": {
"Fn::Sub": "${CommonName}-vpc"
},
"CidrBlock": "192.168.0.0/16"
}
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"VSwitchName": {
"Fn::Sub": "${CommonName}-vsw"
},
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": "192.168.0.0/24",
"ZoneId": {
"Ref": "ZoneId"
}
}
},
"EcsInstance": {
"Type": "ALIYUN::ECS::InstanceGroup",
"Properties": {
"SystemDiskCategory": "cloud_essd",
"VpcId": {
"Ref": "Vpc"
},
"SecurityGroupId": {
"Ref": "SecurityGroup"
},
"ImageId": "aliyun_3_9_x64_20G_alibase_",
"InternetMaxBandwidthOut": 5,
"VSwitchId": {
"Ref": "VSwitch"
},
"Password": {
"Ref": "InstancePassword"
},
"InstanceName": {
"Fn::Sub": "${CommonName}-ecs"
},
"InstanceType": {
"Ref": "InstanceType"
},
"ZoneId": {
"Ref": "ZoneId"
},
"MaxAmount": 1
}
}
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"DashScopeApiKey",
"BucketName",
"ZoneId",
"InstanceType",
"InstancePassword"
]
}
],
"Hidden": [
"CommonName"
]
}
}
}<br/><br/>詳細については、「このリソースを含むパブリックテンプレート」をご参照ください。