Essentials Stack
Introduction
In nOps Essentials, we're constantly developing and delivering new and new ways to save your money with simple, easy-to-understand actions. Our dynamic operation requires flexibility in the onboarding process and integration setup. That is why we have announced an upgraded way to configure Partner EventBridge. We've combined all the Essentials features into one CloudFormation Stack, which allows you to get the most out of it in one click.
Resources and permissions
You can always check the latest version of the CloudFormation Stack Template by following the link: Essentials Stack Template.
But we'll describe the main resources and permissions that the stack creates below. Let’s start from the parameters:
Version
[required] - version of Essentials Stack you will install by applying this action.PreviousVersion
[optional] - previous version of Essentials Stack (if it was installed) so Lambda can find and disable/delete it during update.EventBridgeName
[required] - Partner EventBridge’s name you specified when creating it.nOpsClientId
[required] - your nOps Client ID so Lambda can recognize who installed it.Environment
[required] - nOps Environment. Must always beprod
.
You can see the representation of resources and policies nOps use on the schema below:
Versioning
Each version of the stack has its own designation and brief description. The version has the following format vX.Y.Z
, where:
- X - major version, in which the architectural approach has been changed.
- Y - changes if we release a version that supports the new Essentials recommendation type.
- Z - minor version, which indicates bug fixes or improvements to the existing Y version.
Note: It doesn't matter which version of the stack you currently have installed. During the initial installation or update, you can always install only the latest available version of the stack because it is guaranteed to have the full list of features, fixes and improvements.
Note: if you have previously installed Scheduler or Essential stack - do not worry. nOps Essentials will continue to support legacy stacks and all your existing schedulers will continue to work. In the EventBridges list, you can see the following versions of old stacks:
- v0.1.0 if you installed Scheduler Stack.
- v0.2.0 if you installed Essential Stack.
- v0.3.0 if you installed both Scheduler and Essential Stacks previously.
Launching a stack
Go to nOps > Organization Settings > Integrations > EventBridge. In order to launch the stack, you need to create a Partner EventBridge first. You will find a detailed description of how to do this at the link: EventBridge Integration. Also, make sure that you are logged in in the browser under the AWS account on which you are going to configure EventBridge. A little bit later you will be automatically redirected to AWS.
Opposite the created EventBridge, you will see the status Not connected
and the Launch Stack
button.
After clicking on the button, you will see the already familiar description of the stack versions.
After reading the information, you need to click on Launch Stack
again in this window. At this point, you will be automatically redirected to the AWS stack creation page.
On the stack creation page, you need to check the box near “I acknowledge that AWS CloudFormation might create IAM resources with custom names” and click Create stack
.
Note: Do not change stack parameters unless necessary and with a clear understanding of the consequences. This can cause an error when creating resources.
Installing the stack takes about 5 minutes, after which you can return to the EventBridge integration page, click the Refresh button opposite EventBridge and check if the stack has been successfully installed and validated by nOps. You should see the current version and Connected status.
Congratulations, you have successfully set up your AWS Account and can enjoy all the privileges of nOps Essentials.
Updating a stack
Updating the stack is as easy as installing it initially. The EventBridge settings page will tell you about the need for an update. You will see a message indicating the current stack version and an upgrade offer if at least one EventBridge is configured with a lower version than the latest one.
Against each EventBridge created at the top of the list, you'll see the stack’s version installed and the corresponding status if an update is available (required).
Before updating, make sure that:
- EventBridge requires an update by clicking on the Refresh button on the right. We will automatically update the data about the installed version, so you can be sure that the data is not out of date, or that your colleague did not install the update before you.
- You are logged in to the browser under the AWS account on which you are going to update the stack.
To update the stack to the latest version, you need to click on the Update Stack
button on the right. You will see a description of the stack versions, the installed version and an Update Stack
button. Clicking on it will redirect you to the AWS page for creating a stack. Follow the steps above for the initial installation.
When installing a new version of the Essentials Stack, the previous stack is removed. This is done in two steps:
- First, we find the previously active EventBridge Rule that is handling events and disable it so that it stops sending events to the old lambda.
- After that, we try to completely remove the previous stack and its resources.
Note: Deleting a stack is fully safe because we don't use wildcards to access deletion. Our permissions allow us to delete only our previous stacks and resources created by them, nothing else.
Alternative launching/updating
You can perform all steps to install or update the stack directly from the recommendation details page. If the recommended action requires installing or updating the Essentials Stack, you'll see a notification below the Target field.
By clicking on Launch/Update stack
, you can install the stack without leaving the recommendation page.
Run additional stack for KMS keys access
nOps Essentials Stack requires additional permissions in order to allow you schedule or rightsize instances with encrypted EBS. To enable it, click on Add KMS Keys
. You will see two options: Use all KMS Keys
and Single KMS Key
. By choosing Use all KMS Keys
and clicking on Launch Stack
you will be redirected to the AWS Stack creation page. By submitting a suggested stack you will install additional permission that allows Lambda to encrypt EBS via all KMS Keys.
If you want to specify one particular KMS Key, choose Single KMS Key
and enter KMS Key ARN
in the input. Then click on Launch Stack
and submit suggested changes on AWS page.