赞
踩
目录
1.网页链接:AWS Lightsail,进入网页点击“开始使用Lightsail”
官方操作手册地址:启动Web应用程序
Amazon Web Services (亚马逊云科技) 是全球最全面、应用最广泛的云平台,从全球数据中心提供超过 200 项功能齐全的服务。数百万客户(包括增长最快速的初创公司、最大型企业和主要的政府机构)都在使用 【亚马逊云科技】 来降低成本、提高敏捷性并加速创新。亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
AWS Cloud9是可以用于编写、运行和调试代码的云 IDE,AWS Cloud9 允许仅使用浏览器编写、运行和调试代码。借助 AWS Cloud9,可以立即访问丰富的代码编辑器、集成调试器和带有预配置 AWS CLI 的内置终端。可以在几分钟内开始,不再需要花时间安装本地应用程序或配置开发机器。AWS Cloud9功能介绍。
在新的 Amazon EC2 实例上创建 AWS Cloud9 开发环境,或通过 SSH 将其连接到您自己的 Linux 服务器。创建 AWS Cloud9 环境后,您将可以立即访问丰富的代码编辑器、集成调试器和带有预配置 AWS CLI 的内置终端——所有这些都在您的浏览器中。
使用 AWS Cloud9 控制面板,您可以创建许多不同的 AWS Cloud9 环境并在它们之间切换,每个环境都包含特定项目的自定义工具、运行时和文件。
AWS Cloud9 允许您仅使用浏览器编写、运行和调试应用程序,而无需安装或维护桌面 IDE。
【2】快速启动新项目
AWS Cloud9 EC2 环境预先打包了 40 多种编程语言的工具,使您能够在几分钟内开始为流行的应用程序堆栈编写代码。
【3】实时一起编码
AWS Cloud9 使代码协作变得容易。您只需单击几下即可与您的团队共享您的开发环境,并将程序配对。
【4】轻松构建无服务器应用程序
AWS Cloud9 为开发无服务器应用程序提供了无缝体验。它使您能够轻松地定义资源、调试以及在本地和远程执行代码之间切换。
【1】海外区域业务或个人使用,请注册"海外区域"账户。
【2】中国区域业务(需要企业营业执照认证),请注册“中国区域账户”。
考虑因素:
1)是否需要低网络压力的托管基础设施。
2)是否需要容器(以及原因)。
3)是否需要实现完全控制和自定义。
自动编写代码和部署,【亚马逊云科技】负责处理基础设施
1)与CD集成,自动构建和部署。完全无需担心底层的配置。
2)使用vanilla、JavaScript或任何JS框架,或使用Java、.NET、GO、Ruby、PHP和Python编写的代码。
3)简单快捷的部署方式。
使用容器构建和部署
1)使用Docker和Kubernetes等云原生技术构建和部署网站。
2)完全托管的基础设施,提供轻量级和全球可扩展性选择。
3)使用容器部署Web应用程序的最简单快捷方式。
在虚拟机上构建和部署
1)面向完整技术堆得最高级别控制。
2)全面支持底层操作系统和自定义配置。
3)从本地部署虚拟机到云的最简单转换方式。
安装AWS CLI
可通过不同的方式安装 AWS CLI,具体取决于您的操作系统或使用容器的偏好。请按照可在此处找到的有关如何安装 AWS CLI v2 的最新指南进行操作。安装后,您应该能够运行 aws --version 并看到以下输出 (版本可能有所不同):
- aws --version
- aws-cli/2.2.17 Python/3.9.6 Darwin/20.5.0 source/x86_64 prompt/off
配置 AWS CLI 凭证
要配置凭证,请使用命令 aws configure 并利用在本指南上一模块中创建的凭证。系统将要求您提供 AWS 访问密钥 ID、AWS 秘密访问密钥、原定设置区域和原定设置输出格式。
专家提示:您始终可以在任何命令上使用区域标志 (--region us-east-1) 指定或覆盖原定设置区域。可以在此处找到区域代码列表。
最后,格式类型是原定设置显示输出的方式,包括但不限于:json、yaml、text。请查看此处的文档以获取所有可用选项。完成后,您应该在终端中看到以下内容 (如果您选择 eu-west-1 作为原定设置区域):
- aws configure
-
- AWS Access Key ID [None]: ANOTREALACCESSKEYID
- AWS Secret Access Key [None]:ANOTREALSECRETACCESSKEY
- Default region name [None]:eu-west-1
- Default output format [None]:json
现在我们可以运行之前的命令并查看结果,因为每个新的 【亚马逊云科技】 账户都配置了原定设置 VPC:
aws ec2 describe-vpcs
这就确认您的 AWS CLI 现在已正确设置。它在 ~/.aws (Linux / MacOS) 或 %UserProfile%\.aws (Windows) 中创建了两个文件:config 和 credentials。credentials 文件包含您指定的凭证:
- [default]
-
- aws_access_key_id = AKNOTREALACCESSKEYID
- aws_secret_access_key = AyNOTREALSECRETACCESSKEY
配置文件的任何其他配置都存储在 config 文件中。使用 aws configure 时,它将包含以下内容 (可能具有不同的区域):
- [default]
- region = eu-west-1
- output = json
配置多个配置文件
如果您访问多个 【亚马逊云科技】 账户,则可以设置配置文件。这可让您使用 --profile my-profile 标志,以指定账户运行特定命令。例如,如果您有不同的开发和生产环境账户。可以通过 2 种方式设置附加配置文件:
1)使用 AWS CLI:aws configure --profile my-profile
2)手动编辑 ~/.aws/credentials 和 ~/.aws/config 文件
使用 aws configure --profile my-profile 时,my-profile 值将是所创建配置文件的名称,并将导致 config 和 credentials 文件发生以下更改:
示例 config 文件:
- [default]
- region = eu-west-1
- output = json[profile my-profile]
- region = us-west-1
- output = yaml
示例 credentials 文件:
- [default]
- aws_access_key_id = ANOTREALACCESSKEYID
- aws_secret_access_key = ANOTREALSECRETACCESSKEY
-
- [my-profile]
- aws_access_key_id = ANOTREALACCESSKEYID2
- aws_secret_access_key = ANOTREALSECRETACCESSKEY2
请务必注意,配置文件仅在 config 文件中以 profile 为前缀,而在 credentials 文件中则没有此前缀。
此方法要求您在每个账户中都有一个 IAM 用户,并且还具有凭证集。访问多个账户的另一种方法是设置 IAM 角色和策略以允许您使用角色切换。要设置 IAM 角色和策略,请参阅文档。
现在我们已经配置 AWS CLI,如果您不想在下一个模块中进行本地开发,则可以选择使用 AWS Cloud9 设置开发环境。
【1】要设置环境,您可以使用以下 AWS CLI 命令:
aws cloud9 create-environment-ec2 --name getting-started --description "Getting started with AWS Cloud9." --instance-type t3.micro --automatic-stop-time-minutes 60
这将使用 t3.micro 实例,【亚马逊云科技】 免费套餐在前 12 个月提供此实例。--automatic-stop-time-minutes 将在几分钟后自动关闭实例,这将帮助您不超出 750 小时/月的免费套餐范围。上述命令将按照以下格式返回 Cloud9 环境的环境 ID:
- {
-
- "environmentId":"8a34f51ce1e04a08882f1e811bd706EX"
-
- }
要访问您的 Cloud9 环境,请使用环境 ID 并在浏览器中转到以下 URL
https://console.aws.amazon.com/cloud9/ide/<environment ID>?region=us-west-2
对于上面的示例,这将是:
https://console.aws.amazon.com/cloud9/ide/8a34f51ce1e04a08882f1e811bd706EX?region=us-west-2
如果您尚未登录,它会要求您登录自己的 【亚马逊云科技】 账户。请确保使用在模块 2 中创建的非根用户账户登录。
提示:如果您看到错误页面,请确保登录正确的用户账户并检查是否选择正确的默认区域。您可以在主导航标题右上角更改区域。
删除创建的资源
如果您不打算使用我们在本模块中创建的 Cloud9 开发环境,则可以通过运行以下命令将其删除:
点击“创建环境”
命名环境
配置设置
审查
当您创建 Lightsail 实例时,您可以选择将用户数据传递给实例,该实例可以用于执行常见的自动化配置任务,甚至在实例启动后运行脚本。在本指南的后面,您将使用 AWS CLI 创建 Lightsail 实例。将以下脚本复制到命令的 --user-data 部分:
- # remove default website
-
- #-----------------------
-
- cd /opt/bitnami/apache2/htdocs
-
- rm -rf *
-
- # clone github repo
-
- #------------------
-
- /opt/bitnami/git/bin/git clone -b loft https://github.com/aws-developer-center/todo-php .
-
- # set write permissons on the settings file
-
- #-----------------------------------
-
- chown bitnami:daemon ./*
-
- chmod 666 connectvalues.php
-
- # inject database password into configuration file
-
- #-------------------------------------------------
-
- sed -i.bak "s/<password>/$(cat /home/bitnami/bitnami_application_password)/;" /opt/bitnami/apache2/htdocs/connectvalues.php
-
- # create database
-
- #----------------
-
- cat /home/bitnami/htdocs/data/init.sql | /opt/bitnami/mariadb/bin/mysql -u root -p$(cat /home/bitnami/bitnami_application_password)
此脚本将删除蓝图的默认网站、克隆示例应用程序以替换它、设置适当的文件权限、在示例应用程序的配置文件中配置自动生成的数据库密码,并执行 init.sql 脚本以创建数据库并用初始值填充数据库。
要在实例运行后立即访问实例,您需要一个 SSH 密钥。要生成一个密钥,请运行以下命令:
- aws lightsail create-key-pair \
-
- --key-pair-name LightsailGuide > ssh_key_response.json
-
- cat ssh_key_response.json | jq -r '.publicKeyBase64' > lightsailguide.pub
-
- cat ssh_key_response.json | jq -r '.privateKeyBase64' > lightsailguide
-
- chmod 400 lightsailguide.pub lightsailguide
现在,您已准备好使用 AWS CLI 创建实例。在此指南中,我们将使用爱尔兰 (eu-west-1) 区域和 blueprintId 为 lamp_7 的 LAMP 蓝图。如果您想要查看可用蓝图的完整列表,您可以运行以下命令:
aws lightsail get-blueprints
您必须在创建 Lightsail 实例时指定实例捆绑包。在此指南中,我们将使用 micro_2_0 捆绑包。您可以使用以下命令查看可用捆绑包列表:
aws lightsail get-bundles
要使用用户数据脚本和您创建的 SSH 密钥创建 Lightsail 实例,请运行以下命令:
- # Create the Lightsail instance:
- aws lightsail create-instances \
- --instance-names "LightsailLampExample" \
- --availability-zone eu-west-1a \
- --blueprint-id lamp_7 \
- --bundle-id micro_2_0 \
- --key-pair-name LightsailGuide \
- --user-data '# remove default website
- #-----------------------
- cd /opt/bitnami/apache2/htdocs
- rm -rf *
- # clone github repo
- #------------------
- /opt/bitnami/git/bin/git clone -b loft https://github.com/aws-developer-center/todo-php .
- # set write permissons on the settings file
- #-----------------------------------
- chown bitnami:daemon ./*
- chmod 666 connectvalues.php
- # inject database password into configuration file
- #-------------------------------------------------
- sed -i.bak "s/<password>/$(cat /home/bitnami/bitnami_application_password)/;" /opt/bitnami/apache2/htdocs/connectvalues.php
- # create database
- #----------------
- cat /home/bitnami/htdocs/data/init.sql | /opt/bitnami/mariadb/bin/mysql -u root -p$(cat /home/bitnami/bitnami_application_password)'
命令将输出您创建的实例的详细信息:
- {
- "operations": [
- {
- "id": "a49e1398-fb81-455a-8a50-3159c9bd9966",
- "resourceName": "LightsailLampExample",
- "resourceType": "Instance",
- "createdAt": "2021-09-21T16:38:40.566000+02:00",
- "location": {
- "availabilityZone": "eu-west-1a",
- "regionName": "eu-west-1"
- },
- "isTerminal": false,
- "operationType": "CreateInstance",
- "status": "Started",
- "statusChangedAt": "2021-09-21T16:38:40.566000+02:00"
- }
- ]
- }
您的实例需要几分钟才能可用,您可以使用以下命令来检查进度:
aws lightsail get-instance-state --instance-name LightsailLampExample
当您查看以下输出时,实例在运行,但它可能仍在通过用户数据脚本工作:
- {
- "state": {
- "code": 16,
- "name": "running"
- }
- }
要测试应用程序,您需要实例的公有 IP 地址。运行以下命令以检索您的实例公有 IP 地址。
aws lightsail get-instance --instance-name LightsailLampExample | jq -r .instance.publicIpAddress
复制 IP 地址并将其粘贴到您的浏览器中,您应看到应用程序在运行:
Amazon Lightsail 使您可以轻松删除基础设施,只需一个命令。
打开终端,然后键入以下命令:
aws lightsail delete-instance --instance-name LightsailLampExample
确认没有遗留任何资源
要确认已删除的所有资源,请打开一个终端并键入以下命令:
- aws lightsail get-instances
-
- # the command should outputs the following
- {
- "instances": []
- }
根据提示选择信息,点击“创建实例”
1.AWS Cloud9允许您仅使用浏览器编写、运行和调试应用程序,而无需安装或维护桌面 IDE,减少了本地环境的设置。
2.AWS Lightsail作为EC2的更简单替代方案,它提供了构建网站和小型Web应用程序所需的所有工具。
3.AWS Lightsail构建网站,可视化程度高,相对于命令构建,操作相对于简单,所需依赖全面。
亚马逊云科技专为开发者们打造了多种学习平台:
1. 入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。
2. 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。
3. 构建者库:了解亚马逊云科技如何构建和运营软件。
福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。