首页
/ Cartography项目快速安装与运行指南

Cartography项目快速安装与运行指南

2025-07-09 07:00:25作者:翟萌耘Ralph

概述

Cartography是一个强大的云基础设施资产图谱工具,能够将AWS、GCP等云服务商的资源关系可视化。本文将详细介绍三种不同的安装运行方式,帮助用户快速搭建测试环境。

方案一:使用docker-compose运行(推荐)

这是最快捷的启动方式,适合想要快速体验Cartography功能的用户。

准备工作

  1. 获取Cartography项目代码
  2. 确保本地已安装Docker和docker-compose

详细步骤

  1. 启动Neo4j图数据库容器

    docker-compose up -d
    

    此命令会在后台启动Neo4j服务,初次启动可能需要几分钟时间。

  2. 配置并运行Cartography

    docker-compose run \
        -e AWS_PROFILE=your_profile \
        -e AWS_DEFAULT_REGION=your_region \
        cartography --neo4j-uri bolt://cartography-neo4j-1:7687
    

    关键参数说明:

    • AWS_PROFILE:指定AWS配置文件中定义的身份凭证
    • AWS_DEFAULT_REGION:必须指定的AWS区域
    • neo4j-uri:Neo4j数据库连接地址
  3. 查看图谱数据 访问http://localhost:7474,使用Cypher查询语言探索数据关系。

注意事项

  • 若出现连接错误,可能是Neo4j容器尚未完全启动,可稍等后重试
  • 可通过docker-compose run cartography --help查看完整参数列表
  • AWS凭证文件会自动从主机映射到容器内

方案二:手动运行两个容器

适合需要更灵活控制容器配置的场景。

实施步骤

  1. 创建专用网络

    docker network create cartography-network
    
  2. 启动Neo4j容器

    docker run \
        --publish=7474:7474 \
        --publish=7687:7687 \
        --network cartography-network \
        -v data:/data \
        --name cartography-neo4j \
        --env=NEO4J_AUTH=none \
        neo4j:4.4-community
    
  3. 运行Cartography容器

    docker run --rm \
        --network cartography-network \
        -v ~/.aws:/var/cartography/.aws/ \
        -e AWS_PROFILE=your_profile \
        -e AWS_DEFAULT_REGION=your_region \
        cartography-cncf/cartography --neo4j-uri bolt://cartography-neo4j:7687
    

方案三:原生安装

适合需要在生产环境长期运行或进行二次开发的场景。

系统要求

  1. Python 3.10环境
  2. Neo4j 4.4或更高版本(不支持4.3及以下版本)

安装步骤

  1. 安装Neo4j

    • 推荐使用Docker容器方式
    • 如需原生安装,需先配置JDK 11+环境
  2. 安装Cartography

    pip install cartography
    
  3. 运行Cartography

    AWS_PROFILE=your_profile AWS_DEFAULT_REGION=your_region cartography --neo4j-uri bolt://localhost:7687
    

常见问题处理

  1. ARM架构设备性能问题 在M1 Mac等ARM设备上,建议使用ARM架构的Neo4j镜像提升性能。

  2. 认证配置 生产环境建议启用Neo4j认证,可通过环境变量传递凭证:

    export NEO4J_PASSWORD="your_password"
    cartography --neo4j-uri bolt://localhost:7687 --neo4j-user neo4j --neo4j-password-env-var NEO4J_PASSWORD
    
  3. 多AWS账户同步

    AWS_CONFIG_FILE=/path/to/config cartography --neo4j-uri bolt://localhost:7687 --aws-sync-all-profiles
    

后续建议

成功运行Cartography后,您可以:

  • 探索更多数据源模块
  • 研究生产环境部署的最佳实践
  • 学习Cypher查询语言深入分析图谱数据
  • 考虑开发自定义模块扩展功能

通过本文介绍的任一方法,您都可以快速搭建Cartography测试环境,开始您的云基础设施可视化之旅。