AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 28554
In Process
Jason Kester
Jason Kester
Asked: 2009-06-20 01:27:36 +0800 CST2009-06-20 01:27:36 +0800 CST 2009-06-20 01:27:36 +0800 CST

您如何管理您的 EC2 Linux 机器?

  • 772

我有一些 EC2 Linux 映像为我的一个项目执行夜间处理工作。有时,我需要进入,进行一些代码更改,配置一些东西,并重新捆绑图像。

我用于这些操作的工具集非常稀疏(SSH 进入盒子,在 VIM 中编辑文件,我需要的 WGET 远程文件),我怀疑有更好的方法来做到这一点。我很想知道我这个职位的其他人在做什么。

  • 您是在使用某种形式的 Windowing 系统和远程桌面等效于访问该框,还是全部是命令行?管理 EC2 Windows 机器很简单,因为您可以简单地远程桌面并通过网络传输文件。在 Linux 世界中是否有与此等价的东西?

  • 您是否直接在机器上进行配置更改/脚本调整?或者您是否在本地机器上设置了一些东西来远程编辑这些文件?还是您只是在远程编辑它们,然后在每次保存时传输它们?

  • 您如何在 EC2 和本地环境之间来回移动文件?FTP?通过 VPN 的某种映射驱动器?

我真的需要一些最佳实践来管理这些盒子。任何消除一些痛苦的建议都将受到欢迎!

编辑:显然,我上面并不清楚,因为前两个响应围绕着管理和配置 EC2 实例。我只想知道如何将桌面远程连接到正在运行的 Linux 服务器中,这样移动文件和编辑它们就不那么痛苦了。

linux amazon-ec2
  • 8 8 个回答
  • 7186 Views

8 个回答

  • Voted
  1. jtimberman
    2009-06-30T00:14:18+08:002009-06-30T00:14:18+08:00

    我不再做太多手动系统管理了。我将我的基础架构视为一个可编程实体,并通过使用自动化配置管理、EC2 节点维护等工具配置系统来将其视为可编程实体。我的工具箱中的工具:

    • Ruby(我最喜欢的脚本/工具语言)
    • Git(版本控制)
    • Opscode 的厨师(用 Ruby 编写)(1)
    • Capistrano(临时大规模维护)
    • Amazon 用于实例和映像维护的 EC2 API 工具。
    • Rightscale 的 AWS gem(EC2 的 Ruby 绑定)

    (1) - 披露,我为 Opscode 工作。其他工具填补了这个空间,比如 Reducing Lab 的 Puppet。

    当我以特定功能所需的方式构建节点时,我确实捆绑了一个 AMI。例如,如果我正在构建 Rails 应用服务器,我将安装所有必备软件包以节省构建时间。

    当一切都失败时,我使用 SSH 登录系统。我做了很多年的手动系统管理,这是老帽子。

    您是在使用某种形式的 Windowing 系统和远程桌面等效于访问该框,还是全部是命令行?

    我不会在服务器上安装任何 GUI,除非一个包具有依赖关系并且一个被自动安装。

    在 Linux 世界中是否有与此等价的东西?(传输文件)

    我通常做两种类型的文件传输/文件维护。

    • 包安装
    • 配置文件

    对于平台原生的包,我使用标准的包管理工具,如 APT 或 YUM。对于源代码安装(something.tar.gz),我通常通过 wget 下载。

    配置文件通常是由 Chef 管理的 ERB 模板。

    我使用 SSH 和 SCP/SFTP 手动传输文件。

    您是否直接在机器上进行配置更改/脚本调整?或者您是否在本地机器上设置了一些东西来远程编辑这些文件?还是您只是在远程编辑它们,然后在每次保存时传输它们?

    我将与管理系统相关的所有内容都保存在软件控制存储库中。这是我在一个或多个系统上更新配置时的典型工作流程。我从本地工作站开始。

    • 从主 Git 存储库中提取其他人的更改。
    • 在本地编辑文件(例如,更新配置文件)。
    • 提交更改,推送到大师。
    • 在 Chef 服务器(通过 SSH 登录)上,拉取我刚刚提交的最新更改。
    • 将配置部署到 Chef 服务器上的适当位置(我为此使用 Rake)。
    • Chef 客户端按间隔运行,因此它们将每 30 分钟接收一次更改。如果我立即需要某些东西,我会手动运行 chef-client。
    • 验证更改!

    您如何在 EC2 和本地环境之间来回移动文件?FTP?通过 VPN 的某种映射驱动器?

    我在 EC2 节点上使用的文件可能会存储在几个位置。

    • 厨师服务员。主要是配置模板,还有一些小包。
    • GitHub。我们将代码(开源项目)存储在 GitHub 上。EC2 节点可以很容易地做到这一点(例如检查最新版本的东西)。
    • Amazon S3 存储桶。有些东西存储在存储桶中。

    我在 EC2 中做了很多工作,主要是测试环境和更改。由于我的工具和工作流程,我将更多时间花在我真正关心的事情上,而不是处理单个文件和考虑特定配置。

    • 13
  2. tfh1985
    2009-06-20T01:48:39+08:002009-06-20T01:48:39+08:00

    我们所有的软件都是通过 RPM 部署的。每个 EC2 实例类型都由一个 kickstart 文件描述(其中列出了要安装的 RPM...)。kickstart 设置意味着可以在大约 10 分钟内从头开始构建每种实例类型的工作机器。

    然后我们有一个程序调用 anaconda(Red Hat 安装程序)来获取一个 kickstart 文件,将系统安装到一个目录中,然后捆绑该目录并将其作为 Amazon 系统映像推送到 S3。这都是一步,所以我只需输入:

    kickstart2ami webserver.ks
    

    由于机器可以在大约 40 分钟内完全重建、上传和运行,因此构建新机器映像比在实际(一次性)EC2 实例上执行系统管理员更容易。因此,实际上没有在 EC2 实例上执行任何系统管理员。

    • 6
  3. SAH
    2009-08-12T11:20:41+08:002009-08-12T11:20:41+08:00

    我喜欢NX进行远程 gui 访问。也有很好的记录。

    • 3
  4. Jason Mitchell
    2011-11-20T11:30:12+08:002011-11-20T11:30:12+08:00

    我使用 nautilus 进行大量文件管理,使用 ssh 进行命令。它可以直接插入您的系统,就像您在数据中心实际使用它一样。如果您是从 Windows 框中执行此操作,那么这种连接将无法工作,因为 Windows 中的 vfs 是有限的。

    • 3
  5. Attila Fulop
    2011-11-20T13:43:27+08:002011-11-20T13:43:27+08:00

    我认为您不需要远程桌面来执行这些任务。

    正如其他人提到的,您可以使用 SFTP 在盒子之间传输文件。使用WinSCP 客户端通过 sftp 进行连接,您也可以使用它来编辑 Windows 机器上的文件(通过双击它们),就像它在本地机器上一样。您还可以使用它远程复制/移动文件。

    您也可以考虑在 ssh 控制台上使用 Midnight Commander (mc) 来加快文件操作。要安装使用yum install mcorapt-get install mc命令。mc之后,您可以通过在终端上键入来启动它。它还具有比 vim 更直接的内置查看器和编辑器。

    如果你真的想拥有 GUI——我们通常在服务器上没有——你必须安装 X 环境并使用 VNC 连接到它。在这种情况下,我们通过 ssh 隧道连接到 VNC 服务器,从而增加了安全性。

    • 2
  6. supercheetah
    2009-06-30T02:22:24+08:002009-06-30T02:22:24+08:00

    在回答有关使用 X 设置远程桌面的问题时,如果您使用的是 Debian,请阅读此. 这并不是设置它的最佳文档。它让你安装了太多的软件包,但它的想法是正确的。你真的只需要一个用于 X 的虚拟视频驱动程序,然后让 VNC 启动一个 X 桌面。

    • 1
  7. hoberion
    2009-06-20T01:34:45+08:002009-06-20T01:34:45+08:00

    如果您使用的是 ubuntu:我们正在考虑为此使用Landscape,它是 ubuntu(规范)团队的商业产品,将与 ec2 命令集成。

    • 0
  8. aussielunix
    2009-06-20T03:45:29+08:002009-06-20T03:45:29+08:00

    您可以尝试像 capistrano 这样的东西,但如果这还不足以满足您的需求,那么听起来您是某种配置管理的候选人。
    Puppet,reducinglabs.com/products/puppet/,在这个领域是真正的佼佼者,但对你来说可能有点矫枉过正,除非你有变大的计划,然后值得预先努力。
    如果您使用的是 debian/ubuntu 发行版之一,那么我会检查Slack Roles
    它是 rsync 和 shell 脚本的精美包装器。这几乎没有前期学习并且效果很好,但是随着您的成长,它可能会变得有点笨拙。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve