เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจฆเจฟเฉฑเจคเจพ เจเจฒเจพเจเจกเจซเจพเจฐเจฎเฉเจธเจผเจจ 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"
เจเฉฑเจ เจตเจพเจฐ เจเฉฑเจ เจคเจฌเจฆเฉเจฒเฉ เจธเฉเฉฑเจ เจฌเจฃ เจเจพเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ, เจเจธเจฆเจพ เจฎเฉเจเฉเจฆเจพ เจธเจเฉเจ 'เจคเฉ เจเฉเจ เจชเฉเจฐเจญเจพเจต เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพเฅค เจ
เฉฑเจชเจกเฉเจ เจเจฎเจพเจเจก เจฆเฉ เจเจฒเจ, changeset เจชเจนเฉเฉฐเจ เจ
เจธเจฒ เจคเฉเจจเจพเจคเฉ เจจเฉเฉฐ เจเจพเจฒเฉ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเฉเฅค เจเจธเจฆเฉ เจฌเจเจพเจ, เจเจน เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจเฉฑเจ เจธเฉเจเฉ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ เจเจฟเจธเจฆเฉ เจคเฉเจธเฉเจ เจคเฉเจจเจพเจคเฉ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจธเจฎเฉเจเจฟเจ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจคเฉเจธเฉเจ 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 |
+---------+--------------------+----------------------+------------+
เจคเจฌเจฆเฉเจฒเฉเจเจ 'เจคเฉ เจตเจฟเจธเจผเฉเจธเจผ เจงเจฟเจเจจ เจฆเจฟเจ เจเจฟเฉฑเจฅเฉ เจเจเจธเจผเจจ เจนเฉ เจฌเจฆเจฒเฉ, เจนเจเจพเจ เจเจพเจ เจเจฟเฉฑเจฅเฉ Replacement Needed - เจธเฉฑเจ เจนเฉ. เจเจน เจธเจญ เจคเฉเจ เจเจผเจคเจฐเจจเจพเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจนเจจ เจ เจคเฉ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉ เจจเฉเจเจธเจพเจจ เจฆเจพ เจเจพเจฐเจจ เจฌเจฃเจฆเฉเจเจ เจนเจจเฅค
เจเฉฑเจ เจตเจพเจฐ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจธเจฎเฉเจเจฟเจ เจนเฉเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจนเจจเจพเจ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ
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 เจกเฉเจเจพเจฌเฉเจธ เจเจฆเจพเจนเจฐเจจ เจเจพเจ เจเฉฑเจ elasticsearch เจเจฒเฉฑเจธเจเจฐ, เจเจฆเจฟเฅค เจเจน เจเฉฐเจเจพ เจนเฉเจตเฉเจเจพ เจเฉเจเจฐ 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 เจตเจฟเฉฑเจ เจธเจเฉเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจเจน เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐ เจซเจฟเจฐ เจเจฒเจพเจเจกเจซเจพเจฐเจฎเฉเจธเจผเจจ create-change-set เจเจฎเจพเจเจก เจจเฉเฉฐ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจตเจเฉเจ เจชเจพเจธ เจเฉเจคเฉ เจเจพเจฃเจเฉเฅค เจธเจเฉเจฐเจฟเจชเจ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเจฏเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจเจน เจนเฉเจเจ เจเจฟ s3 เจจเจพเจฒ เจเฉเจจเฉเจเจธเจผเจจ เจเจคเจฎ เจนเฉ เจเจฟเจ เจธเฉ, เจ เจคเฉ เจฎเฉเจฐเฉ "เจธเจฎเจพเจฐเจ เจตเจฟเจงเฉ" เจจเฉ เจเจธเจจเฉเฉฐ เจจเจตเฉเจ เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉฑเจ เจธเฉฐเจเฉเจค เจตเจเฉเจ เจฎเฉฐเจจเจฟเจเฅค
เจเฉ เจฎเฉเจ เจเจธ เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจตเจฐเจคเจฃเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจ เจคเฉ เจเฉเจจเฉเจเจธเจผเจจ เจธเจฎเฉฑเจธเจฟเจ เจฆเฉเจฌเจพเจฐเจพ เจนเฉ เจเจ, เจคเจพเจ เจเจน เจจเจตเฉเจ เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐเจพเจ เจจเจพเจฒ เจธเจเฉเจ เจจเฉเฉฐ เจ เจชเจกเฉเจ เจเจฐเฉเจเจพเฅค เจเจธ เจตเจฟเจธเจผเฉเจธเจผ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจเฉเจ เจตเฉ เจฌเฉเจฐเจพ เจจเจนเฉเจ เจนเฉเจตเฉเจเจพ. เจนเจพเจฒเจพเจเจเจฟ, เจฎเฉเจ เจเจธ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจเฉฑเจก เจฆเจฟเฉฑเจคเจพ เจนเฉ เจ เจคเฉ เจเฉฑเจ เจนเฉเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเฉ เจธเจผเฉเจฐเฉ เจเจฐ เจฆเจฟเฉฑเจคเฉ เจนเฉ, เจธเจฟเจฐเจซ เจเฉฑเจ เจตเจพเจฐ เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเฉเจ - เจธเจเฉเจ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ. เจ เจคเฉ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ, เจเจฆเฉเจ เจธเจเฉเจ เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเฉ เจเฉเจชเจค เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจฆเฉ เจฌเจเจพเจ, เจฎเฉเจ เจฌเจธ เจตเจฐเจคเจพเจเจเจพ PreviousValue=เจธเจนเฉ เจตเจฐเจคเฉเจ:
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 เจ เจฒเจพเจฐเจฎ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจตเจฟเฉฑเจ --เจฐเฉเจฒเจฌเฉเจ-เจธเฉฐเจฐเจเจจเจพเจเจฆเฉเจ เจคเฉเจธเฉเจ เจเฉฑเจ เจคเจฌเจฆเฉเจฒเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉเฅค เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ, เจเจฆเฉเจ เจคเฉเจธเฉเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเจพ เจเฉฑเจ เจธเฉเฉฑเจ เจเจฒเจพเจเจเจฆเฉ เจนเฉ, เจคเจพเจ 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 เจเจฒเจพเจเจกเจซเจพเจฐเจฎเฉเจธเจผเจจ เจฌเจฃเจพเจ-เจธเจเฉเจ เจเจฎเจพเจเจก เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจฒเจฆเฉ เจนเฉ เจธเจเฉเจฐเจฟเจชเจ เจธเจงเจพเจฐเจจ เจจเจนเฉเจ เจฐเจนเฉเฅค เจธเจฟเฉฑเจเฉ เจเจ เจนเจฐ เจธเจฌเจ เจจเฉ เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจนเฉเจฐ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃเจพ เจฆเจฟเฉฑเจคเจพ เจนเฉเฅค เจเจน เจจเจพ เจธเจฟเจฐเจซเจผ เจเจเจพ เจธเฉ, เจธเจเฉเจ เจฌเฉฑเจเจพเจ เจจเจพเจฒ เจตเฉ เจญเจฐเจฟเจ เจนเฉเจเจ เจธเฉเฅค
เจฎเฉเจ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจเฉ IT เจตเจฟเจญเจพเจ เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเจพเจเฅค เจคเจเจฐเจฌเฉ เจจเฉ เจฆเจฟเจเจพเจเจ เจนเฉ เจเจฟ เจนเจฐเฉเจ เจเฉเจฎ เจเฉเจฒ เจเจฒเจพเจเจกเจซเจพเจฐเจฎเฉเจธเจผเจจ เจธเจเฉเจ เจจเฉเฉฐ เจคเจพเจเจจเจพเจค เจเจฐเจจ เจฆเจพ เจเจชเจฃเจพ เจคเจฐเฉเจเจพ เจนเฉเฅค เจ เจคเฉ เจเจน เจฌเฉเจฐเจพ เจนเฉ. เจเฉฐเจเจพ เจนเฉเจตเฉเจเจพ เจเฉเจเจฐ เจนเจฐ เจเฉเจ เจเฉฑเจเฉ เจเจฟเจนเฉ เจชเจนเฉเฉฐเจ เจ เจชเจฃเจพเจตเฉเฅค เจเฉเจธเจผเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจเจฒเจพเจเจกเจซเจพเจฐเจฎเฉเจธเจผเจจ เจธเจเฉเจ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจ เจคเฉ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจตเจฟเฉฑเจ เจคเฉเจนเจพเจกเฉ เจฎเจฆเจฆ เจเจฐเจจ เจฒเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจเฉเจฒ เจเจชเจฒเจฌเจง เจนเจจเฅค
เจเจน เจธเจฌเจ เจเจฒเจคเฉเจเจ เจคเฉเจ เจฌเจเจฃ เจตเจฟเฉฑเจ เจคเฉเจนเจพเจกเฉ เจฎเจฆเจฆ เจเจฐเจจเจเฉเฅค
เจธเจฐเฉเจค: www.habr.com