阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

利用 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:051283

评论

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

华为云低代码来啦,好奇心满满的开发者们快来体验!

华为云PaaS服务小智

低代码 华为云 华为开发者大会2023

华为云能力中心开业暨项目签约活动圆满举办!

新消费日报

软件测试/测试开发丨Python常用数据结构学习笔记

测试人

Python 数据结构 软件测试 集合 列表

关于项目初期,数据量小的内容推荐的实现方法

北桥苏

推荐算法 个性化推荐 协同过滤 内容推荐

低代码平台简介

这我可不懂

低代码 可视化开发 JNPF

Python开发中自动化构建项目结构样式

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号 6 月 PK 榜

一种读取亿级doris数据库的方法 | 京东云技术团队

京东科技开发者

MySQL 数据库 Doris 企业号 6 月 PK 榜

实践讲解强化学习之梯度策略、添加基线、优势函数

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

inBuilder今日分享丨RPM包制作入门

inBuilder低代码平台

精选Golang高频面试题和答案汇总

王中阳Go

golang 面试八股文 go面试题 Go面试宝典

和鲸助力中国大学生计算机设计大赛国赛作品评审标准落实研讨会召开,专家平台首发布

ModelWhale

人工智能 专家 数据科学 研讨会 中国计算机设计大赛

低代码开发平台选型教程

高端章鱼哥

低代码 技术选型 可视化开发 JNPF

一种接口依赖关系分层方案 | 京东云技术团队

京东科技开发者

依赖关系 接口优化 API 接口 企业号 6 月 PK 榜 接口分层

Spring事件监听机制使用和原理解析

不在线第一只蜗牛

spring springboot

这样做,轻松拿捏阻焊桥!

华秋PCB

工具 电路 PCB PCB设计 阻焊

版本动态 | SolidUI 0.1.0 版本发布

李孟聊AI

Web 2D 3D AIGC ChatGPT

数字化转型与架构-规划篇|满足用户期望和用户需求说:“不”

数字随行

数字化转型

HTML5 游戏开发实战 | 五子棋

TiAmo

html html5 游戏 6 月 优质更文活动

嘉为蓝鲸入选《信息技术服务运维工具名录》及《IT服务工具图谱》

嘉为蓝鲸

运维 信息技术 ITSS

如何加强数据资产管理?专家共话分级分类实战宝典

说山水

「学习笔记」记忆化搜索

互联网工科生

学习笔记

kafka消费者那些事儿

这我可不懂

kafka

低代码平台对程序员友好吗?

互联网工科生

低代码 可视化 JNPF

联合打造!嘉为蓝鲸携手麒麟软件共建智能运维解决方案

嘉为蓝鲸

运维 AIOPS

这场世界级的攻坚考验,华为云GaussDB稳过

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

中国高校最大云上科研智算平台上线!

新云力量

智能 计算 复旦大学

掌握Python文件操作:从基础到高阶的全方位探索

快乐非自愿限量之名

Python 教程

V8是如何执行JavaScript代码的?

快乐非自愿限量之名

Java 编程语言

详解数据库中的索引和视图

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

一分钟学一个 Linux 命令

高端章鱼哥

Linux

小程序技术分享| 小程序集成 pixi 渲染引擎

anyRTC开发者

小程序 音视频 canvas pixi 渲染

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