I’m happy to announce that, beginning at present, you should use AWS Chatbot to troubleshoot and function your AWS assets from Microsoft Groups.
Speaking and collaborating on IT operation duties via chat channels is called ChatOps. It means that you can centralize the administration of infrastructure and purposes, in addition to to automate and streamline your workflows. It helps to supply a extra interactive and collaborative expertise, as you may talk and work together with your colleagues in actual time via a well-recognized chat interface to get the job finished.
We launched AWS Chatbot in 2020 with Amazon Chime and Slack integrations. Since then, the panorama of chat platforms has developed quickly, and lots of of you at the moment are utilizing Microsoft Groups.
AWS Chatbot Advantages
When utilizing AWS Chatbot for Microsoft Groups or different chat platforms, you obtain notifications from AWS providers instantly in your chat channels, and you’ll take motion in your infrastructure by typing instructions with out having to modify to a different instrument.
Sometimes you wish to obtain alerts about your system well being, your price range, any new safety risk or danger, or the standing of your CI/CD pipelines. Sending a message to the chat channel is so simple as sending a message on an Amazon Easy Notification Service (Amazon SNS) subject. Due to the native integration between Amazon CloudWatch alarms and SNS, alarms are routinely delivered to your chat channels with no extra configuration step required. Equally, due to the combination between Amazon EventBridge and SNS, any system or service that emits occasions to EventBridge can ship data to your chat channels.
However ChatOps is greater than the flexibility to identify issues as they come up. AWS Chatbot means that you can obtain predefined CloudWatch dashboards interactively and retrieve Logs Insights logs to troubleshoot points instantly from the chat thread. You may also instantly kind within the chat channel most AWS Command Line Interface (AWS CLI) instructions to retrieve extra telemetry information or useful resource data or to run runbooks to remediate the problems.
Typing and remembering lengthy instructions is tough. With AWS Chatbot, you may outline your individual aliases to reference often used instructions and their parameters. It reduces the variety of steps to finish a job. Aliases are versatile and might comprise a number of customized parameters injected on the time of the question.
And since chat channels are designed for dialog, you too can ask questions in pure language and have AWS Chatbot reply you with related extracts from the AWS documentation or assist articles. Pure language understanding additionally means that you can make queries equivalent to “present me my ec2 situations in eu-west-3.”
Let’s Configure the Integration Between AWS Chatbot and Microsoft Groups
Getting began is a two-step course of. First, I configure my workforce in Microsoft Groups. As a Groups administrator, I add the AWS Chatbot utility to the workforce, and I pay attention to the URL of the channel I wish to use for receiving notifications and working AWS assets from Microsoft Groups channels.
Second, I register Microsoft Groups channels in AWS Chatbot. I additionally assign IAM permissions on what channel members can do on this channel and affiliate SNS subjects to obtain notifications. I could configure AWS Chatbot with the AWS Administration Console, an AWS CloudFormation template, or the AWS Cloud Growth Package (AWS CDK). For this demo, I select to make use of the console.
I open the Administration Console and navigate to the AWS Chatbot part. On the highest proper facet of the display, within the Configure a chat consumer field, I choose Microsoft Groups after which Configure consumer.
I enter the Microsoft Groups channel URL I famous within the Groups app.
At this stage, Chatbot redirects my browser to Microsoft Groups for authentication. If I’m already authenticated, I will probably be redirected again to the AWS console instantly. In any other case, I enter my Microsoft Groups credentials and one-time password and wait to be redirected.
At this stage, my Microsoft Groups workforce is registered with AWS Chatbot and able to add Microsoft Groups channels. I choose Configure new channel.
There are 4 sections to enter the main points of the configuration. Within the first part, I enter a Configuration title for my channel. Optionally, I additionally outline the Logging particulars. Within the second part, I paste—once more—the Microsoft Groups Channel URL.
Within the third part, I configure the Permissions. I can select between the identical set of permissions for all Microsoft Groups customers in my workforce, or I can set Person-level roles permission to allow user-specific permissions within the channel. On this demo, I choose Channel position, and I assign an IAM position to the channel. The position defines the permissions shared by all customers within the channel. For instance, I can assign a job that enables customers to entry configuration information from Amazon EC2 however not from Amazon S3. Below Channel position, I choose Use an current IAM position. Below Current position, I choose a job I created for my 2019 re:Invent discuss ChatOps: chatbot-demo
. This position provides read-only entry to all AWS providers, however I might additionally assign different roles that might permit Chatbot customers to take actions on their AWS assets.
To mitigate the chance that one other particular person in your workforce by accident grants greater than the mandatory privileges to the channel or user-level roles, you may also embrace Channel guardrail insurance policies. These are the utmost permissions your customers may need when utilizing the channel. At runtime, the precise permissions are the intersection of the channel or user-level insurance policies and the guardrail insurance policies. Guardrail insurance policies act like a boundary that channel customers won’t ever escape. The idea is just like permission boundaries for IAM entities or service management insurance policies (SCP) for AWS Organizations. On this instance, I connect the ReadOnlyAccess managed coverage.
The fourth and final part means that you can specify the SNS subject that would be the supply for notifications despatched to your workforce’s channel. Your purposes or AWS providers, equivalent to CloudWatch alarms, can ship messages to this subject, and AWS Chatbot will relay all messages to the configured Microsoft Groups channel. Due to the combination between Amazon EventBridge and SNS, any utility in a position to ship a message to EventBridge is ready to ship a message to Microsoft Groups.
For this demo, I choose an current SNS subject: alarmme
within the us-east-1
Area. You’ll be able to configure a number of SNS subjects to obtain alarms from numerous Areas. I then choose Configure.
Let’s Check the Integration
That’s it. Now I’m prepared to check my setup.
On the AWS Chatbot configuration web page, I first choose the Ship check message. I even have an alarm outlined when my estimated billing goes over $500. On the CloudWatch part of the Administration Console, I configure the alarm to put up a message on the SNS subject shared with Microsoft Groups.
Inside seconds, I obtain the check message and the alarm message on the Microsoft Groups channel.
Then I kind a command to grasp the place the billing alarm comes from. I wish to perceive what number of EC2 situations are operating.
On the chat consumer channel, I kind @aws
to pick Chatbot because the vacation spot, then the remainder of the CLI command, as I’d do in a terminal: ec2 describe-instances --region us-east-1 --filters "Identify=structure,Values=arm64_mac" --query "Reservations[].Situations[].InstanceId"
Chatbot solutions inside seconds.
I can create aliases for instructions I often use. Aliases could have placeholder parameters that I can provide at runtime, such because the Area title for instance.
I create an alias to get the record of my macOS occasion IDs with the command: aws alias create mac ec2 describe-instances --region $area --filters "Identify=structure,Values=arm64_mac" --query "Reservations[].Situations[].InstanceId"
Now, I can kind @aws alias run mac us-east-1
as a shortcut to get the identical end result as above. I may handle my aliases with the @aws alias record
, @aws alias get
, and @aws alias delete
instructions.
I don’t find out about you, however for me it’s arduous to recollect instructions. After I use the terminal, I depend on auto-complete to remind me of varied instructions and their choices. AWS Chatbot presents comparable command completion and guides me to gather lacking parameters.
When utilizing AWS Chatbot, I may ask questions utilizing pure English language. It may assist to seek out solutions from the AWS docs and from assist articles by typing questions equivalent to @aws how can I tag my EC2 situations?
or @aws how do I configure Lambda concurrency setting?
It may additionally discover assets in my account when AWS Useful resource Explorer is activated. For instance, I requested the bot: @aws what are the tags for my ec2 assets?
and @aws what Areas do I've Lambda service?
And I obtained these responses.
Due to AWS Chatbot, I spotted that I had a rogue Lambda operate left in
ca-central-1
. I used the AWS console to delete it.
Accessible Now
You can begin to make use of AWS Chatbot with Microsoft Groups at present. AWS Chatbot for Microsoft Groups is obtainable to obtain from Microsoft Groups app at no extra price. AWS Chatbot is obtainable in all public AWS Areas, at no extra cost. You pay for the underlying assets that you simply use. You may incur expenses out of your chat consumer.
Get began at present and configure your first integration with Microsoft Groups.