硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

利用 Slack 和 AWS AppStream2.0 集成进行 AppStream2.0 Fleet 队列管理

  • 2020-11-04
  • 本文字数:2915 字

    阅读完需:约 10 分钟

利用 Slack 和 AWS AppStream2.0 集成进行 AppStream2.0 Fleet 队列管理

AWS AppStream 2.0 是一项完全托管的非持久性应用程序和桌面服务。您可以在 AppStream 2.0 上集中管理桌面应用程序,并将它们安全地交付到任何计算机上。 AppStream 2.0 具有内置功能,可以扩展到全球任何数量的用户,而无需购买,供应和操作硬件或基础架构。Slack 是一个专有的商业通信平台,提供许多 IRC 样式的功能,包括按主题,私人团体和直接消息组织的持久聊天室。


该博客着重介绍了一种方法,该方法可用于使用协作工具 Slack 直接地触发 AppStream2.0 按需扩展规模,而无需使用 API 或登录 AWS 控制台。这使管理员和用户的工作更加轻松的管理 AppStream2.0。


让我们开始建立这个解决方案吧

技术细节

开始之前,需要满足以下先决条件:


  • 配置了

  • 服务的 AWS 账户

  • 备用帐户

逐步设置

第一步 – 为 AWS Lambda 函数创建 AWS IAM 执行角色


首先是创建 IAM 执行角色, 为 Lambda 函数提供执行 AppStream2.0 机群大小增加所需的权限。


下面介绍创建 IAM 角色的步骤。


  • 登录到 AWS 控制台。在控制台中选择 IAM 服务。

  • 在左侧面板中选择“Policies”,然后单击“Create Policy”。

  • 在以下策略中,将显示的 AWS_ACCOUNT_ID 和 FLEET_NAME 替换为您的 AWS 账户 ID 号和 0 队列的名称。关于如何创建 Appstream2.0 队列,请参阅我们的文档


{    "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": "*"        }    ]}
复制代码


  • 在下一页中,选择“ JSON”选项卡。将更新的 IAM 策略(在步骤 3 中)复制并粘贴到 JSON 窗口中。

  • 单击“Review Policy”。

  • 在下一页中,为此新创建的策略提供名称 “AppStreamFleetIncreasePolicy”。

  • 选择“创建策略”。成功创建策略后,下一步是创建 IAM 执行角色并将此策略附加到角色。

  • 在 IAM 控制台下,在左侧面板中选择“角色”。

  • 选择“Create Role”。

  • 在下一页中,选择“ Lambda”服务作为用例。

  • 单击“Next: Permissions”。

  • 选择策略“ AppStreamFleetIncreasePolicy”,然后单击“Next: Tags”。

  • 单击“Next: Review” 。

  • 提供名称“ AppStreamFleetIncreaseRole”和说明。

  • 选择“Create role”。


第二步 – 创建 Lambda 函数以触发 AppStream2.0 队列大小增加


  • 打开 AWS Lambda 控制台。

  • 在 Lambda 控制台下。选择“创建功能”以创建一个新功能,以触发 AppStream2.0 队列规模增加。

  • 提供函数的名称和运行时。选择您在上一步中创建的 IAM 执行角色。



  • 选择“Create Function”。

  • 双击函数名称以打开您刚刚创建的函数。

  • 在以下脚本中更新以下参数:


ParameterDescriptionValue set in this example
NameThe name of your AppStream2.0 fleetExampleFleet
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);        });   };
复制代码


  • 单击“Save”以保存 Lambda 函数。


第三步 – 创建一个 Slack 频道


  • 在 Slack 控制台下,创建一个新频道,将此新频道命名为“appstream”。

  • 右键单击“appstream”频道,然后选择“Copy Link”。保存链接以供以后使用。



第四步 – 为 Slack 频道设置 Chatbot


  • 登录到AWS Chatbot控制台。

  • 从控制台的下拉列表中选择“ Slack”作为聊天客户端。



  • 点击配置。

  • 页面被重定向到 Slack 频道页面。点击“Allow”以登录到 Slack。



  • 页面重定向回到 AWS 控制台后,单击”Configure New Channel”。



  • 在 Slack 频道配置页面下,提供配置名称“ AppstreamIncrease50”。选择“Private”频道类型并提供频道 ID –这是您在上一步中复制的频道 ID。



  • AWS Chatbot 需要具有 IAM 角色才能运行命令并触发 AWS Lambda 函数。提供 Chatbot 的角色名称,然后选择以下策略模板:


Notification permissions


Read-only command permissions


Lamda-invoke command permissions


AWS Support command permissions



  • 检查设置,然后单击“Configure”。


最后一步 – 邀请 AWS Chatbot 进入您的 Slack 频道。


  • 打开您的 Slack 频道,然后输入“ / invite @aws”以邀请 AWS Chatbot 进入该频道。

  • 要执行增加队列的大小,请键入以下命令以增加队列的大小:“@ aws lambda invoke –function-name FleetIncrease50 –region ap-northeast-1”请注意,此命令将队列规模增加到 50。请根据需要调整数量。

  • 返回的消息应类似于以下内容:



  • 在 AWS AppStream2.0 控制台下,确认所需队列量已增加:



下列图显示了队列成功增加到 50:


结论

通过此博客,我们向您展示了一种使用协作工具来管理 AWS AppStream2.0 队列的简便方法。您可以进一步利用 Slack 提取相关 AWS AppStream2.0 的 AWS CloudWatch 数据,以监视 AWS AppStream2.0 队列的状态并从 Slack 频道管理队列。


作者介绍


徐欣蕾


Amazon Web Services 公司专业服务团队 WorkSpaces 顾问。


Vaibhav Singh


Amazon Web Services 公司专业服务团队顾问。


Ash Seshadri


Amazon Web Services 公司专业服务团队 AppStream2.0 和 WorkSpaces 顾问。


本文转载自亚马逊 AWS 官方博客。


原文链接


利用 Slack 和 AWS AppStream2.0 集成进行 AppStream2.0 Fleet 队列管理


2020-11-04 10:051778

评论

发布
暂无评论
发现更多内容

轻帆云移动端智能语音提单:一键触达,智能工单新体验,助力高效运营

云智慧AIOps社区

ITSM软件 IT服务管理 工单管理 智能工单

ODC24 AI服务生态分论坛:全新智慧服务引擎 带动服务分发增长

科技热闻

地平线与英伟达工具链 PTQ 工具功能参数对比与实操

地平线开发者

自动驾驶 算法

云管理平台公司大家都选哪家?选择时候需要考虑哪些因素?

行云管家

云计算 云管理

TiDB SEMI JION(半连接)优化实践

TiDB 社区干货传送门

实践案例

如何使用OpenAI文本Embedding模型构建AI系统

Zilliz

非结构化数据 Milvus zilliz cloud Embedding模型

TiDB 关联子查询及半连接的优化实践

TiDB 社区干货传送门

性能调优 实践案例

分布式数据库安全可靠测评名录之平凯数据库(TiDB企业版)

TiDB 社区干货传送门

数据库架构设计

PingCAP 与百胜中国联合实验室发布阶段性成果,以技术创新引领餐饮行业数字化转型

先锋IT

ABAQUS软件包括哪些模块?ABAQUS介绍

思茂信息

功能 abaqus 有限元

琼海市等保测评机构有哪些?在哪里?

行云管家

等保 等保测评 琼海

TDengine 3.3.3.0 版本上线:优化监控、增强 MongoDB 支持

TDengine

数据库 tdengine

TiDB 关联子查询优化实践

TiDB 社区干货传送门

实践案例

一文探索RareShop:首个面向消费者的RWA NFT商品发售平台

NFT Research

NFT\ nft工具

利用代理ip爬取Alibaba海外版数据

Yan-英杰

Python 后端

TiDB 社区第四届 1024 程序员心愿节来啦!没有 Bug ,只有 Luck!参与留言活动,许愿你想要的 TiDB 产品功能、周边、TiDB 课程 & 考证优惠,一起庆祝 1024 吧!

TiDB 社区干货传送门

利用 Slack 和 AWS AppStream2.0 集成进行 AppStream2.0 Fleet 队列管理_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章