开发者学堂课程【阿里云新手上云实战演练:阿里云 SDK】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/655/detail/10855
阿里云 SDK
首先看一下权限管理,前面做实验的时候提到过,提到过RAM授权,阿里云的账号是如下分布,有一个主账号可以注册阿里云,这个账号需要实名认证,如果没有实名认证,会提醒说未实名,购买资源必须实名认证。
现在是一个个人实名认证的账户,可以变更为企业认证,需要进行升级,通过手机验证码进行验证,默认的企业认证最简单的方式就是通过企业支付宝账号,效率最快。
点击提交之后,会生成一个二维码,企业支付宝账号扫描,就可以完成企业认证了。
要到公司作为一个阿里云的账户实名认证的操作即使如此,除了这种操作,还可以通过企业法人支付宝授权认证,如果公司没有,法人一定有支付宝的账号,可以通过法人的支付宝授权认证,还有就是法人的扫脸认证。
把支付宝的认证都在财务管理处,可以让他扫一下。
阿里云的认证是如此,华为的认证跟他不同,给对公账号转一笔钱,一个小额度的钱,需要收到转账凭证之后输入,输入验证码,验证码比较特殊,收到多少钱,便用验证码进行提交,进行实名认证。
这个是实名认证的主账号,这个主账号是对下面的所有资源提供权限。不管是财务费用、充值,可以申请发票,一般充值的话都是运营部门亲自充值,申请费用充值。
一般个人是通过支付宝进行充值,如果是企业,更多的会选择线下汇款,企业之间互相支付,通过对公账户。
点击获取专属汇款账号,点击之后会生成一个银行卡号,开户银行和开户名称都有,收到之后就知道是谁充的钱,每一个用户都有一个专属的汇款账号,阿里和银行有一个合作,可以开多的子账号。
充值之后需要发票,把充完值之后需要核销借款,比如是个人充值,比如充值50块钱报销,索取一张发票,一级一级找,申请发票需要发票抬头。
税务登记证号就是银行业务上的税务号,有了营业执照之后就可以清楚的看到,银行的账号注册的地址,还有电话,提交。
个人比较简单,一般企业会用增值税专用发票,这个税点低。如果有多个账号,可以进行财务关联。这个是公司的主账号,公司申请了别的子账号,需要通过这个主账号进行财务关联。
财务关联之后子账号就不能申请发票,只能通过主账号进行申请发票,统一账户。
主账号是有所有的权限,比如说有很多人,每个人不可能进行最高的权限,一般这种情况下就像系统管理一样,不能用这个账号,要创建一个子用户,对某一个目录进行授权,用setacl做一个固定的授权,阿里云也有一个子用户,有一个RAM子账号,创建一个用户组,然后把用户加入到用户组里。
用户组进行授权,然后可以创建 单个的用户,给单独的用户授权,一般创建用户组多一点。
比如说开发,但是一般开发不需要阿里云的权限,假如说组里面有一些新来的,一些低级的权限,权限主要看怎么约定、规范,除了这一种的账号,先再把组创建成功,创建一个新建用户,新建用户的时候 有一种是普通用户 这个用户就是真实存在的一个人,或者是几个人,他可以登录账号管理,还有一种是编程访问的形式,在代码里操作一些授权,在代码里做了授权之后,可以访问固定的资源,比如说给代码里做一个授权。
授权能访问的资源就能查询下面ESS的所有信息,但是他没有办法查询 SMB的信息,在创建用户的时候就可以选,或者用户这两种方式都支持,就都勾选上。
现在创建用户的是一个人上控制台进行一些操作,设置控制台密码登录的方式,然后自定义登录密码 也可以自动生成默认密码,可以要求用户在下次登录的时候必须要重置密码,把权限分一点,还有多因素认证,默认的是不要求,多因素认证可以要求开启MFA认证,类似于优盾,有一个专门的设备需要输入验证码,如果手机上选中这个,需要装一个阿里云,会出现一些其他的认证,需要你填进去。
其实就类似于一个随机码,这样的话更安全。然后把可以把它添加到用户组,然后添加到devops里,直接给用户组添加权限,添加全县有好多种 比如管理所有阿里云资源的权限管理对象存储服务权限等,还有只读访问云服务器服务,还有只读访问云数据库服务的权限,子账号登录有一个专门的链接,后面就是主账号设计的域名,原来是一堆数字 可以改成有标识性的一些东西,子用户登录 不能删除后面,前面加上子用户的用户名。
用户叫做dev1,上面提示此用户名称@默认域名,如果是企业的话 就是企业别名。
下一步,输入密码,必须重置一下密码,这样管理员就不会知道密码。然后启动RDS管理控制台,没有对资源进行授权操作。ECS是有只读权限,如果要操作它释放,把这台机器释放掉,没有释放掉,也没有提示。假如停止,点击确定,没有权限,因为只给了只读权限,现在如果要创建一个用户,现在是子账号没有权限退出。
直接禁用控制台密码登录,就不会用密码登录了,就不能通过链接用子账号登录,设置密码登录无所谓,点击确定,体验一下效果,再登录一次。
当前用户被禁止控制台登录密码,就是没办法登陆上,如果子账号是要进行代码开发应用,不要给他授权登录的权限,如果用子账号,不要给他访问的权限。
现在创建AccessKey一定要把这两个文件保存下来,如果不保存,弹窗关闭后将无法再次获取该信息,可以点击复制再确认,可以看见Key ID但是不能看见secret,但是实际开发中继续要Key ID也需要secret,保存一下。
LTAI4FnD2bFYJ6Z4V1iHmawi
SkTxD8mS4R2T83nSANVqHj3ZJEniPk
现在可以用key ID和secret实现一些操作,开发的时访问课程的时候,看一个例子,这是阿里云的SDK,现在支持Java的php,go等,基本主流的语言都支持。
比如现在要批量购买机器,可以直接用代码实现,具体什么时候需要购买机器,需要自己来实现判断。
一般扩容的时候都了解,但是具体时间扩容,可能跟监控有关系,正常的一般是说,先有监控发现资源利用率比较低,可能达到某个触发条件,就需要扩容。
我们先实现阿里云的扩容,达到触发条件,先用Python进行扩容,首先需要安装核心库,Python现在有二和三的版本,根据自己的习惯进行选择。安装之后,进行某些资源的操作就安装相对应的包。现在需要安装ECS,做一个简单的。
这是核心库V3,没有安装的话会有过程,之后进行扩容的操作。
购买阿里云机器的时候自动帮你生成,有一个专门的控制台,到首页上,有一个实际SDK是把API做了一个分装一个类,比如说SDK,需要知道适用的是哪一个API,有可能不止支持这几类,做一个简单的调试,需要查一下的信息,描述一个信息,找到页面了解单词,大概都能知道具体的工作。
现在需要查看有多少台ecs配置,点击describeinstances,这一栏是让你提交的参数,这些就是API,访问阿里云资源 通过这些API来了解参数,拿到自己想要的结果。
regionID可以选择张家口,相应的就生成代码,替换一下,要把key ID和secret传进来,选举key ID的权限来判断代码有没有执行,提交访问这个权限,可以把它粘贴复制,以这种方式提交。
调试结果,买了三台机器,看其中一个的信息,他的镜像ID,地址,这个是没有弹性IP的,其中有一个是弹性IP的。25031 是有弹性IP,能看着区下面的所有资源,这个describe就是一个get的请求,可以通过card的方式,里面有一个token会有一个超时时间,令牌会一直变。
如果用代码就可以解决,代码更好,粘贴看一下效果,替换,选择张家口,自动把区域ID替换。
from aliyunsdkcore. client inport Acsclient
from aliyunsdkcore. acs exception. exceptions import clientException
from aliyunsdkcore. acs exception. exceptions import ServerException
from aliyunsdkecs. request. v20140526. DescribeInstancesRequest import DescribeInstancesRequest
client= Acsclient. (LTAI4FnD2bFYJ6Z4V1Hmawi,SkTxD8mS4R2T83nSANVqHj3ZJEniPk, cn-zhangjiakou)
request= DescribeInstancesRequest()
request. set accept format()
response client. do action with_exception(request)
print(str(response, encoding='utf-8'))
查询所有下面的脚本已经完成,比较简单,得到了字符串,在输出的时候,用jason把他探连成for循环字典,这个是对数据的处理,逻辑简单实现,开发阿里云相关东西十分简单。
这是describe,换一个别的,别的没有权限,image ID复制一个,可以直接取字段,找一个值,星标的是必须填的参数,选一个资源类型,其他的没有必填的,相当于是在主账号下面进行操作,Image ID没有找到 我应该是镜像ID,创建成功,有四台机器。
下面没有权限,如果改一下授权就可以创建。不需要关心创建ecs的逻辑,只需要关心创建ecs的时间。
这是通过代码的方式,还可以通过命令的方式,命令行,开发一个命令叫阿里云,找ecs,跟API名字一样,在SDK里面的方法是一样的,创建instances然后再describe,在help一下,就能知道需要的参数,option是可以提交的, require是必须提交的。
regionID是zhangjiakou,我们创建的是多个实例,云命令行可以加载下来。把包装上就可以用阿里云的命令,非常方便,提升了工作效率。
方向有变化,原来的方向更倾向于mysql的分离和主从,慢慢直接了解chart,简单理解跟yam一样。
用Help之后 比如要安装一个mysql的集群,直接直接help instorm还有 mysql集群直接装起来就是一个 Mysql的集群。
其实做了一个分装,把复杂的东西做成模板,再加上自己的配置。