AWS AppStream 2.0是一项完全托管的非持久性应用程序和桌面服务。您可以在 AppStream 2.0 上集中管理桌面应用程序,并将它们安全地交付到任何计算机上。 AppStream 2.0具有内置功能,可以扩展到全球任何数量的用户,而无需购买,供应和操作硬件或基础架构。Slack是一个专有的商业通信平台,提供许多IRC样式的功能,包括按主题,私人团体和直接消息组织的持久聊天室。
该博客着重介绍了一种方法,该方法可用于使用协作工具Slack直接地触发AppStream2.0按需扩展规模,而无需使用API或登录AWS控制台。这使管理员和用户的工作更加轻松的管理AppStream2.0。
让我们开始建立这个解决方案吧
开始之前,需要满足以下先决条件:
第一步 – 为AWS Lambda函数创建AWS IAM执行角色
首先是创建IAM执行角色, 为Lambda函数提供执行AppStream2.0机群大小增加所需的权限。
下面介绍创建IAM角色的步骤。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"appstream:DescribeStacks",
"appstream:UpdateFleet",
"appstream:ListAssociatedFleets",
"appstream:DescribeSessions",
"appstream:DescribeUserStackAssociations",
"appstream:DescribeFleets",
"appstream:ListAssociatedStacks"
],
"Resource": [
"arn:aws:appstream:*:AWS_ACCOUNT_ID:fleet/FLEET_NAME"
"arn:aws:appstream:*:*:stack/*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"appstream:GetImageBuilders",
"appstream:DescribeDirectoryConfigs",
"appstream:DescribeUsers",
"appstream:DescribeUsageReportSubscriptions",
"appstream:ListTagsForResource"
],
"Resource": "*"
}
]
}
第二步 – 创建 Lambda 函数以触发 AppStream2.0 队列大小增加
Parameter | Description | Value set in this example |
---|---|---|
Name | The name of your AppStream2.0 fleet | ExampleFleet |
DesiredInstances* | The number of AppStream2.0 instances you wish to increase to. | 50* |
* 在此示例中,我们将值设置为 50。但是,默认的最大队列规模配额为 10。要请求增加配额,请联系 AWS 支持团队。
'use strict';
/**
This AppStream2 Lambda function increases the size of the fleet to 50 instances.
**/
const AWS = require('aws-sdk');
const appstream = new AWS.AppStream();
const fleetParams = {
Name: 'ExampleFleet', /* change this value */
ComputeCapacity: {
DesiredInstances: 50 /* change this value */
}
};
exports.handler = (event, context, callback) => {
console.log('Received event:', JSON.stringify(event, null, 2));
fleetParams.ComputeCapacity.DesiredInstances
appstream.updateFleet(fleetParams, (error, data) => {
if (error) {
console.log(error, error.stack);
return callback(error);
}
console.log(data);
return callback(null, data);
});
};
第三步 – 创建一个 Slack 频道
第四步 – 为 Slack 频道设置 Chatbot
Notification permissions
Read-only command permissions
Lamda-invoke command permissions
AWS Support command permissions
最后一步 – 邀请 AWS Chatbot 进入您的 Slack 频道。
下列图显示了队列成功增加到 50:
通过此博客,我们向您展示了一种使用协作工具来管理 AWS AppStream2.0 队列的简便方法。您可以进一步利用 Slack 提取相关 AWS AppStream2.0 的 AWS CloudWatch 数据,以监视 AWS AppStream2.0 队列的状态并从 Slack 频道管理队列。
作者介绍:
Amazon Web Services 公司专业服务团队 WorkSpaces 顾问。
Amazon Web Services 公司专业服务团队顾问。
Amazon Web Services 公司专业服务团队 AppStream2.0 和 WorkSpaces 顾问。
本文转载自亚马逊 AWS 官方博客。
原文链接:
领取专属 10元无门槛券
私享最新 技术干货