跳转至

AWS 云服务平台

熟悉云服务平台,以 AWS 为例。

术语

Region

详见 区域和可用区

AWS 数据中心被划分成多个区域,一个可用区由区域内的一个或多个数据中心构成,如 cn-north-1

AMI

EC2 镜像,用于创建 EC2 实例。

IAM 服务

AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。可以使用 IAM 来控制谁通过了身份验证(准许登录)并获得授权(拥有权限)来使用资源。

EC2 服务

镜像

参见 Ubuntu Amazon EC2

aws ec2 describe-images --owners self amazon

实例

#  创建 EC2 实例

aws ec2 run-instances --image-id ami-785db401 --count 1 --instance-type t2.micro


# 获取实例属性

aws ec2 describe-instance-attribute --instance i-8523b2a0e139985e0 --attribute instanceType

实例类型

详见 Amazon EC2 Instance Types - Amazon Web Services

EC2 实例类型决定了 CPU 性能、内存大小、磁盘容量和网络带宽等。

S3 服务

Amazon Simple Storage Service(Amazon S3)是一种对象存储服务。

对象

对象可以是任何类型的文件:文本文件、图片、视频等。

存储桶

存储桶是对象的容器。

托管静态网站

当您将存储桶配置为静态网站时,该网站在存储桶的 AWS 区域 特定的网站终端节点上可用

website — AWS CLI 1.25.41 Command Reference (amazon.com)

awslocal s3 website s3://my-bucket/ --index-document index.html --error-document error.html

awslocal s3 sync $HOME/Developer/Mine/mini-cloud/lab/site "s3://my-bucket"

open http://localhost:4566/my-bucket/index.html

DynamoDB 服务

Amazon DynamoDB 是一种全托管 NoSQL 数据库服务。

Lambda 服务

Lambda 是一项计算服务,可使您无需预置或管理服务器即可运行代码。

CloudFormation 服务

AWS CloudFormation 是一项服务,可帮助您对 AWS 资源进行建模和设置,以便能花较少的时间管理这些资源,而将更多的时间花在运行于 AWS 中的应用程序上。

CDK

npm i -g aws-cdk aws-cdk-local

cdklocal init sample-app --language javascript

cdklocal  ls

cdklocal synth

cdklocal bootstrap

cdklocal deploy

open https://2gtnmgnupp.execute-api.localhost.localstack.cloud:4566/prod/

AWS CLI

AWS 命令行界面 (CLI) 是用于管理 AWS 服务的统一工具。

通过 AWS CLI 使用 AWS 服务

使用 AWS S3

s3 – 用于简化常见任务(如创建、操作和删除对象及存储桶)的执行的高级命令。


# 创建存储桶,aws s3 mb <target> [--options]

awslocal s3 mb s3://my-bucket

# 列出存储桶和对象,aws s3 ls <target> [--options]

awslocal s3 ls /my-bucket

# 删除存储桶,aws s3 rb <target> [--options]

# 删除对象,aws s3 rm <target> [--options]

# 移动对象,aws s3 mv <source> <target> [--options]

# 复制对象,aws s3 cp <source> <target> [--options]

# 同步对象,aws s3 sync <source> <target> [--options]

s3api – 提供对所有 Amazon S3 API 操作的直接访问,使您能够执行高级操作。


# 应用自定义 ACL

awslocal s3api put-public-access-block --bucket my-bucket \
--public-access-block-configuration BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=false,RestrictPublicBuckets=false

awslocal s3api put-bucket-policy --bucket my-bucket --policy file://policy.json

使用 AWS DynamoDB

awslocal dynamodb create-table --cli-input-json file://table.json

awslocal dynamodb batch-write-item --request-items file://data.json

awslocal dynamodb scan --table-name "Music"

使用 AWS IAM

create-role — AWS CLI 1.25.41 Command Reference (amazon.com)

awslocal iam create-role --role-name "localstack-execution-role" --assume-role-policy-document file://execution-role.json

awslocal iam create-role --role-name "localstack-trust-policy" --assume-role-policy-document file://trust-policy.json

awslocal iam list-roles

使用 AWS Lambda

zip function.zip index.js

awslocal lambda create-function --function-name my-function --zip-file fileb://function.zip --handler 'index.handler' --runtime nodejs14.x --role localstack-execution-role

awslocal lambda invoke --function-name my-function output.json --log-type Tail --query 'LogResult' --output text | base64 -d

awslocal lambda list-functions

使用 AWS CloudFormation

list-stacks — AWS CLI 1.25.41 Command Reference (amazon.com)

awslocal cloudformation list-stacks

awslocal cloudformation list-stack-resources --stack-name AppStack

资源


最后更新: September 10, 2023

评论