anupddas/aws-secure-vpc-bastion-architecture

GitHub: anupddas/aws-secure-vpc-bastion-architecture

一个展示使用自定义VPC、公网与私网子网并通过堡垒主机实现安全SSH访问的AWS网络架构项目。

Stars: 0 | Forks: 0

# AWS 安全 VPC 与堡垒主机架构 一个展示使用自定义 VPC、公网与私网子网以及通过堡垒主机进行受控 SSH 访问的生产级 AWS 网络项目。 本项目聚焦于网络隔离、最小权限访问以及真实故障排查场景,遵循云工程与 DevOps 环境中的最佳实践。 ## 项目概述 本项目实现了一个安全的虚拟私有云(VPC)架构,其中: * **堡垒主机**位于公网子网,作为唯一的入口点 * **私网 EC2 实例**完全与互联网隔离 * 对私网实例的 SSH 访问严格通过堡垒主机控制 * 网络与安全配置强制实施最小权限模型 ## 架构 ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/867cf7b1c5032512.png) ### 流量流向 ## 关键特性 * 使用 CIDR 进行网络分段的定制 VPC * 公网与私网子网架构 * 互联网网关与路由表配置 * 用于受控 SSH 访问的堡垒主机 * 无公网暴露的私网 EC2 实例 * 基于安全组的最小权限访问控制 * SSH 代理转发与 ProxyJump 配置 * 真实故障模拟与排查 ## 使用技术 * Amazon EC2 * Amazon VPC * 互联网网关 * 路由表 * 安全组 * Linux(Amazon Linux) * SSH(OpenSSH、ProxyJump、代理转发) ## 仓库结构 ``` aws-secure-vpc-bastion-architecture/ │ ├── README.md ├── LICENSE ├── .gitignore │ ├── docs/ │ ├── acess-flow/ | │ ├── bastion-access-flow.md | | │ ├── architecture/ | │ ├── architecture-diagram.png | │ ├── architecture-diagram.md | | │ ├── network/ | │ ├── network-design.md | | │ ├── troubleshoot/ | │ ├── failure-scenarios.md │ ├── scripts/ │ ├── bastion-setup.sh │ ├── ssh-config │ ├── bastion-setup-usage.sh │ ├── ssh-config-apply.sh │ ├── screenshots/ │ ├── bastion-host/ | │ ├── bastion-host-t2-micro-instance.png | │ ├── bastion-sg.png | │ │ ├── connection/ | │ ├── bastion-host-connected.png | │ ├── connect-private-app-server-from-bastion-host.png | │ ├── hide-key-pair-from-public-visibility-in-bastion-host.png | │ ├── upload-key-pair-to-bastion-host.png | │ │ ├── internet-gateway-creation/ | │ ├── attach-igw-to-vpc.png | │ ├── igw.png | │ │ ├── private-app-server/ | │ ├── private-app-server.png | │ ├── private-app-sg.png | │ │ ├── route-table-creation/ | │ ├── config-route-table.png | │ ├── create-route-table.png | │ ├── edit-route-table.png | │ │ ├── subnet-creation/ | │ ├── public-subnet-creation/ | | │ ├── config-public-subnet.png | | │ ├── create-public-subnet.png | | │ ├── public-subnet-details.png | │ | │ ├── private-subnet-creation/ | | │ ├── config-private-subnet.png | | │ ├── create-private-subnet.png | | │ ├── no-internet-access-to-public-subnet.png | │ │ ├── vpc-creation/ | │ ├── create-vpc.png | │ ├── vpc-details.png │ ├── configs/ │ ├── security-groups.md │ ├── route-tables.md │ ├── subnet-config.md │ └── deployment/ └── step-by-step-setup.md ``` ## 分步部署 完整的设置指南请参考: * deployment/step-by-step-setup.md 本指南涵盖: * VPC 创建 * 子网配置 * 堡垒主机搭建 * 私网 EC2 部署 * 安全 SSH 访问 ## 安全架构 ### 堡垒主机 * 部署在公网子网 * 仅允许从受限 IP 地址通过 SSH 访问 * 作为唯一的入口点 ### 私网 EC2 实例 * 未分配公网 IP * 仅允许来自堡垒主机安全组的 SSH 访问 * 完全与互联网隔离 ### 安全组 * 堡垒主机:仅允许来自用户 IP 的 SSH * 私网实例:仅允许来自堡垒主机安全组的 SSH ## 故障场景与排查 本项目包含真实世界故障模拟,例如: * 无法 SSH 连接到堡垒主机 * 从堡垒主机到私网实例的 SSH 失败 * 错误的安全组配置 * SSH 密钥权限错误 * 意外暴露私网实例 详细说明与修复方法请查阅: * docs/failure-scenarios.md ## SSH 访问(专业工作流) 使用带有 ProxyJump 的 SSH 配置: ``` ssh bastion ssh private-app ``` 这实现了无缝且安全的访问,无需手动执行多步骤 SSH 命令。 ## 费用估算 * EC2(t2.micro × 2):约 $12–16/月 * VPC、子网、路由表:免费 * 互联网网关:免费 ### 成本优化 * 不使用时停止实例 * 避免使用 NAT 网关与负载均衡器 * 项目完成后删除资源 ## 学习成果 * 设计安全的 AWS VPC 架构 * 实现堡垒主机访问模式 * 配置路由表与子网隔离 * 应用最小权限安全原则 * 排查真实网络问题 * 安全高效地管理 SSH 访问 ## 使用场景 * 云安全架构 * DevOps 基础设施设计 * 生产网络搭建 * 面试演示项目 ## 后续增强 * 多可用区部署以提高高可用性 * 为私网子网添加 NAT 网关以实现出网访问 * 使用 AWS Systems Manager Session Manager(SSH 替代方案) * 使用 Terraform 或 CloudFormation 实现基础设施即代码 ## 作者 **Anup Das** anupddas8@gmail.com GitHub:https://github.com/anupddas/aws-secure-vpc-bastion-architecture.git ## 许可证 本项目根据 MIT 许可证授权。 ## 结论 本项目展示了使用堡垒主机控制对私有资源访问的、安全且贴近生产的 AWS 网络架构。
标签:Agent Forwarding, Amazon EC2, Amazon Linux, AWS, Bastion Host, DPI, JSONLines, OpenSSH, SSH, Streamlit, VPC, 云工程, 互联网网关, 代理跳转, 公网子网, 可控访问, 堡垒机, 子网, 安全组, 排错, 故障排查, 最小权限, 生产环境, 私有子网, 私有实例, 网络安全, 网络隔离, 访问控制, 路由表, 隐私保护, 零信任