【Terraform学习】使用 Terraform 从 EC2 实例访问 S3 存储桶(Terraform-AWS最佳实战学习)

news2024/11/18 13:44:48

使用 Terraform 从 EC2 实例访问 S3 存储桶

实验步骤

前提条件

  • 安装 Terraform: 地址

下载仓库代码模版

  • 本实验代码位于 task_ec2_s3connet 文件夹中

  • 变量文件 variables.tf 变量文件

 

  • 在上面的代码中,您将声明aws_access_keyaws_secret_key区域变量

  • 声明存储桶名称变量

  • terraform.tfvars 

  • 在上面的代码中,您将定义变量的值

  • main.tf 

  

  • 在上面的代码中,您将执行以下任务

    • 创建 Amazon S3 存储桶,并index.html文件上传到新创建的 S3 存储桶中

    • 创建EC2 实例,EC2 实例类型为 t2.micro,以及 IAM 角色

    • 而且,user_data部分中,您将安装 HTTPD 并从 S3 存储桶复制index.html文件

    • 添加安全组,授权来自端口 80,端口22 和端口 443 的入站流量,以及来自所有端口的出站流量

    • 创建一个 IAM 角色,该角色使用案例为 EC2 实例

    • 将 AWS 托管 IAM 策略AmazonSSMManagedInstanceCore 和 AmazonS3FullAccess 附加到上面创建的 IAM 角色

    • 此 IAM 策略将允许 EC2 实例在没有密钥对的情况下使用 SSH 会话管理器,并允许访问 S3 存储桶

  • outputs.tf,将输出EC2 实例的公有 IP   

 


使用 Terraform 部署

  • 确保您这些文件在同一位置

  • 通过运行以下命令初始化 Terraform

    • terraform init

    • 注意:terraform init检查所有插件依赖项下载它们

  • 查看生成计划,请运行以下命令

    • terraform plan

  • 创建在 main.tf 配置文件中声明的所有资源 ,请运行以下命令

    • terraform apply

  • 您将能够看到将要创建的资源,通过输入 yes 批准所有资源的创建

  • terraform apply 命令最多可能需要 2 分钟才能创建资源


通过 AWS 控制台使用会话管理器将 SSH 连接到 EC2 实例

  • 确保您位于美国东部(弗吉尼亚北部)us-east-1 区域

  • 通过单击 AWS 控制台顶部导航到 EC2

  • 左侧面板,单击"实例"

    • 注意:如果您没有看到 EC2 实例,或者看到 EC2 实例处于“正在运行”以外的任何其他状态。这意味着资源仍在创建中。请等待几分钟,直到环境准备就绪

  • 选择存在的 EC2 实例,然后单击连接按钮。

  • 切换到“会话管理器”选项卡,然后单击“连接”按钮。

  • 片刻之后,会话管理器已连接到 EC2 实例。 

  • 运行第一个命令列出所有 S3 存储桶。并且,复制存储桶名称

    • aws s3 ls

  • 使用存储桶名称列出其对象

    • aws s3 ls s3://<Bucket-Name>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/921113.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux 同时kill杀死多进程实践

使用场景 当程序中有使用到多进程且进程数较多的情况&#xff0c;如下图&#xff0c;且需要通过控制台杀死所有的 GSM_run.py 的进程时&#xff0c;利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的&#xff0c;这时就需要我们的kill多进程的命令工作了。 批量 Kill 进程…

分享好用的翻译软件

网易有道翻译→网易有道翻译

软件产品为什么需要做测试报告?

在当今数字化的时代&#xff0c;软件产品的开发和使用已经成为各行各业的常态。随着软件市场的竞争越来越激烈&#xff0c;用户对于软件品质和功能的要求也越来越高。而为了确保软件产品质量和稳定性&#xff0c;软件测试报告变得至关重要。 一、软件产品为什么要做测试报告?…

学习ts(七)泛型

定义 泛型允许我们在强类型程序设计语言中编写代码时使用一些以后才指定的类型&#xff0c;在实例化时作为参数指明这些类型。在ts中&#xff0c;定义函数、接口或类的时候&#xff0c;不预先定义好具体的类型&#xff0c;而在使用的时候在指定类型的一种特性。 例子&#xff…

electron软件安装时,默认选择为全部用户安装

后续可能会用electron开发一些工具&#xff0c;包括不限于快速生成个人小程序、开发辅助学习的交互式软件、帮助运维同学一键部署的简易版CICD工具等等。 开发进度&#xff0c;取决于我懒惰的程度。 不过不嫌弃的同学还是可以先关注一波小程序&#xff0c;真的发布工具了&…

32位 STM32 打印 uint64_t 类型

32位 STM32 打印 uint64_t 类型 32位 STM32 打印 uint64_t 类型 32位 STM32 打印 uint64_t 类型 测试代码&#xff0c;未整理&#xff0c;可参考&#xff01; uint64_t cnt 0x1122334455667788;uint32_t test1 (uint32_t)(cnt >> 32);uint64_t test2 (uint64_t)(cnt &…

Squaretest 1.8.3 安装激活

1. 插件下载 2. 离线安装 3. 插件激活

Springboot集成redis单机与集群

一 集成Redis单机版 1 pom文件添加jar <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2 在配置文件application.properties添加redis配置 #…

红米手机怎么录屏?教你快速掌握录屏技巧

“红米怎么录屏呀&#xff0c;最近需要录一场线上的视频会议&#xff0c;眼看就要到时间了&#xff0c;就是找不到录屏在哪里&#xff0c;真的很着急&#xff0c;这场会议非常重要&#xff0c;有没有人会的&#xff0c;教教我&#xff0c;非常感谢&#xff01;” 在手机使用过…

提升政府公文品质:精益求精的校对之道

在当今的数字化时代&#xff0c;公文校对已经不再是简单地检查拼写和语法错误。在确保文档的准确性、完整性和专业性的同时&#xff0c;我们也面临着各种新的挑战&#xff0c;例如敏感词的识别。幸运的是&#xff0c;随着技术的发展&#xff0c;现在有了智能校对工具如“爱校对…

写得了代码,焊得了板!嵌入式开发工程师必修之代码管理方案(中)

目录 2.2 分仓、权限与依赖问题 2.3 基于 Git 进行多仓管理 Git submodule Git subtree Script/CMake Git-Repo Conan 本文来自 武让 极狐GitLab 高级解决方案架构师 &#x1f31f; 前一篇文章&#xff0c;作者介绍了嵌入式开发场景的代码管理特点与诉求&#xff0c;以及…

文件加密最简单的方法有哪些?

文件加密是保护敏感信息和数据安全的重要方法之一。以下是文件加密的几种简单方法&#xff1a; 密码保护&#xff1a; 最简单的方式是使用密码来保护文件。许多应用程序(如Microsoft Office)允许你为文件设置密码&#xff0c;确保只有知道密码的人可以访问文件内容。 压缩工具加…

上海交大ACM班总教头团队重磅新作,带你动手学机器学习(文末赠书4本)

目录 0 写在前面1 什么是机器学习&#xff1f;2 ACM 班总教头&#xff1a;俞勇3 动手学习机器学习赠书活动 0 写在前面 机器学习强基计划聚焦深度和广度&#xff0c;加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理&#xff1b;“广”在分析多个机器…

【全站最全】被苹果、谷歌和Microsoft停产的产品(二)

2019 Field Trip 2012 – 2019 APP Field Trip was a mobile app that acted as a virtual tour guide by cross referencing multiple sources of information to provide users information about points of interest near them. AdSense (mobile app) 2013 – 2019 A…

怎么制作sip网络寻呼话筒,sip任意呼叫主机,

怎么制作sip网络寻呼话筒&#xff0c;sip任意呼叫主机&#xff0c; 所需材料一&#xff1a;SV-2103VP sip网络音频模块 功能如下&#xff1a; SV-2101VP/ SV-2103VP使用了AT32F437VGT7处理器构架加专业的双向音频Codec编解码器&#xff0c; 处理器负责数据的传输&#xff0c…

里式替换原则(LSP)

目录 简介: 作用: 过程: 总结: 简介: 里式替换原则&#xff08;Liskov Substitution Principle&#xff0c;简称LSP&#xff09;的提出者是美国计算机科学家Barbara Liskov。Barbara Liskov是一位计算机科学家&#xff0c;麻省理工学院教授&#xff0c;也是美国第一个计算机…

成功解决修改已经push到远程git仓库的commit message

1.使用 Git 命令行进入要修改的项目目录。 2.运行 git log 命令查看提交历史&#xff0c;找到要修改的提交的哈希值&#xff08;commit hash&#xff09;。 3.运行 git rebase -i <commit hash> 命令&#xff0c;将 <commit hash> 替换为要修改的提交的哈希值。这将…

用户、权限和Vim编辑器

用户 用户分类 超级管理员&#xff1a;可以登录&#xff0c;拥有所有权限&#xff0c;用户Id为0 普通用户&#xff1a;可以登录&#xff0c;但只能操作家目录&#xff0c;用户Id为1000 程序用户&#xff1a;不能登录&#xff0c;用于管理程序&#xff0c;用户Id为1~999 添…

春秋云镜:CVE-2019-9042(Sitemagic CMS v4.4 任意文件上传漏洞)

一、题目 靶标介绍&#xff1a; Sitemagic CMS v4.4 index.php?SMExtSMFiles 存在任意文件上传漏洞&#xff0c;攻击者可上传恶意代码执行系统命令。 进入题目&#xff1a; admin/admin /index.php?SMExtSMFiles&SMTemplateTypeBasic&SMExecModeDedicated&SMFil…

龙芯2K1000LA移植交叉编译环境以及QT

嵌入式大赛结束了&#xff0c;根据这次比赛中记的凌乱的笔记&#xff0c;整理了一份龙芯2K1000LA的环境搭建过程&#xff0c;可能笔记缺少了一部分步骤或者错误&#xff0c;但是大致步骤可以当作参考。 一、交叉编译工具链 下载连接&#xff1a;龙芯 GNU 编译工具链 | 龙芯开…