查看“︁Aws基础”︁的源代码
←
Aws基础
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=pre= 默认得加pubkey ec2 都叫启动 https://cidr.xyz/ https://calculator.aws/#/ =[[AWS cli Setup and aws console access]]= =Elastic IP 和 Public IP 的区别= 创建EC2实例的时候,我们可以勾选“自动分配Public IP”(原话是英文的哦~),也可以不勾选,然后手动关联Elastic IP(EIP),那么着二者有什么区别呢? 从亚马逊在线技术支持那里了解到: (1)EIP是属于某个特定的账号,可以关联到账号的任意实例上,也可卸载下来重新关联到其他实例上,而且实例被删除之后,EIP依然单独存在。(分配EIP时注意VPC和EC2的EIP的区别,不同类型的EIP时能关联到自己类型的实例上,即VPC中的EIP只能用于VPC中的实例,Classic EC2只能关联非VPC的EIP) (2)而普通的Public IP是属于具体的某台实例,不能卸载重新关联到别的实例,实例创建时,如果勾选自动分配Public IP,则会随实例一起被创建,实例删除时,跟着被删除,无法被重复利用和保留; (3)还有一个非常重要的特性:Public IP在实例关机后再开机,可能会改变,重启不影响(这跟Classic EC2实例的Public DNS一样,可能会改变)。而EIP怎么都不会变。 (4)如果实例创建之初,有PublicIP,然后再关联了ElasticIP的话,二者都会变成ElasticIP的样子(被覆盖),当EIP被解除关联之后,PublicIP才会被显露,但此时会重新分配PublicIP,所以PublicIP会变。 所以,如果在EC2实例的生命周期内,有停机再开机的可能,还是使用EIP比较保险 ———————————————— 版权声明:本文为CSDN博主「fedora18」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/fedora18/article/details/44219493 =vpc= =role= <pre> 如果角色已经存在,只需两步就能把现有角色改成“RDS 可用”: 改信任关系(Trust relationship) IAM → Roles → 选中你的角色 → Trust relationships 标签 → Edit trust policy 把内容替换成下面这段(只保留一条 Statement,Principal 写死 rds.amazonaws.com): { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } → Update policy (这一步就让 RDS 有权限代入该角色) 2. 挂 S3 写权限(如果还没挂) 还是在同一个角色页面 → Permissions 标签 → Add permissions → Create inline policy → JSON 模式: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::mslog", "arn:aws:s3:::mslog/*" ] } ] } → Review → 名字随便起(如 mslog-rds-s3)→ Create policy 完事 角色 ARN 不变,直接拿它填到 SQLSERVER_AUDIT 选项的 IAM_ROLE_ARN 即可,无需重新建角色。 </pre> =rule= <pre> #复制 AWS Config Rule(同账号同Region) import boto3 import json def copy_config_rule(source_rule_name, target_rule_name, description_suffix=" (copy)"): client = boto3.client('config') # 获取原规则定义 response = client.describe_config_rules(ConfigRuleNames=[source_rule_name]) rules = response.get("ConfigRules", []) if not rules: print(f"❌ 未找到规则: {source_rule_name}") return rule = rules[0] # 删除不允许出现在 put-config-rule 的字段 for key in ["ConfigRuleId", "ConfigRuleArn", "CreatedBy"]: rule.pop(key, None) # 修改名称和描述 rule["ConfigRuleName"] = target_rule_name if "Description" in rule: rule["Description"] += description_suffix else: rule["Description"] = f"Copied from {source_rule_name}" # 重新创建规则 try: client.put_config_rule(ConfigRule=rule) print(f"✅ 成功复制规则: {source_rule_name} → {target_rule_name}") except Exception as e: print(f"❌ 创建规则失败: {e}") if __name__ == "__main__": # 示例 SOURCE_RULE = "required-tags" # 要复制的原规则名 TARGET_RULE = "required-tags-copy" # 新规则名 copy_config_rule(SOURCE_RULE, TARGET_RULE) </pre> =AWSS3= <pre> #pre 配置好aws cli 相关配置和key ➜ ~ aws s3 ls 2025-06-30 21:56:24 evan886 ➜ ~ aws s3 ls s3://evan886 ➜ ~ echo "s3test" >tests3.txt ➜ ~ aws s3 cp tests3.txt s3://evan886 upload: ./tests3.txt to s3://evan886/tests3.txt 打开web界面确认一下 ➜ ~ aws s3 cp s3://evan886/tests3.txt ts3.txt download: s3://evan886/tests3.txt to ./ts3.txt ➜ ~ cat ts3.txt s3test ➜ ~ aws s3 rm s3://evan886/tests3.txt delete: s3://evan886/tests3.txt ➜ ~ aws s3 rm s3://evan886 --recursive ➜ ~ aws s3 ls s3://evan886 ➜ ~ </pre> =[[boto3]]= =aws Lambda= [https://www.bilibili.com/video/BV1c54y1o76D/?spm%20id%20from=333.337.search-card.all.click&vd%20source=e3e41ea2b1d70e0e3a6a0372ee88d714 【粤语】Serverless _ AWS Lambda有趣的介绍] 1.1 what is lambda https://www.bilibili.com/video/BV1z4411E7gE/?spm_id_from=333.337.search-card.all.click&vd_source=e3e41ea2b1d70e0e3a6a0372ee88d714 AWS Lambda零基础入门 25分钟学会Python核心技能 🌟 https://www.bilibili.com/video/BV1pcQmYuEFc/?spm_id_from=333.337.search-card.all.click&vd_source=e3e41ea2b1d70e0e3a6a0372ee88d714 <pre> ➜ lambda py3 main.py b'{"statusCode": 200, "body": "\\"File uploaded successfully!\\""}' ➜ lambda cat main.py import json import boto3 import base64 client = boto3.client('lambda') with open('example.txt','rb') as file: file_content = base64.b64encode(file.read()).decode('utf-8') payload = { 'file_name': 'uploaded_example.txt', 'file_content': file_content } response = client.invoke( #FunctionName='string-reversal', FunctionName='s3lambda', Payload=json.dumps(payload) ) print(response['Payload'].read()) ➜ lambda #my lmabda name :s3lambda import json import boto3 import base64 s3_client = boto3.client('s3',region_name='us-west-1') def lambda_handler(event, context): file_name = event['file_name'] file_content = event['file_content'] if not file_name or not file_content: return { 'statusCode': 400, 'body': json.dumps('missing File name and content are required!') } try: file_content = base64.b64decode(file_content) s3_client.put_object(Bucket='mylambdafancy', Key=file_name, Body=file_content) return { 'statusCode': 200, 'body': json.dumps('File uploaded successfully!') } except Exception as e: print(e) return { 'statusCode': 500, 'body': json.dumps('Error uploading file!' + str(e)) } </pre> =ACM= how to check if the cert chain had been upgrade to remove starfield c2 ACM will no longre cros sign certificates with starfield class 2 starting https://repost.aws/questions/QU7ZP_50i7T_qpjN7ZikSHjQ/how-to-solve-new-amazon-public-certificates-no-longer-chain-to-the-starfield-class-2-certification-authorit https://aws.amazon.com/cn/blogs/security/acm-will-no-longer-cross-sign-certificates-with-starfield-class-2-starting-august-2024/ <pre> 当然!以下是 中文版本 的详细说明,帮助你检查 证书链(Certificate Chain)是否已经移除 Starfield Class 2 根证书/中间证书(C2)。 🎯 问题背景 你可能想确认: 某个网站(或服务器)的 SSL/TLS 证书链,是否已经更新,不再包含 Starfield Class 2 认证机构(CA)? 换句话说,你想知道: • 该网站当前使用的证书链中,是否 还依赖 Starfield Class 2 这个老旧的中间证书或根证书? • 如果你 是网站管理员,如何确认并升级证书链,以 移除 Starfield Class 2? 🧩 什么是 Starfield Class 2 CA? Starfield Class 2 Certification Authority(Starfield Class 2 CA,简称 C2) 是由 Starfield Technologies(星域科技) 提供的一个 根证书(Root CA)或中间证书(Intermediate CA),它是 GoDaddy(狗爹)旗下 的一个旧 CA。 • 过去,很多 GoDaddy 签发的 SSL 证书,会使用 Starfield 的中间证书 做为信任链的一部分。 • 但现在,GoDaddy 和大多数证书颁发机构(CA)都已经逐步淘汰 Starfield Class 2,改用更现代、更安全的根证书,比如: • GoDaddy R3 / R4 • Let's Encrypt(ISRG Root X1) • DigiCert、Sectigo 等 ✅ 你的目标 检查某个网站(比如 example.com)的 SSL 证书链中,是否还包含 Starfield Class 2 这个机构,如果包含,说明还没移除;如果不包含,说明已经升级。 🛠 方法一:使用 OpenSSL 命令行(推荐,准确) 🔧 第一步:获取网站的证书链 打开 命令提示符(Windows CMD / PowerShell)或终端(Mac / Linux),运行以下命令: openssl s_client -showcerts -connect example.com:443 ✅ 将 example.com 替换为你要检查的域名,比如 www.baidu.com、www.yourdomain.com ❗ 在 Windows 上不需要 < /dev/null,直接运行即可,按回车后等待连接完成,然后按 Ctrl + C 停止。 这条命令会输出该网站在 TLS 握手时返回的 证书链,包括: • 服务器证书(属于你的网站) • 中间证书(由 CA 签发) • (通常不包括根证书,因为根证书已经在操作系统或浏览器的信任库中) 🔍 第二步:查找 Starfield Class 2 相关信息 在输出的内容中,找到类似这样的块: Certificate chain 0 s:/CN=www.example.com i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=GoDaddy Secure Certificate Authority - G2 -----BEGIN CERTIFICATE----- ...(你的网站证书内容) -----END CERTIFICATE----- 1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=GoDaddy Secure Certificate Authority - G2 i:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority -----BEGIN CERTIFICATE----- ...(中间证书,由 Starfield 签发) -----END CERTIFICATE----- 重点查看每一块的这一行: i: /C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority • i: 表示 Issuer(颁发者,即上一级证书是谁签发的) • s: 表示 Subject(证书本身的身份,通常是你的域名或 CA 名称) 🔍 你要找的关键字段: 字段 值(中文解释) O (Organization) Starfield Technologies, Inc.(星域科技公司) OU (Organizational Unit) Starfield Class 2 Certification Authority(Starfield Class 2 认证机构) C (Country) US(美国) ST / L 通常是 Arizona、Scottsdale 如果 任何证书的 Issuer(i:)中包含这些字段,就说明该证书是由 Starfield Class 2 签发(或中间传递)的,也就是说 你的证书链仍然依赖 Starfield Class 2。 ✅ 如果你没有看到任何类似上述信息 → 恭喜,该网站的证书链已经不包含 Starfield Class 2,说明已经升级/移除了。 🛠 方法二:使用在线工具(无需命令行,适合小白) 如果你不想用命令行,可以使用以下 免费的在线 SSL 证书检测工具,它们会直观地展示证书链,并列出每个证书的颁发者和主题: 🔗 推荐工具: 1. https://www.ssllabs.com/ssltest/ • 输入你要检查的域名,例如:www.example.com • 点击提交后,等待分析完成 • 在 “证书” 部分,查看 证书链(Certification Paths) • 它会列出 每一个证书的颁发者(Issuer)和使用者(Subject) • 你可以一眼看出有没有 Starfield Technologies 或 Starfield Class 2 2. https://crt.sh/ • 搜索你的域名,例如:example.com • 查看当前有效的证书,以及它们的 证书链 • 可以查看每个证书的 颁发者信息 🧠 Starfield Class 2 的常见标识(用于查找) 在证书详情中,寻找如下信息: 属性 值 颁发者 (Issuer) O = Starfield Technologies, Inc., OU = Starfield Class 2 Certification Authority, C = US 国家 (C) US 组织 (O) Starfield Technologies, Inc. 组织单位 (OU) Starfield Class 2 Certification Authority 如果证书链中的 某个证书的 “颁发者” 是这个,就说明 Starfield Class 2 仍在你的证书信任链中。 🔄 如果你是网站管理员,如何移除 Starfield Class 2? 如果你 自己管理网站或服务器的 SSL 证书,想要 移除 Starfield Class 2,可以这样做: 1. 重新申请证书(推荐) • 去你的证书提供商(如 GoDaddy、Let's Encrypt、DigiCert 等)重新申请一张新的 SSL 证书。 • 大多数主流 CA 现在 默认使用最新的中间证书,不再依赖 Starfield。 2. 检查你的服务器证书链配置 • 比如在 Nginx、Apache、IIS 中,你可能手动指定了证书和中间证书文件。 • 确保你没有手动添加旧的 Starfield 中间证书。 • 使用你的 CA(如 GoDaddy)提供的 最新中间证书链文件。 3. 不要包含根证书 • 只需提供: • 你的 域名证书 • 必要的 中间证书(Intermediate CA) • 不要包含根证书(Root CA),因为客户端(浏览器/操作系统)已经内置了信任的根证书。 ✅ 总结:如何检查证书链是否已移除 Starfield Class 2 操作 方法 🔍 检查某个网站的证书链 使用:<br> • 命令行:openssl s_client -connect example.com:443 -showcerts<br> • 在线工具:https://www.ssllabs.com/ssltest/、https://crt.sh/ 🔎 查找 Starfield Class 2 在证书的 Issuer(颁发者) 字段中查找:<br> O = Starfield Technologies, Inc.<br> OU = Starfield Class 2 Certification Authority<br> C = US ✅ 如果没有找到 说明证书链已经 不依赖 Starfield Class 2,已经升级/移除 ❌ 如果找到 说明你的证书链 仍然使用 Starfield Class 2(建议更新) 🛠 如果你是管理员 重新申请证书,使用最新的中间证书链,不要手动添加旧 CA 证书 ❓ 还需要我帮你检查某个具体的网站吗? 你可以把你想检查的 域名(比如 www.xxx.com) 发给我,我可以指导你: • 如何解读 openssl 的输出 • 或者直接帮你分析该站点的证书链是否还包含 Starfield Class 2 如你希望,我也可以提供一个 一键检查脚本(Python 或 Shell) 来自动化这个过程!欢迎继续提问 😊🔐📘 </pre> https://docs.aws.amazon.com/AmazonS3/latest/userguide/GettingStartedS3CLI.html#GettingStartedS3CLI.step5 [https://blog.csdn.net/weixin_44923842/article/details/142458478 AWS的S3基本使用] [https://blog.csdn.net/zjsj_lize/article/details/135853251 云存储S3详解] [https://blog.csdn.net/keithyau/article/details/50463916 一说就懂的 AWS S3] [https://blog.csdn.net/weixin_39108752/article/details/137247297 AWS入门实践-S3对象存储的基本用法] =see also= [https://zh.futurechange.co.jp/online-aws 快速入门aws] https://www.cnblogs.com/syavingcs/category/1817406.html [https://blog.csdn.net/zhuyunier/article/details/86593197?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-86593197-blog-105835566.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-86593197-blog-105835566.pc_relevant_antiscanv2&utm_relevant_index=3 AWS使用教程(一)Amazon VPC] [https://www.cnblogs.com/hei-ma/p/9412886.html AWS探索及创建一个aws EC2实例] [https://www.cnblogs.com/operationhome/p/11037867.html AWS云创建EC2与使用注意事项-踩坑记录] [https://www.jianshu.com/p/1ebbf427ade0 AWS 搭建 LVS+keepalived 步骤] [https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/concepts.html Amazon EC2官方教程] [[category:devops]][[category:aws]]
返回
Aws基础
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息