เดเดพเตป เดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดฟ เดฎเตเดเดฎเดพเดฑเตเดฑเด 4 เดตเตผเดทเด เดฎเตเดฎเตเดชเต. เด เดคเดฟเดจเตเดถเตเดทเด, เดเดคเดฟเดจเดเด เดเตฝเดชเตเดชเดพเดฆเดจเดคเตเดคเดฟเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเดต เดชเตเดฒเตเด, เดเดพเตป เดเดฐเตเดชเดพเดเต เด เดเดฟเดธเตเดฅเดพเดจ เดธเตเดเดฐเตเดฏเดเตเดเตพ เดคเดเตผเดคเตเดคเต. เดเดจเตเดจเดพเตฝ เดเดฐเต เดคเดตเดฃเดฏเตเด เดเดพเตป เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเตเดดเดชเตเดชเดฎเตเดฃเตเดเดพเดเตเดเตเดฎเตเดชเตเตพ, เดเดพเตป เดชเตเดคเดฟเดฏ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดชเด เดฟเดเตเดเต. เด เด เดจเตเดญเดตเดคเตเดคเดฟเดฒเตเดเต, เดเดพเตป เดชเด เดฟเดเตเด เดเดฑเตเดฑเดตเตเด เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดเดฟเดฒ เดชเดพเด เดเตเดเตพ เดเดพเตป เดชเดเตเดเดฟเดเตเด.
เดชเดพเด เด 1: เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดฎเดพเดฑเตเดฑเดเตเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด
เดเดพเตป เดเตเดฒเดฟ เดเตเดฏเตเดฏเดพเตป เดคเตเดเดเตเดเดฟเดฏ เดเดเตป เดคเดจเตเดจเต เด เดชเดพเด เด เดชเด เดฟเดเตเดเต เดฎเตเดเดฎเดพเดฑเตเดฑเด. เด เดชเตเดชเตเตพ เดเดพเตป เดเดจเตเดคเดพเดฃเต เดคเดเตผเดคเตเดคเดคเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดเตผเดฎเตเดฎเดฏเดฟเดฒเตเดฒ, เดชเดเตเดทเต เดเดพเตป เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเดคเดพเดฏเดฟ เดเดพเตป เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดเตผเดเตเดเตเดจเตเดจเต aws เดเตเดฒเตเดกเตโเดซเตเตผเดฎเตเดทเตป เด เดชเตโเดกเตเดฑเตเดฑเต. เด เดเดฎเดพเตปเดกเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจ เดฎเดพเดฑเตเดฑเดเตเดเดณเตเดเต เดธเดพเดงเตเดเดฐเดฃเด เดเตเดเดพเดคเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดชเตเดฑเดคเตเดคเดฟเดฑเดเตเดเตเดจเตเดจเต. เดเดฒเตเดฒเดพ เดฎเดพเดฑเตเดฑเดเตเดเดณเตเด เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดจเดฟเดเตเดเตพ เดเดจเตเดคเตเดเตเดฃเตเดเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดฃเด เดเดจเตเดจเดคเดฟเดจเต เดตเดฟเดถเดฆเตเดเดฐเดฃเดฎเตเดจเตเดจเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดพเตป เดเดฐเตเดคเตเดจเตเดจเต.
เด เดชเดฐเดพเดเดฏเดคเตเดคเดฟเดจเต เดถเตเดทเด, เดเดพเตป เดชเตเดเตเดเตเดจเตเดจเต เดฎเดพเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธ เดชเตเดชเตเดชเตเดฒเตเตป, เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เด เดชเตเดกเตเดฑเตเดฑเต เดเดฎเดพเตปเดกเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจเต เดธเตเดทเตเดเดฟเดเตเดเตเด-เดฎเดพเดฑเตเดฑเตเด-เดธเตเดฑเตเดฑเต
# OPERATION is either "UPDATE" or "CREATE"
changeset_id=$(aws cloudformation create-change-set
--change-set-name "$CHANGE_SET_NAME"
--stack-name "$STACK_NAME"
--template-body "$TPL_PATH"
--change-set-type "$OPERATION"
--parameters "$PARAMETERS"
--output text
--query Id)
aws cloudformation wait
change-set-create-complete --change-set-name "$changeset_id"
เดเดฐเดฟเดเตเดเตฝ เดเดฐเต เดฎเดพเดฑเตเดฑเด เดเดฃเตเดเดพเดเตเดเดฟเดฏเดพเตฝ, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดธเตเดฑเตเดฑเดพเดเตเดเดฟเตฝ เด
เดคเดฟเดจเต เดฏเดพเดคเตเดฐเต เดธเตเดตเดพเดงเตเดจเดตเตเดฎเดฟเดฒเตเดฒ. เด
เดชเตเดกเตเดฑเตเดฑเต เดเดฎเดพเตปเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดเตเดเตเดเตเดธเตเดฑเตเดฑเต เดธเดฎเตเดชเดจเด เดฏเดฅเดพเตผเดคเตเดฅ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเต เดเตเดฐเดฟเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. เดชเดเดฐเด, เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดจเดฟเดเตเดเตพเดเตเดเต เด
เดตเดฒเตเดเดจเด เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดฎเดพเดฑเตเดฑเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดคเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต. aws เดเตบเดธเตเตพ เดเดจเตเดฑเตผเดซเตเดธเดฟเดฒเต เดฎเดพเดฑเตเดฑเดเตเดเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด. เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดเดดเดฟเดฏเตเดจเตเดจเดคเตเดฒเตเดฒเดพเด เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเตป เดจเดฟเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเตเดตเตเดเตเดเดฟเตฝ, เด
เดต CLI-เดฏเดฟเตฝ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
# this command is presented only for demonstrational purposes.
# the real command should take pagination into account
aws cloudformation describe-change-set
--change-set-name "$changeset_id"
--query 'Changes[*].ResourceChange.{Action:Action,Resource:ResourceType,ResourceId:LogicalResourceId,ReplacementNeeded:Replacement}'
--output table
เด เดเดฎเดพเตปเดกเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เดเดเตเดเตเดชเตเดเตเดเต เดเดฃเตเดเดพเดเตเดเดฃเด:
--------------------------------------------------------------------
| DescribeChangeSet |
+---------+--------------------+----------------------+------------+
| Action | ReplacementNeeded | Resource | ResourceId |
+---------+--------------------+----------------------+------------+
| Modify | True | AWS::ECS::Cluster | MyCluster |
| Replace| True | AWS::RDS::DBInstance| MyDB |
| Add | None | AWS::SNS::Topic | MyTopic |
+---------+--------------------+----------------------+------------+
เดเดเตเดทเตป เดเดณเตเดณ เดฎเดพเดฑเตเดฑเดเตเดเตพ เดชเตเดฐเดคเตเดฏเตเดเด เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเด, เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดตเดฟเดเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตฝ เดเดตเดถเตเดฏเดฎเดพเดฃเต - เดถเดฐเดฟเดฏเดพเดฃเต. เดเดต เดเดฑเตเดฑเดตเตเด เด เดชเดเดเดเดฐเดฎเดพเดฏ เดฎเดพเดฑเตเดฑเดเตเดเดณเดพเดฃเต, เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดตเดฟเดตเดฐเดเตเดเตพ เดจเดทเตเดเดชเตเดชเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเดจเตเดจเต.
เดฎเดพเดฑเตเดฑเดเตเดเตพ เด เดตเดฒเตเดเดจเด เดเตเดฏเตเดคเตเดเดดเดฟเดเตเดเดพเตฝ, เด เดต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด
aws cloudformation execute-change-set --change-set-name "$changeset_id"
operation_lowercase=$(echo "$OPERATION" | tr '[:upper:]' '[:lower:]')
aws cloudformation wait "stack-${operation_lowercase}-complete"
--stack-name "$STACK_NAME"
เดชเดพเด เด 2: เดธเตโเดฑเตเดฑเตเดฑเตเดฑเตโเดซเตเตพ เดเดฑเดตเดฟเดเดเตเดเตพ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดคเดเดฏเดพเตป เดธเตเดฑเตเดฑเดพเดเตเดเต เดชเตเดณเดฟเดธเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเด
เดเดฟเดฒเดชเตเดชเตเตพ เดฎเดพเดฑเตเดฑเดเตเดเตพ เดเดฃเตเดเดพเตฝ เดฎเดพเดคเตเดฐเด เดชเตเดฐเดพ. เดจเดพเดฎเตเดฒเตเดฒเดพเดตเดฐเตเด เดฎเดจเตเดทเตเดฏเดฐเดพเดฃเต, เดจเดพเดฎเตเดฒเตเดฒเดพเดตเดฐเตเด เดคเตเดฑเตเดฑเตเดเตพ เดตเดฐเตเดคเตเดคเตเดจเตเดจเต. เดเดเตเดเตพ เดฎเดพเดฑเตเดฑเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดฟเดฏเดคเดฟเดจเต เดคเตเดเตเดเตเดชเดฟเดจเตเดจเดพเดฒเต, เดเดจเตเดฑเต เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเตป เด เดฑเดฟเดฏเดพเดคเต เดเดฐเต เดตเดฟเดจเตเดฏเดพเดธเด เดจเดเดคเตเดคเดฟ, เด เดคเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เด เดชเตโเดกเตเดฑเตเดฑเดฟเดจเต เดเดพเดฐเดฃเดฎเดพเดฏเดฟ. เดชเดฐเตเดเตเดทเดฃ เด เดจเตเดคเดฐเตเดเตเดทเดฎเดพเดฏเดคเดฟเดจเดพเตฝ เดฎเตเดถเดฎเดพเดฏเดฟ เดเดจเตเดจเตเด เดธเดเดญเดตเดฟเดเตเดเดฟเดฒเตเดฒ.
เดเดเตเดเดณเตเดเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดฎเดพเดฑเตเดฑเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดเดตเดถเตเดฏเดชเตเดชเตเดเตเดเดฏเตเด เดเตเดฏเตโเดคเตเดเตเดเดฟเดฒเตเด, เดฎเดพเดฑเตเดฑเดเตเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดตเดณเดฐเต เดตเดฒเตเดคเดพเดฏเดคเดฟเดจเดพเตฝ เดธเตโเดเตเดฐเตเดจเดฟเตฝ เดเตเดฐเดพเดคเตเดคเดคเดฟเดจเดพเตฝ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตฝ เดฎเดพเดฑเตเดฑเด เดเดดเดฟเดตเดพเดเตเดเดฟ. เดเตเดธเตเดฑเตเดฑเดฟเดเดเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดเดคเตเดฐเต เดธเดพเดงเดพเดฐเดฃ เด เดชเตโเดกเตเดฑเตเดฑเต เดเดฏเดคเดฟเดจเดพเตฝ, เดฎเดพเดฑเตเดฑเดเตเดเดณเดฟเตฝ เดเดพเดฐเตเดฏเดฎเดพเดฏ เดถเตเดฐเดฆเตเดง เดเตเดฒเตเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ.
เดจเดฟเดเตเดเตพ เดเดฐเดฟเดเตเดเดฒเตเด เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเดพเดจเต เดจเตเดเตเดเด เดเตเดฏเตเดฏเดพเดจเต เดเดเตเดฐเดนเดฟเดเตเดเดพเดคเตเดค เดเดฑเดตเดฟเดเดเตเดเดณเตเดฃเตเดเต. เดเดต เดเดฐเต RDS เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเตปเดธเตเดฑเตเดฑเตปเดธเต เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฐเต เดเดฒเดพเดธเตเดฑเตเดฑเดฟเดเต เดธเตเตผเดเตเดเต เดเตเดฒเดธเตเดฑเตเดฑเตผ เดชเตเดฒเตเดฏเตเดณเตเดณ เดธเตเดฑเตเดฑเตเดฑเตเดฑเตเดซเตเตพ เดธเตเดตเดจเดเตเดเดณเดพเดฃเต. เดจเดเดคเตเดคเตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เด
เดคเตเดคเดฐเด เดเดฐเต เดเดฑเดตเดฟเดเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดฃเตเดเดฟ เดตเดจเตเดจเดพเตฝ, aws เดธเตเดตเดฏเดฎเตเดต เดตเดฟเดจเตเดฏเดพเดธเด เดจเดฟเดฐเดธเดฟเดเตเดเตเดจเตเดจเดคเต เดจเดจเตเดจเดพเดฏเดฟเดฐเดฟเดเตเดเตเด. เดญเดพเดเตเดฏเดตเดถเดพเตฝ, เดเตเดฒเตเดกเต เดซเตเตผเดฎเตเดทเดจเดฟเตฝ เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเดฐเต เด
เดจเตเดคเตผเดจเดฟเตผเดฎเตเดฎเดฟเดค เดฎเดพเตผเดเดฎเตเดฃเตเดเต. เดเดคเดฟเดจเต เดธเตเดฑเตเดฑเดพเดเตเดเต เดชเตเดณเดฟเดธเดฟ เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดเตเดเตเดคเตฝ เดตเดพเดฏเดฟเดเตเดเดพเด
STACK_NAME=$1
RESOURCE_ID=$2
POLICY_JSON=$(cat <<EOF
{
"Statement" : [{
"Effect" : "Deny",
"Action" : [
"Update:Replace",
"Update:Delete"
],
"Principal": "*",
"Resource" : "LogicalResourceId/$RESOURCE_ID"
}]
}
EOF
)
aws cloudformation set-stack-policy --stack-name "$STACK_NAME"
--stack-policy-body "$POLICY_JSON"
เดชเดพเด เด 3: เดฐเดนเดธเตเดฏ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเดณเตเดณ เดเดฐเต เดธเตเดฑเตเดฑเดพเดเตเดเต เด เดชเตเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ UsePreviousValue เดเดชเดฏเตเดเดฟเดเตเดเตเด
เดจเดฟเดเตเดเตพ เดเดฐเต RDS mysql เดเดจเตเดฑเดฟเดฑเตเดฑเดฟ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ, AWS เดจเดฟเดเตเดเดณเตเดเต เดเดฐเต MasterUsername, MasterUserPassword เดเดจเตเดจเดฟเดต เดจเตฝเดเดฃเดฎเตเดจเตเดจเต เดเดตเดถเตเดฏเดชเตเดชเตเดเตเดจเตเดจเต. เดธเตเดดเตเดธเต เดเตเดกเดฟเตฝ เดฐเดนเดธเตเดฏเดเตเดเตพ เดธเตเดเตเดทเดฟเดเตเดเดพเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต เดเดจเตเดจเดคเดฟเดจเดพเดฒเตเด เดเดฒเตเดฒเดพเด เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเดคเดฟเดจเดพเดฒเตเด เดเดพเตป เดเดฐเต "เดธเตเดฎเดพเตผเดเตเดเต เดฎเตเดเตเดเดพเดจเดฟเดธเด" เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟ, เด เดตเดฟเดเต เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ s3 เตฝ เดจเดฟเดจเตเดจเต เดฒเดญเดฟเดเตเดเตเด, เดเตเดเดพเดคเต เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดชเตเดคเดฟเดฏ เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต. s3-เตฝ เดธเตเดเตเดทเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เด เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ เดเตเดฒเตเดกเต เดซเตเตผเดฎเตเดทเตป เดเตเดฐเดฟเดฏเตเดฑเตเดฑเต-เดเตเดเตเดเต-เดธเตเดฑเตเดฑเต เดเดฎเดพเตปเดกเดฟเดฒเตเดเตเดเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเดพเดฏเดฟ เดเตเดฎเดพเดฑเตเด. เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดชเดฐเตเดเตเดทเดฃเด เดจเดเดคเตเดคเตเดฎเตเดชเตเตพ, s3-เดฏเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฃเดเตเดทเตป เดจเดทเตเดเดชเตเดชเตเดเตเดเต, เดชเตเดคเดฟเดฏ เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดธเดฟเดเตเดจเดฒเดพเดฏเดฟ เดเดจเตเดฑเต "เดธเตเดฎเดพเตผเดเตเดเต เดฎเตเดเตเดเดพเดจเดฟเดธเด" เด เดคเดฟเดจเต เดเดฃเดเตเดเดพเดเตเดเดฟ.
เดเดพเตป เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเตฝ เด เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดฟเดฏเดพเตฝ, เดตเตเดฃเตเดเตเด เดเดฃเดเตเดทเตป เดชเตเดฐเดถเตเดจเด เดธเดเดญเดตเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เด เดคเต เดชเตเดคเดฟเดฏ เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตเดฑเตเดฑเดพเดเตเดเต เด เดชเตเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด. เด เดชเตเดฐเดคเตเดฏเตเด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดฎเตเดถเดฎเดพเดฏ เดเดจเตเดจเตเด เดธเดเดญเดตเดฟเดเตเดเดฟเดฒเตเดฒ. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดเดพเตป เด เดธเดฎเตเดชเดจเด เดเดชเตเดเตเดทเดฟเดเตเดเต เดฎเดฑเตเดฑเตเดจเตเดจเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดฟ, เดเดฐเดฟเดเตเดเตฝ เดฎเดพเดคเตเดฐเด เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ เดจเตฝเดเตเดจเตเดจเต - เดธเตเดฑเตเดฑเดพเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ. เดชเดฟเดจเตเดจเตเดเต, เดธเตเดฑเตเดฑเดพเดเตเดเดฟเดจเต เด เดชเตโเดกเตเดฑเตเดฑเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเตเตพ, เดชเดฐเดพเดฎเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต เดฐเดนเดธเตเดฏ เดฎเตเดฒเตเดฏเด เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดชเดเดฐเด, เดเดพเตป เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเด UsePreviousValue=true:
aws cloudformation create-change-set
--change-set-name "$CHANGE_SET_NAME"
--stack-name "$STACK_NAME"
--template-body "$TPL_PATH"
--change-set-type "UPDATE"
--parameters "ParameterKey=MasterUserPassword,UsePreviousValue=true"
เดชเดพเด เด 4: เดฑเตเตพเดฌเดพเดเตเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด
เดเดพเตป เดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเด เดฎเดฑเตเดฑเตเดฐเต เดเตเด เดซเดเดเตโเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเตเดเดฎเดพเดฑเตเดฑเด, เดตเดฟเดณเดฟเดเตเดเต เดฑเตเตพเดฌเดพเดเตเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป. เดเดพเตป เดเดคเต เดฎเตเดฎเตเดชเต เดเดฃเตเดเดฟเดเตเดเดฟเดฒเตเดฒ, เด เดคเต เดเดจเตเดฑเต เดธเตเดฑเตเดฑเดพเดเตเดเตเดเตพ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจเดคเต เดเตเดเตเดคเตฝ เดคเดฃเตเดชเตเดชเดฟเดเตเดเตเดฎเตเดจเตเดจเต เดชเตเดเตเดเตเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดฟ. เดเตเดฒเตเดกเต เดซเตเตผเดฎเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต เดฒเดพเดเดกเดฏเดฟเดฒเตเดเตเดเต เดเดธเดฟเดเดธเดฟเดฒเตเดเตเดเต เดเดจเตเดฑเต เดเตเดกเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดฎเตเดชเตเดดเตเดฒเตเดฒเดพเด เดเดพเตป เดเดชเตเดชเตเตพ เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดเดคเต เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต: เดจเดฟเดเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเด CloudWatch เด เดฒเดพเดฑเด เดชเดฐเดพเดฎเตเดฑเตเดฑเดฑเดฟเตฝ --rollback-configurationเดจเดฟเดเตเดเตพ เดเดฐเต เดฎเดพเดฑเตเดฑเด เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ. เดชเดฟเดจเตเดจเตเดเต, เดจเดฟเดเตเดเตพ เดเดฐเต เดเตเดเตเดเด เดฎเดพเดฑเตเดฑเดเตเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดฎเตเดชเตเตพ, aws เดเดฐเต เดฎเดฟเดจเดฟเดฑเตเดฑเตเดเตเดเดฟเดฒเตเด เด เดฒเดพเดฑเด เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต. เด เดธเดฎเดฏเดคเตเดคเต เด เดฒเดพเดฑเด เด เดตเดธเตเดฅเดฏเต ALARM เดเดฏเดฟ เดฎเดพเดฑเตเดฑเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ เด เดคเต เดตเดฟเดจเตเดฏเดพเดธเด เดชเดฟเตปเดตเดฒเดฟเดเตเดเตเด.
เดเดฐเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดเดฆเตเดงเดฐเดฃเดฟเดฏเตเดเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดเตเดตเดเตเดฏเตเดฃเตเดเต เดฎเตเดเดฎเดพเดฑเตเดฑเดเด เดคเดฟเตฝ เดเดพเตป เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต เดเตเดฒเตเดกเต เดตเดพเดเตเดเต เด เดฒเดพเดฑเด, เดเตเดฒเตเดกเต เดฒเตเดเตเดเดณเดฟเดฒเต เดชเดฟเดถเดเตเดเดณเตเดเต เดเดฃเตเดฃเดฎเดพเดฏเดฟ เดเดฐเต เดเตเดฒเตเดกเต เดฏเตเดธเตผ เดฎเตเดเตเดฐเดฟเดเต เดเตเดฐเดพเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต (เดฎเตเดเตเดฐเดฟเดเต เดเดจเดฑเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดตเดดเดฟเดฏเดพเดฃเต เดฎเตเดเตเดฐเดฟเดเต เดซเดฟเตฝเดฑเตเดฑเตผ):
Resources:
# this metric tracks number of errors in the cloudwatch logs. In this
# particular case it's assumed logs are in json format and the error logs are
# identified by level "error". See FilterPattern
ErrorMetricFilter:
Type: AWS::Logs::MetricFilter
Properties:
LogGroupName: !Ref LogGroup
FilterPattern: !Sub '{$.level = "error"}'
MetricTransformations:
- MetricNamespace: !Sub "${AWS::StackName}-log-errors"
MetricName: Errors
MetricValue: 1
DefaultValue: 0
ErrorAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: !Sub "${AWS::StackName}-errors"
Namespace: !Sub "${AWS::StackName}-log-errors"
MetricName: Errors
Statistic: Maximum
ComparisonOperator: GreaterThanThreshold
Period: 1 # 1 minute
EvaluationPeriods: 1
Threshold: 0
TreatMissingData: notBreaching
ActionsEnabled: yes
เดเดชเตเดชเตเตพ เด เดฒเดพเดฑเด เดเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเดพเด เดฑเตเตพเดฌเดพเดเตเดเต เดเตเตพเดฌเตเดเตเดธเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ เดเตเดฐเดฟเดเตผ เดเตเดฏเตเดฏเตเด:
ALARM_ARN=$1
ROLLBACK_TRIGGER=$(cat <<EOF
{
"RollbackTriggers": [
{
"Arn": "$ALARM_ARN",
"Type": "AWS::CloudWatch::Alarm"
}
],
"MonitoringTimeInMinutes": 1
}
EOF
)
aws cloudformation create-change-set
--change-set-name "$CHANGE_SET_NAME"
--stack-name "$STACK_NAME"
--template-body "$TPL_PATH"
--change-set-type "UPDATE"
--rollback-configuration "$ROLLBACK_TRIGGER"
เดชเดพเด เด 5: เดจเดฟเดเตเดเตพ เดเตเดเดชเตเดฒเตเดฑเตเดฑเดฟเดจเตเดฑเต เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเตเด
เดเตเดฒเตเดกเตโเดซเตเตผเดฎเตเดทเตป เดเตเดเดชเตเดฒเตเดฑเตเดฑเดฟเดจเตเดฑเต เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเดจเตเดเตเดเดพเตพ เดเตเดฑเดเตเด เดชเดคเดฟเดชเตเดชเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดพเดฃเต, เดเดจเตเดจเดพเตฝ เด เดเตเดเดจเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดตเดณเดฐเตเดฏเดงเดฟเดเด เดจเดพเดถเดฎเตเดฃเตเดเดพเดเตเดเตเด. เดเดคเต เดเดเตเดเตพเดเตเดเต เดเดฐเดฟเดเตเดเตฝ เดธเดเดญเดตเดฟเดเตเดเต: เดเดฐเต เดกเตเดตเดฒเดชเตเดชเตผ Git-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดฎเดพเดฑเตเดฑเดเตเดเตพ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ, เดเตเดเดพเดคเต เดธเตเดฑเตเดฑเดพเดเตเดเดฟเดจเตเดฑเต เดฎเตเตป เดชเดคเดฟเดชเตเดชเต เด เดฑเดฟเดฏเดพเดคเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเต. เดเดคเต เด เดธเตเดฑเตเดฑเดพเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเด เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดฏ เดธเดฎเดฏเดคเตเดคเดฟเดจเต เดเดพเดฐเดฃเดฎเดพเดฏเดฟ.
เดถเดพเดเดฏเดฟเตฝ เดเตผเดชเตเดชเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด เดคเต เดเดพเดฒเดฟเดเดฎเดพเดฃเต เดเดจเตเดจเดฑเดฟเดฏเดพเตป เดเดฐเต เดเตเดเตเดเต เดเตเตผเดเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต เดตเดณเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฃเต (เดเดฟเดฑเตเดฑเต เดจเดฟเดเตเดเดณเตเดเต เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃ เดเดชเดเดฐเดฃเดฎเดพเดฃเตเดจเตเดจเต เดเดฐเตเดคเตเด):
git fetch
HEADHASH=$(git rev-parse HEAD)
UPSTREAMHASH=$(git rev-parse master@{upstream})
if [[ "$HEADHASH" != "$UPSTREAMHASH" ]] ; then
echo "Branch is not up to date with origin. Aborting"
exit 1
fi
เดชเดพเด เด 6: เดเดเตเดฐเด เดตเตเดฃเตเดเตเด เดเดฃเตเดเตเดชเดฟเดเดฟเดเตเดเดฐเตเดคเต
เดเตเดเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต เดคเตเดจเตเดจเดฟเดฏเตเดเตเดเดพเด เดฎเตเดเดฎเดพเดฑเตเดฑเด - เด เดคเต เดเดณเตเดชเตเดชเดฎเดพเดฃเต. aws cli เดเดฎเดพเตปเดกเตเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดพเตป เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเตเดเตเดเด เดฌเดพเดทเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฃเต.
4 เดตเตผเดทเด เดฎเตเดฎเตเดชเต เดเดพเตป aws cloudformation create-stack เดเดฎเดพเตปเดกเต เดเดจเตเดจ เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเดฃเต เดเดฐเดเดญเดฟเดเตเดเดคเต. เดคเดพเดฎเดธเดฟเดฏเดพเดคเต เดคเดฟเดฐเดเตเดเดฅ เดฒเดณเดฟเดคเดฎเดฒเตเดฒเดพเดคเดพเดฏเดฟ. เดชเด เดฟเดเตเด เดเดฐเต เดชเดพเด เดตเตเด เดคเดฟเดฐเดเตเดเดฅเดฏเต เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดเตเดเดฟ. เดเดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดฌเดเตเดเดณเตเด เดจเดฟเดฑเดเตเดเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต.
เดเดพเตป เดเดชเตเดชเตเตพ เดเดฐเต เดเตเดฑเดฟเดฏ เดเดเดฟ เดกเดฟเดชเตเดชเดพเตผเดเตเดเตเดฎเตเดจเตเดฑเดฟเตฝ เดเตเดฒเดฟ เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดฐเต เดเตเดฎเดฟเดจเตเด เดเตเดฒเตเดกเต เดซเตเตผเดฎเตเดทเตป เดธเตเดฑเตเดฑเดพเดเตเดเตเดเตพ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเตป เด เดคเดฟเดจเตเดฑเตเดคเดพเดฏ เดฐเตเดคเดฟเดฏเตเดฃเตเดเตเดจเตเดจเต เด เดจเตเดญเดตเด เดคเตเดณเดฟเดฏเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเต. เด เดคเต เดฎเตเดถเดฎเดพเดฃเต. เดเดฒเตเดฒเดพเดตเดฐเตเด เดเดฐเต เดธเดฎเตเดชเดจเด เดธเตเดตเตเดเดฐเดฟเดเตเดเดพเตฝ เดจเดจเตเดจเดพเดฏเดฟเดฐเดฟเดเตเดเตเด. เดญเดพเดเตเดฏเดตเดถเดพเตฝ, เดเตเดฒเตเดกเต เดซเตเตผเดฎเตเดทเตป เดธเตเดฑเตเดฑเดพเดเตเดเตเดเตพ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเดจเตเด เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเดพเดจเตเด เดจเดฟเดเตเดเดณเต เดธเดนเดพเดฏเดฟเดเตเดเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดเตเดณเตเดเตพ เดฒเดญเตเดฏเดฎเดพเดฃเต.
เดคเตเดฑเตเดฑเตเดเตพ เดเดดเดฟเดตเดพเดเตเดเดพเตป เด เดชเดพเด เดเตเดเตพ เดจเดฟเดเตเดเดณเต เดธเดนเดพเดฏเดฟเดเตเดเตเด.
เด
เดตเดฒเดเดฌเด: www.habr.com