写点什么

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

评论

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

我看JAVA 之 垃圾回收GC

awen

Java JVM 垃圾回收 GC

论区块链技术如何赋能社交代币并打造创作者经济新局面

CECBC

大型企业采购云管理平台的诉求分析-行云管家

行云管家

云计算 云安全 云管平台 云资源

为什么别的程序员能月薪 20k ,而你一个月只能拿 6K 的低保?差别就在这!

Java 编程 程序员 技术宅

PHA矿机挖矿系统搭建

Geek_23f0c3

区块链 云算力模式系统开发源码 PHA矿机挖矿

亿万级信令服务演化

anyRTC开发者

音视频 实时通信 实时消息

又双叒叕一行代码:Map按值排序

FunTester

Java 排序 map LinkedHashMap

ZooKeeper 分布式锁 Curator 源码 02:可重入锁重复加锁和锁释放

程序员小航

源码 分布式锁 zookeeper分布式锁 curator

【堡垒机】堡垒机到底有用不?国内哪家堡垒机好用?

行云管家

云计算 数据安全 堡垒机

想聊天?自己搭建个聊天机器人吧!

百度大脑

人工智能 聊天 飞桨

深入原生冰山安全体系,详解华为云安全服务如何构筑全栈安全

华为云开发者联盟

容器 数据安全 云安全 Web应用防火墙 华为云安全

已收藏!深入浅出Android性能调优

欢喜学安卓

android 程序员 面试 移动开发

腾讯云 TRTC 这次玩大了!冲出国门联手日本直播平台.yell Live打造在线直播互动能力

腾讯云音视频

聊聊 Web Workers 吧

Faye

JavaScript 大前端

我们都是那条流浪的小黄狗|靠谱点评

无量靠谱

音视频开发进阶指南,最新大厂Android校招面试经验汇总

欢喜学安卓

android 程序员 面试 移动开发

年包70W,五轮拿下阿里Offer,全靠阿里内部整理的面试指南(真题分享)

Java 程序员 架构 面试

加油站三维可视化监控系统,安全管理智慧运营

一只数据鲸鱼

数据可视化 智慧城市 3D可视化 数字孪生 加油站

一文读懂区块链技术如何改变非洲贸易(上)

CECBC

Pravega Flink connector 的过去、现在和未来

阿里云大数据AI技术

为什么别的程序员能月薪 20k ,而你一个月只能拿 6K 的低保?差别就在这!

白亦杨

Java 编程 程序员 技术宅

终于有10年阿里老兵把SpringCloud微服务实战经验全总结出来了

进击的王小二

Java 架构 微服务 Spring Cloud

浅谈:前端路由原理解析及实践

尔达Erda

开源 云原生 大前端 UI 路由器

虚拟币合约交易所搭建,永续合约平台搭建

ARTS之释义

清风明月

光子是深度学习的未来!光子有望替代电子计算机加速神经网络计算

百度开发者中心

深度学习 最佳实践 方法论

面试阿里太难了!二本毕业、两年crud经验,侥幸通过面试定级P6

Java 程序员 架构 面试

简单好用的照片恢复软件推荐

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

FIL的最新消息?FIL的价格还能回到150吗?

区块链 分布式存储 IPFS fil挖矿最新消息? fil价格

没有你,对我很重要|靠谱点评

无量靠谱

gitlab ee 14.1稳定版安装教程

阿呆

gitlab

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