DeploymentPreference - AWS Serverless Application Model

DeploymentPreference

段階的な Lambda デプロイを有効にする設定を指定します。段階的な Lambda デプロイの設定の詳細については、「サーバーレスアプリケーションの段階的なデプロイ」を参照してください。

注記

DeploymentPreference オブジェクトを使用するには、AWS::Serverless::FunctionAutoPublishAlias を指定する必要があります。指定しない場合は、エラーが発生します。

構文

AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、以下の構文を使用します。

YAML

Alarms: List Enabled: Boolean Hooks: Hooks PassthroughCondition: Boolean Role: String TriggerConfigurations: List Type: String

プロパティ

Alarms

デプロイによって発生したエラーによってトリガーされる CloudWatch アラームのリストです。

このプロパティは、Fn::If 組み込み関数を受け入れます。Fn::If を使用するテンプレートの例については、このトピックの下部にある「例」セクションを参照してください。

タイプ: リスト

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

Enabled

このデプロイプリファレンスが有効になっているかどうかです。

タイプ: ブール

必須: いいえ

デフォルト: True

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

Hooks

トラフィックシフトの前後に実行される検証 Lambda 関数です。

タイプ: Hooks

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

PassthroughCondition

True の場合、このデプロイメントプリファレンスが有効な場合、関数の条件が、生成された CodeDeploy リソースに渡されます。通常、これを True に設定する必要があります。そうしないと、関数の条件が False に解決された場合でも、CodeDeploy リソースが作成されます。

タイプ: ブール

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

Role

CodeDeploy がトラフィックの移行に使用する IAM ロール ARN です。これが提供されている場合、IAM ロールは作成されません。

型: 文字列

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

TriggerConfigurations

デプロイグループに関連付けるトリガー設定のリストです。ライフサイクルイベントについて SNS トピックに通知するために使用されます。

タイプ: リスト

必須: いいえ

AWS CloudFormation との互換性: このプロパティは、AWS::CodeDeploy::DeploymentGroup リソースの TriggerConfigurations プロパティに直接渡されます。

Type

現在、デプロイタイプには Linear と Canary の 2 つのカテゴリがあります。使用可能なデプロイタイプの詳細については、「サーバーレスアプリケーションの段階的なデプロイ」を参照してください。

型: 文字列

必須: はい

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

pre-traffic hook と post-traffic hook を使用する DeploymentPreference です。

pre-traffic hook と post-traffic hook が含まれるデプロイプリファレンスの例です。

YAML

DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: - Ref: AliasErrorMetricGreaterThanZeroAlarm - Ref: LatestVersionErrorMetricGreaterThanZeroAlarm Hooks: PreTraffic: Ref: PreTrafficLambdaFunction PostTraffic: Ref: PostTrafficLambdaFunction

Fn::If 組み込み関数を使用する DeploymentPreference

アラームの設定に Fn::If を使用するデプロイプリファレンスの例です。この例では、MyConditiontrue の場合は Alarm1 が設定され、MyConditionfalse の場合は Alarm2Alarm5 が設定されます。

YAML

DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: Fn::If: - MyCondition - - Alarm1 - - Alarm2 - Alarm5