0%

aws的使用技巧

1. aws

1.1 获取 access_key_id

  1. 登录 AWS 管理控制台
  2. 点击右上角的账户名称,选择 “Security credentials” (安全凭证)
  3. 在安全凭证页面,找到 “Access keys” (访问密钥) 部分
  4. 点击 “Create New Access Key” (创建新的访问密钥)

2. ec2

2.1 修改磁盘大小

  1. 去终端修改大小: EC2 -> Volumes -> 修改AWS 磁盘大小
  2. 使用命令调整
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#检查扩容状态,首先,确保你已经在 AWS Console 中增加了 EBS 卷的大小。
aws ec2 describe-volumes-modifications \
--volume-id vol-0ddabcd0eb1dc33ae \
--region us-west-2

# 会显示所有挂载的文件系统及其类型 比如 ext4, xfs 等
df -hT

# 首先查看实际的设备名:
findmnt /
#/dev/nvme0n1

# 扩展分区
sudo growpart /dev/nvme0n1 1 # 替换为实际的设备名和分区号
# 扩展文件系统
sudo resize2fs /dev/nvme0n1p1 # 替换为实际的设备名

3. S3

3.1 S3 加速模式

1
2
3
4
5
6
7
8
obj, err := s.preSignClient.PresignPutObject(ctx, &s3.PutObjectInput{
Bucket: &bucket,
Key: &key,
}, func(po *s3.PresignOptions) {
//po.ClientOptions = append(po.ClientOptions, func(o *s3.Options) {
// o.UseAccelerate = true
//})
})

先开启S3 网页加速功能,再上线代码。

先下线代码,后下线 S3 网页加速功能。

3.2 S3 私有桶配置 cloudfront 访问

S3 block all 权限

  1. 返回到S3控制台,选择您的Bucket。
  2. 点击“权限”选项卡。
  3. 在“Bucket策略”部分,添加以下策略以允许CloudFront的OAC访问您的Bucket:(E20SXT84JIMV9 是 CloudFront 的 ID)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::aipicplus/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::099871370578:distribution/E20SXT84JIMV9"
}
}
}
]
}

3.3 下载和上传文件

1
2
3
4
# 1. 下载
aws s3 sync s3://aipicplus/global_config/ .
# 2. 上传
aws s3 sync . s3://aipicplus/global_config/

aws s3 cp 和 aws s3 sync 的区别

  • aws s3 cp
    • 复制所有文件:无论目标位置是否已经存在相同的文件,cp 都会无条件地复制文件。例如,如果目标文件已存在,cp 会直接覆盖它而不会检查文件的内容或时间戳。(learnaws.org)
    • 不支持删除cp 不会删除目标位置中多余的文件,即使这些文件在源位置中已经被删除。(learnaws.org)
  • aws s3 sync
    • 只复制新增和更新的文件sync 命令会检查源和目标文件的时间戳或大小差异,只有那些在源位置中新增或更新的文件才会被复制到目标位置。(learnaws.org)
    • 支持删除多余文件:使用 --delete 选项时,sync 会删除目标位置中那些在源位置不存在的文件,从而确保目标和源的一致性。

4. CloudFront

https://mp.weixin.qq.com/s/e-pCAT65zeLu4qxpKOiNWg

https://mp.weixin.qq.com/s/eiem8vkXLPN9RM-RgQhPAA

4.1 域名绑定 CloudFront

  1. 去 us-east-1(N. Virginia)区域
  2. 申请 cdn.aipi.com 证书
  3. cloudfront 在“设置”中,找到“SSL/TLS 设置”,选择刚才证书
  4. cloudfront 在“设置”中,增加 Alternate domain name (CNAME)
  5. Route S3: 创建一个CNAME cdn.aipi.com -> d8i356.cloudfront.net

4.2 让cloudfront 缓存失效

在 CloudFront 控制台中,找到并选择与您的 S3 存储桶关联的分配。

  1. 创建失效请求
  2. 在分配的详细信息页面中,选择“Invalidations”(失效)。
  3. 点击“Create Invalidation”(创建失效)。
  4. 在“Object Paths”(对象路径)字段中,输入要失效的对象路径。例如,如果您想失效整个分配,可以使用 /*。如果只想失效特定对象,可以输入对象的具体路径,例如 /path/to/your/object.jpg
  5. 点击“Invalidate”(使失效)。
可以加首页作者微信,咨询相关问题!