当前位置:   article > 正文

【亚马逊云科技】基于Cloud9启动一个Web应用程序_aws lightsail构建简单的web应用程序

aws lightsail构建简单的web应用程序

目录

一、【亚马逊云科技】介绍

二、【亚马逊云科技】AWS Cloud9

1. 【亚马逊云科技】AWS Cloud9介绍

2. 【亚马逊云科技】AWS Cloud9应用

3. 【亚马逊云科技】AWS Cloud9优点和特点

        三、注册【亚马逊云科技】

1. 登录【亚马逊云科技】

2. 免费注册账号

3. 填写电子邮件和【亚马逊云科技】账户名称

4. 填写验证码

5. 按提示设置登录密码

6. 完善个人信息

7. 按要求填写账单信息,用于后期支付

8. 确认手机信息

9. 输入手机验证码

10. 选择支持计划“基本支持-免费”

11. 账户注册成功提示

        四、部署一个Web应用程序

1. 如何选择基础设施

2. 不同基础设施适合场景

3. 设置 AWS CLI

4.设置 AWS Cloud9

5.创建 Lightsail 实例

6.删除基于云的基础设施

        五、部署web并启动

1.网页链接:AWS Lightsail,进入网页点击“开始使用Lightsail”

2.点击“创建实例”

3.完善实例信息,并创建实例

4.实例创建成功展示

5.实例操作项

6.查看实例运行情况

 7.实例正常运行展示效果

六、总结

七、学习资源

八、专属福利


官方操作手册地址:启动Web应用程序


一、【亚马逊云科技】介绍

        Amazon Web Services (亚马逊云科技) 是全球最全面、应用最广泛的云平台,从全球数据中心提供超过 200 项功能齐全的服务。数百万客户(包括增长最快速的初创公司、最大型企业和主要的政府机构)都在使用 【亚马逊云科技】 来降低成本、提高敏捷性并加速创新。亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。


二、【亚马逊云科技】AWS Cloud9

1. 【亚马逊云科技】AWS Cloud9介绍

        AWS Cloud9是可以用于编写、运行和调试代码的云 IDE,AWS Cloud9 允许仅使用浏览器编写、运行和调试代码。借助 AWS Cloud9,可以立即访问丰富的代码编辑器、集成调试器和带有预配置 AWS CLI 的内置终端。可以在几分钟内开始,不再需要花时间安装本地应用程序或配置开发机器。AWS Cloud9功能介绍


2. 【亚马逊云科技】AWS Cloud9应用

        在新的 Amazon EC2 实例上创建 AWS Cloud9 开发环境,或通过 SSH 将其连接到您自己的 Linux 服务器。创建 AWS Cloud9 环境后,您将可以立即访问丰富的代码编辑器、集成调试器和带有预配置 AWS CLI 的内置终端——所有这些都在您的浏览器中。

        使用 AWS Cloud9 控制面板,您可以创建许多不同的 AWS Cloud9 环境并在它们之间切换,每个环境都包含特定项目的自定义工具、运行时和文件。


3. 【亚马逊云科技】AWS Cloud9优点和特点

【1】只用浏览器编写代码

        AWS Cloud9 允许您仅使用浏览器编写、运行和调试应用程序,而无需安装或维护桌面 IDE。

【2】快速启动新项目

        AWS Cloud9 EC2 环境预先打包了 40 多种编程语言的工具,使您能够在几分钟内开始为流行的应用程序堆栈编写代码。

【3】实时一起编码

        AWS Cloud9 使代码协作变得容易。您只需单击几下即可与您的团队共享您的开发环境,并将程序配对。

【4】轻松构建无服务器应用程序

        AWS Cloud9 为开发无服务器应用程序提供了无缝体验。它使您能够轻松地定义资源、调试以及在本地和远程执行代码之间切换。


三、注册【亚马逊云科技】

1. 登录【亚马逊云科技】

网站网页连接【亚马逊云科技云服务-专业的大数据和云计算服务以及云解决方案供应商


2. 免费注册账号

注意事项

        【1】海外区域业务或个人使用,请注册"海外区域"账户。

        【2】中国区域业务(需要企业营业执照认证),请注册“中国区域账户”。


3. 填写电子邮件和【亚马逊云科技】账户名称


4. 填写验证码


 5. 按提示设置登录密码



6. 完善个人信息


7. 按要求填写账单信息,用于后期支付


 8. 确认手机信息


9. 输入手机验证码


10. 选择支持计划“基本支持-免费”


11. 账户注册成功提示


四、部署一个Web应用程序

1. 如何选择基础设施

考虑因素:

        1)是否需要低网络压力的托管基础设施。

        2)是否需要容器(以及原因)。

        3)是否需要实现完全控制和自定义。


2. 不同基础设施适合场景

        自动编写代码和部署,【亚马逊云科技】负责处理基础设施

        1)与CD集成,自动构建和部署。完全无需担心底层的配置。

        2)使用vanilla、JavaScript或任何JS框架,或使用Java、.NET、GO、Ruby、PHP和Python编写的代码。

        3)简单快捷的部署方式。


        使用容器构建和部署

        1)使用Docker和Kubernetes等云原生技术构建和部署网站。

        2)完全托管的基础设施,提供轻量级和全球可扩展性选择。

        3)使用容器部署Web应用程序的最简单快捷方式。


        在虚拟机上构建和部署

        1)面向完整技术堆得最高级别控制。

        2)全面支持底层操作系统和自定义配置。

        3)从本地部署虚拟机到云的最简单转换方式。


3. 设置 AWS CLI

        安装AWS CLI

        可通过不同的方式安装 AWS CLI,具体取决于您的操作系统或使用容器的偏好。请按照可在此处找到的有关如何安装 AWS CLI v2 的最新指南进行操作。安装后,您应该能够运行 aws --version 并看到以下输出 (版本可能有所不同):

  1. aws --version
  2. aws-cli/2.2.17 Python/3.9.6 Darwin/20.5.0 source/x86_64 prompt/off

        配置 AWS CLI 凭证

        要配置凭证,请使用命令 aws configure 并利用在本指南上一模块中创建的凭证。系统将要求您提供 AWS 访问密钥 IDAWS 秘密访问密钥原定设置区域原定设置输出格式。        

        专家提示:您始终可以在任何命令上使用区域标志 (--region us-east-1) 指定或覆盖原定设置区域。可以在此处找到区域代码列表。

        最后,格式类型是原定设置显示输出的方式,包括但不限于:json、yaml、text。请查看此处的文档以获取所有可用选项。完成后,您应该在终端中看到以下内容 (如果您选择 eu-west-1 作为原定设置区域):

  1. aws configure
  2. AWS Access Key ID [None]: ANOTREALACCESSKEYID
  3. AWS Secret Access Key [None]:ANOTREALSECRETACCESSKEY
  4. Default region name [None]:eu-west-1
  5. Default output format [None]:json

        现在我们可以运行之前的命令并查看结果,因为每个新的 【亚马逊云科技】 账户都配置了原定设置 VPC:

aws ec2 describe-vpcs

        这就确认您的 AWS CLI 现在已正确设置。它在 ~/.aws (Linux / MacOS) 或 %UserProfile%\.aws (Windows) 中创建了两个文件:configcredentialscredentials 文件包含您指定的凭证:

  1. [default]
  2. aws_access_key_id = AKNOTREALACCESSKEYID
  3. aws_secret_access_key = AyNOTREALSECRETACCESSKEY

配置文件的任何其他配置都存储在 config 文件中。使用 aws configure 时,它将包含以下内容 (可能具有不同的区域):

  1. [default]
  2. region = eu-west-1
  3. 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 值将是所创建配置文件的名称,并将导致 configcredentials 文件发生以下更改:

        示例 config 文件:

  1. [default]
  2. region = eu-west-1
  3. output = json[profile my-profile]
  4. region = us-west-1
  5. output = yaml

        示例 credentials 文件:

  1. [default]
  2. aws_access_key_id = ANOTREALACCESSKEYID
  3. aws_secret_access_key = ANOTREALSECRETACCESSKEY
  4. [my-profile]
  5. aws_access_key_id = ANOTREALACCESSKEYID2
  6. aws_secret_access_key = ANOTREALSECRETACCESSKEY2

        请务必注意,配置文件仅在 config 文件中以 profile 为前缀,而在 credentials 文件中则没有此前缀。

         此方法要求您在每个账户中都有一个 IAM 用户,并且还具有凭证集。访问多个账户的另一种方法是设置 IAM 角色和策略以允许您使用角色切换。要设置 IAM 角色和策略,请参阅文档

         现在我们已经配置 AWS CLI,如果您不想在下一个模块中进行本地开发,则可以选择使用 AWS Cloud9 设置开发环境。


4.设置 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:

  1. {
  2. "environmentId":"8a34f51ce1e04a08882f1e811bd706EX"
  3. }

要访问您的 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 开发环境,则可以通过运行以下命令将其删除:


【2】AWS Cloud9 环境

        点击“创建环境”


        命名环境


         配置设置


         审查


 5.创建 Lightsail 实例

        当您创建 Lightsail 实例时,您可以选择将用户数据传递给实例,该实例可以用于执行常见的自动化配置任务,甚至在实例启动后运行脚本。在本指南的后面,您将使用 AWS CLI 创建 Lightsail 实例。将以下脚本复制到命令的 --user-data 部分:

  1. # remove default website
  2. #-----------------------
  3. cd /opt/bitnami/apache2/htdocs
  4. rm -rf *
  5. # clone github repo
  6. #------------------
  7. /opt/bitnami/git/bin/git clone -b loft https://github.com/aws-developer-center/todo-php .
  8. # set write permissons on the settings file
  9. #-----------------------------------
  10. chown bitnami:daemon ./*
  11. chmod 666 connectvalues.php
  12. # inject database password into configuration file
  13. #-------------------------------------------------
  14. sed -i.bak "s/<password>/$(cat /home/bitnami/bitnami_application_password)/;" /opt/bitnami/apache2/htdocs/connectvalues.php
  15. # create database
  16. #----------------
  17. cat /home/bitnami/htdocs/data/init.sql | /opt/bitnami/mariadb/bin/mysql -u root -p$(cat /home/bitnami/bitnami_application_password)

        此脚本将删除蓝图的默认网站、克隆示例应用程序以替换它、设置适当的文件权限、在示例应用程序的配置文件中配置自动生成的数据库密码,并执行 init.sql 脚本以创建数据库并用初始值填充数据库。


        要在实例运行后立即访问实例,您需要一个 SSH 密钥。要生成一个密钥,请运行以下命令:

  1. aws lightsail create-key-pair \
  2. --key-pair-name LightsailGuide > ssh_key_response.json
  3. cat ssh_key_response.json | jq -r '.publicKeyBase64' > lightsailguide.pub
  4. cat ssh_key_response.json | jq -r '.privateKeyBase64' > lightsailguide
  5. 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 实例,请运行以下命令:

  1. # Create the Lightsail instance:
  2. aws lightsail create-instances \
  3. --instance-names "LightsailLampExample" \
  4. --availability-zone eu-west-1a \
  5. --blueprint-id lamp_7 \
  6. --bundle-id micro_2_0 \
  7. --key-pair-name LightsailGuide \
  8. --user-data '# remove default website
  9. #-----------------------
  10. cd /opt/bitnami/apache2/htdocs
  11. rm -rf *
  12. # clone github repo
  13. #------------------
  14. /opt/bitnami/git/bin/git clone -b loft https://github.com/aws-developer-center/todo-php .
  15. # set write permissons on the settings file
  16. #-----------------------------------
  17. chown bitnami:daemon ./*
  18. chmod 666 connectvalues.php
  19. # inject database password into configuration file
  20. #-------------------------------------------------
  21. sed -i.bak "s/<password>/$(cat /home/bitnami/bitnami_application_password)/;" /opt/bitnami/apache2/htdocs/connectvalues.php
  22. # create database
  23. #----------------
  24. cat /home/bitnami/htdocs/data/init.sql | /opt/bitnami/mariadb/bin/mysql -u root -p$(cat /home/bitnami/bitnami_application_password)'

命令将输出您创建的实例的详细信息:

  1. {
  2. "operations": [
  3. {
  4. "id": "a49e1398-fb81-455a-8a50-3159c9bd9966",
  5. "resourceName": "LightsailLampExample",
  6. "resourceType": "Instance",
  7. "createdAt": "2021-09-21T16:38:40.566000+02:00",
  8. "location": {
  9. "availabilityZone": "eu-west-1a",
  10. "regionName": "eu-west-1"
  11. },
  12. "isTerminal": false,
  13. "operationType": "CreateInstance",
  14. "status": "Started",
  15. "statusChangedAt": "2021-09-21T16:38:40.566000+02:00"
  16. }
  17. ]
  18. }

        您的实例需要几分钟才能可用,您可以使用以下命令来检查进度:

aws lightsail get-instance-state --instance-name LightsailLampExample

当您查看以下输出时,实例在运行,但它可能仍在通过用户数据脚本工作:

  1. {
  2. "state": {
  3. "code": 16,
  4. "name": "running"
  5. }
  6. }

        要测试应用程序,您需要实例的公有 IP 地址。运行以下命令以检索您的实例公有 IP 地址。

aws lightsail get-instance --instance-name LightsailLampExample | jq -r .instance.publicIpAddress

        复制 IP 地址并将其粘贴到您的浏览器中,您应看到应用程序在运行:


 6.删除基于云的基础设施

        Amazon Lightsail 使您可以轻松删除基础设施,只需一个命令。

        打开终端,然后键入以下命令:

aws lightsail delete-instance --instance-name LightsailLampExample

        确认没有遗留任何资源

        要确认已删除的所有资源,请打开一个终端并键入以下命令:

  1. aws lightsail get-instances
  2. # the command should outputs the following
  3. {
  4. "instances": []
  5. }


五、部署web并启动

1.网页链接:AWS Lightsail,进入网页点击“开始使用Lightsail”


 2.点击“创建实例”


 3.完善实例信息,并创建实例

  • 实例位置
  • 选择实例映像
  • 选择蓝图
  • 可选
  • 选择实例计划
  • 标识您的实例


        根据提示选择信息,点击“创建实例”


 4.实例创建成功展示


 5.实例操作项

  • 连接
  • 管理
  • 停止/启动
  • 重启
  • 删除


 6.查看实例运行情况


 7.实例正常运行展示效果


 六、总结

1.AWS Cloud9允许您仅使用浏览器编写、运行和调试应用程序,而无需安装或维护桌面 IDE,减少了本地环境的设置。
2.AWS Lightsail作为EC2的更简单替代方案,它提供了构建网站和小型Web应用程序所需的所有工具。
3.AWS Lightsail构建网站,可视化程度高,相对于命令构建,操作相对于简单,所需依赖全面。

七、学习资源

亚马逊云科技专为开发者们打造了多种学习平台:

1. 入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。


2. 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。


3. 构建者库:了解亚马逊云科技如何构建和运营软件。


4. 用于在亚马逊云科技平台上开发和管理应用程序的工具包


八、专属福利

福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。


福利二:最新优惠大礼包,200$数据与分析抵扣券,200$机器学习抵扣券,200$微服务与应用开发抵扣券。


福利三:解决方案CloudFormation一键部署模版库


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/197025
推荐阅读
相关标签
  

闽ICP备14008679号