ALIYUN::EMR::Cluster2 は、E-MapReduce(EMR)クラスタを作成するために使用されます。
ALIYUN::EMR::Cluster は、以前のバージョンの EMR API をサポートしており、HADOOP、KAFKA、DRUID、ZOOKEEPER、DATA_SCIENCE、および GATEWAY タイプのクラスタで使用できます。 ALIYUN::EMR::Cluster2 は、新しいバージョン(2021-03-20)の EMR API をサポートしており、DATALAKE、OLAP、DATAFLOW、および DATASERVING タイプのクラスタで使用できます。 これらのタイプのクラスタを作成するには、ALIYUN::EMR::Cluster2 を使用することをお勧めします。
構文
{
"Type": "ALIYUN::EMR::Cluster2",
"Properties": {
"Applications": List,
"ResourceGroupId": String,
"ApplicationConfigs": List,
"ClusterType": String,
"NodeGroups": List,
"ReleaseVersion": String,
"BootstrapScripts": List,
"SubscriptionConfig": Map,
"DeployMode": String,
"SecurityMode": String,
"NodeAttributes": Map,
"ClusterName": String,
"PaymentType": String,
"Tags": List
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Applications | List | はい | いいえ | クラスタに追加するアプリケーション。 | クラスタには最大 100 個のアプリケーションを追加できます。 詳細については、Applications プロパティをご参照ください。 |
ResourceGroupId | String | いいえ | いいえ | リソースグループの ID。 | なし。 |
ApplicationConfigs | List | いいえ | いいえ | アプリケーションの構成。 | 最大 1,000 個のアプリケーション構成を追加できます。 詳細については、ApplicationConfigs プロパティをご参照ください。 |
ClusterType | String | はい | いいえ | クラスタタイプ。 | 有効な値:
|
NodeGroups | List | はい | いいえ | ノードグループの構成の配列。 | 最大 100 個のノードグループ構成を追加できます。 詳細については、NodeGroups プロパティをご参照ください。 |
ReleaseVersion | String | はい | いいえ | EMR のバージョン。 | なし。 |
BootstrapScripts | List | いいえ | いいえ | ブートストラップアクションスクリプトの配列。 | 最大 10 個のブートストラップアクションスクリプトを追加できます。 詳細については、BootstrapScripts プロパティをご参照ください。 |
SubscriptionConfig | Map | いいえ | いいえ | サブスクリプションの構成。 | PaymentType が Subscription に設定されている場合、このプロパティを指定する必要があります。 |
DeployMode | String | いいえ | いいえ | クラスタ内のアプリケーションのデプロイモード。 | 有効な値:
|
SecurityMode | String | いいえ | いいえ | クラスタのセキュリティモード。 | 有効な値:
|
NodeAttributes | Map | はい | いいえ | クラスタ内のすべての Elastic Compute Service(ECS)ノードの基本属性。 |
|
ClusterName | String | はい | いいえ | クラスタ名。 | 名前の長さは 1 ~ 128 文字で、 |
PaymentType | String | いいえ | いいえ | 課金方法。 | 有効な値:
|
Tags | List | いいえ | いいえ | クラスタのタグ。 | 最大 20 個のカスタムタグを追加できます。 詳細については、Tags プロパティをご参照ください。 |
アプリケーションの構文
"Applications": [
{
"ApplicationName": String // アプリケーション名
}
]アプリケーション プロパティ
プロパティ | 種類 | 必須 | 編集可能 | 説明 | 制約 |
ApplicationName | String | はい | いいえ | アプリケーション名。 | なし。 |
Applications 構文
"ApplicationConfigs": [
{
"ConfigFileName": String, // 設定ファイル名
"ApplicationName": String, // アプリケーション名
"ConfigItemKey": String, // 設定項目キー
"NodeGroupName": String, // ノードグループ名
"NodeGroupId": String, // ノードグループ ID
"ConfigScope": String, // 設定スコープ
"ConfigItemValue": String // 設定項目値
}
]Applications プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
ConfigFileName | String | いいえ | いいえ | 構成ファイルの名前。 | なし。 |
アプリケーション名 | 文字列 | はい | いいえ | アプリケーション名。 | なし。 |
ConfigItemKey | String | いいえ | いいえ | 構成項目の名前。 | なし。 |
NodeGroupName | String | いいえ | いいえ | ノードグループの名前。 | このプロパティは、ConfigScope が NODE_GROUP に設定され、NodeGroupId が空のままになっている場合に有効になります。 |
NodeGroupId | String | いいえ | いいえ | ノードグループの ID です。 | このプロパティは、ConfigScope が NODE_GROUP に設定されている場合に有効になります。 説明 NodeGroupId は NodeGroupName よりも優先されます。 |
ConfigScope | String | いいえ | いいえ | 構成を適用するレベル。 | 有効な値:
|
ApplicationName | String | はい | いいえ | アプリケーション名。 | なし。 |
ApplicationConfigs 構文
"NodeGroups": [
{
"WithPublicIp": Boolean, // パブリック IP アドレスを使用するかどうか
"SpotInstanceRemedy": Boolean, // スポットインスタンスの障害発生時に自動復旧を有効にするかどうか
"NodeCount": Number, // ノード数
"NodeGroupName": String, // ノードグループ名
"DataDisks": List, // データディスクのリスト
"VSwitchIds": List, // 仮想スイッチ ID のリスト
"SpotBidPrices": List, // スポットインスタンスの入札価格のリスト
"NodeResizeStrategy": String, // ノードのリサイズ戦略
"SystemDisk": Map, // システムディスク
"NodeGroupType": String, // ノードグループのタイプ
"InstanceTypes": List, // インスタンスタイプのリスト
"AdditionalSecurityGroupIds": List, // 追加のセキュリティグループ ID のリスト
"CostOptimizedConfig": Map, // コスト最適化設定
"GracefulShutdown": Boolean, // グレースフルシャットダウンを有効にするかどうか
"DeploymentSetStrategy": String, // デプロイメントセット戦略
"SpotStrategy": String // スポットインスタンス戦略
}
]ApplicationConfigs プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
WithPublicIp | ブール値 | いいえ | いいえ | パブリック IP アドレスを割り当てるかどうかを指定します。 | 有効な値:
|
SpotInstanceRemedy | ブール値 | いいえ | いいえ | プリエンティブルインスタンスを有効にするかどうかを指定します。システムが既存のプリエンティブルインスタンスが再利用されようとしていることを示すメッセージを受信すると、システムはスケーリンググループにインスタンスを作成して、既存のプリエンティブルインスタンスを置き換えようとします。 | 有効な値:
|
ConfigFileName | String | いいえ | いいえ | 構成ファイルの名前。 | なし。 |
ApplicationName | String | はい | いいえ | アプリケーション名。 | なし。 |
ConfigItemKey | String | いいえ | いいえ | 構成項目の名前。 | 詳細については、「DataDisks プロパティ」をご参照ください。 |
NodeGroupName | String | いいえ | いいえ | ノードグループの名前。 | このプロパティは、ConfigScope が NODE_GROUP に設定され、NodeGroupId が空の場合に有効になります。 |
NodeGroupId | String | いいえ | いいえ | ノードグループの ID。 | このプロパティは、ConfigScope が NODE_GROUP に設定されている場合に有効になります。 説明 最大 100 件の入札価格を指定できます。 詳細については、「SpotBidPrices プロパティ」をご参照ください。 |
NodeResizeStrategy | String | いいえ | いいえ | ノードのスケーリングポリシー。 | 有効な値:
|
システムディスク | マップ | いいえ | いいえ | システムディスクの構成。 | 詳細については、「SystemDisk プロパティ」をご参照ください。 |
NodeGroupType | String | はい | いいえ | ノードグループのタイプ。 | 有効な値:
|
InstanceTypes | リスト | はい | いいえ | ノードのインスタンスタイプです。 | 最大 100 個のインスタンスタイプを追加できます。 |
AdditionalSecurityGroupIds | リスト | いいえ | いいえ | 追加のセキュリティグループ。 | 追加のセキュリティグループとは、クラスターではなくノードグループに追加されるセキュリティグループです。ノードグループには最大 2 つの追加セキュリティグループを追加できます。 |
CostOptimizedConfig | マップ | いいえ | いいえ | コスト最適化ポリシーの構成。 | なし。 |
GracefulShutdown | ブール値 | いいえ | いいえ | ノードグループ内のコンポーネントに対してグレースフルシャットダウンを有効にするかどうかを指定します。 | 有効な値:
|
DeploymentSetStrategy | String | いいえ | いいえ | デプロイメントセットポリシー。 | 有効な値:
|
SpotStrategy | String | いいえ | いいえ | 従量課金インスタンスの入札ポリシー。 | 有効な値:
|
DataDisks の構文
"DataDisks": [
{
"Category": String, // カテゴリ
"PerformanceLevel": String, // パフォーマンスレベル
"Size": Number, // サイズ
"Count": Number // 数
}
]DataDisks プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Category | String | はい | いいえ | ディスクカテゴリ。 | なし。 |
PerformanceLevel | String | いいえ | いいえ | データディスクとして使用する拡張 SSD(ESSD)のパフォーマンスレベル(PL)。 | 有効な値:
|
Size | Number | はい | いいえ | ディスクサイズ。 | なし。 |
Count | Number | いいえ | いいえ | ノード上のデータディスクの数。 | なし。 |
SpotBidPrices の構文
"SpotBidPrices": [
{
"BidPrice": Number, // 入札価格
"InstanceType": String // インスタンスタイプ
}
]SpotBidPrices プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
BidPrice | 数値 | いいえ | いいえ | インスタンスの 1 時間あたりの最大入札価格です。 | このプロパティの値には、小数点以下 3 桁まで含めることができます。このプロパティは、SpotStrategy が SpotWithPriceLimit に設定されている場合に有効になります。 |
InstanceType | 文字列 | いいえ | いいえ | ECS インスタンスタイプ。 | なし。 |
SystemDisk 構文
"SystemDisk": {
// カテゴリ
"Category": String,
// パフォーマンスレベル
"PerformanceLevel": String,
// サイズ
"Size": Number,
// 数
"Count": Number
}SystemDisk プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Category | String | はい | いいえ | ディスクカテゴリ。 | なし。 |
PerformanceLevel | String | いいえ | いいえ | システムディスクとして使用する ESSD の PL。 | 有効な値:
|
Size | Number | はい | いいえ | ディスクサイズ。 | 有効な値: 20 ~ 500。 |
Count | Number | いいえ | いいえ | ノード上のシステムディスクの数。 | デフォルト値: 1。 |
CostOptimizedConfig の構文
"CostOptimizedConfig": {
"OnDemandBaseCapacity": Number, // オンデマンドベースキャパシティ
"OnDemandPercentageAboveBaseCapacity": Number, // ベースキャパシティを超えるオンデマンドの割合
"SpotInstancePools": Number // スポットインスタンスプール
}CostOptimizedConfig プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
OnDemandBaseCapacity | 数値 | はい | いいえ | ノードグループで必要な従量課金制インスタンスの最小数。 | なし。 |
OnDemandPercentageAboveBaseCapacity | 数値 | はい | いいえ | OnDemandBaseCapacity で指定された制限に達した場合の、追加インスタンスにおける従量課金制インスタンスの割合。 | 有効な値: 0 ~ 100。 |
SpotInstancePools | 数値 | はい | いいえ | 使用可能なインスタンスタイプの数。 | なし。 |
BootstrapScripts 構文
"BootstrapScripts": [
{
"ScriptPath": String, // スクリプトのパス
"ScriptArgs": String, // スクリプトの引数
"ExecutionFailStrategy": String, // 実行失敗時の戦略
"Priority": Number, // 優先度
"ScriptName": String, // スクリプト名
"ExecutionMoment": String, // 実行タイミング
"NodeSelector": Map // ノードセレクター
}
]BootstrapScripts プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
ScriptPath | String | はい | いいえ | スクリプトが保存されているオブジェクトストレージサービス(OSS)パス。 | パスは |
ScriptArgs | String | いいえ | いいえ | スクリプトのランタイムパラメーター。 | なし。 |
ExecutionFailStrategy | String | いいえ | いいえ | スクリプトの実行エラーを処理するために使用するポリシー。 | 有効な値:
|
Priority | Number | いいえ | いいえ | スクリプトの優先度。 | 有効な値:1 ~ 100。 |
ScriptName | String | はい | いいえ | スクリプト名。 | 名前は 1 ~ 64 文字で、文字、数字、アンダースコア(_)、ハイフン(-)を含めることができます。文字で始まり、 |
ExecutionMoment | String | いいえ | いいえ | システムがスクリプトを実行する基準となる時間シーケンス。 | 有効な値:
|
NodeSelector | Map | はい | いいえ | ノードセレクターの構成。 | なし。 |
NodeSelector の構文
"NodeSelector": {
"NodeGroupTypes": List,
"NodeGroupName": String,
"NodeGroupId": String,
"NodeSelectType": String,
"NodeNames": List
}NodeSelector プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
NodeGroupTypes | リスト | いいえ | いいえ | ノードグループのタイプ。 | 有効な値:
|
NodeGroupName | 文字列 | いいえ | いいえ | ノードグループの名前。 | このプロパティは、NodeSelectType が NodeGroup に設定され、NodeGroupId が空の場合に有効になります。 |
NodeGroupId | 文字列 | いいえ | いいえ | ノードグループの ID。 | このプロパティは、NodeSelectType が NodeGroup に設定されている場合に有効になります。 |
NodeSelectType | 文字列 | はい | いいえ | ノードを選択するレベル。 | 有効な値:
|
NodeNames | リスト | いいえ | いいえ | ノードの名前。 | このプロパティは、NodeSelectType が Node に設定されている場合に有効になります。 |
SubscriptionConfig 構文
"SubscriptionConfig": {
"AutoRenewDurationUnit": String, // 自動更新期間の単位
"AutoRenew": Boolean, // 自動更新するかどうか
"PaymentDurationUnit": String, // 支払い期間の単位
"PaymentDuration": Number, // 支払い期間
"AutoRenewDuration": Number // 自動更新期間
}SubscriptionConfig プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
AutoRenewDurationUnit | String | いいえ | いいえ | 自動更新期間の単位。 |
値を Month に設定します。 |
AutoRenew | Boolean | いいえ | いいえ | 自動更新を有効にするかどうかを指定します。 | 有効な値:
|
PaymentDurationUnit | String | いいえ | いいえ | サブスクリプション期間の単位。 |
値を Month に設定します。 |
PaymentDuration | Number | いいえ | いいえ | サブスクリプション期間。 | PaymentDurationUnit が Month に設定されている場合の有効な値: 1、2、3、4、5、6、7、8、9、12、24、36、48、および 60。 |
AutoRenewDuration | Number | いいえ | いいえ | 自動更新期間。 | このプロパティは、AutoRenew が true に設定されている場合に有効になります。 AutoRenewDurationUnit が Month に設定されている場合の有効な値: 1、2、3、4、5、6、7、8、9、12、24、36、48、および 60。 |
NodeAttributes の構文
"NodeAttributes": {
"KeyPairName": String, // キーペア名
"VpcId": String, // VPC ID
"ZoneId": String, // ゾーン ID
"SecurityGroupId": String, // セキュリティグループ ID
"RamRole": String, // RAM ロール
"MasterRootPassword": String // マスタールートパスワード
}NodeAttributes プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
KeyPairName | String | いいえ | いいえ | ECSインスタンスにログオンするために使用する SSH キーペア。 | なし。 |
VpcId | String | はい | いいえ | 仮想プライベートクラウド (VPC) ID。 | なし。 |
ZoneId | String | はい | いいえ | ゾーン ID。 | なし。 |
SecurityGroupId | String | はい | いいえ | セキュリティグループの ID。 | EMR は基本的なセキュリティグループのみをサポートします。EMR は高度なセキュリティグループをサポートしていません。 |
RamRole | String | いいえ | いいえ | ECS から他の Alibaba Cloud リソースにアクセスするために EMR にアタッチする Resource Access Management (RAM) ロール。 | デフォルト値: AliyunECSInstanceForEMRRole。 |
MasterRootPassword | String | いいえ | いいえ | マスターノードの root パスワード。 | なし。 |
タグの構文
"Tags": [
{
"Value": String, // 値
"Key": String // キー
}
]タグのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Value | String | いいえ | いいえ | タグ値。 | このプロパティはオプションであり、空の文字列にすることができます。タグ値は最大 128 文字で、 |
Key | String | はい | いいえ | タグキー。 | このプロパティは必須であり、空の文字列にすることはできません。タグキーは最大 128 文字で、 |
戻り値
Fn::GetAtt
ClusterId: クラスタ ID。
ApplicationLinks: クラスタ内のアプリケーションのリンク。