aliyun阿里云Instant计算服务IP地址查询脚本

阿里云Instant计算服务IP地址查询脚本

简介

阿里云Instant计算服务,获取正在运行的作业实例的IP地址。快速批量查询所有运行中作业的IP地址。

脚本代码

bash 复制代码
#!/bin/bash
# 阿里云Instant计算服务作业IP地址查询脚本

REGION="cn-hangzhou"

# 查询所有作业的IP地址
jobs=$(aliyun ehpcinstant ListJobs --region "$REGION" 2>/dev/null)

if [ -z "$jobs" ]; then
    echo "查询失败或没有作业"
    exit 1
fi

job_ids=$(echo "$jobs" | jq -r '.JobList[].JobId')

for job_id in $job_ids; do
    if [ -z "$job_id" ]; then
        continue
    fi

    executors=$(aliyun ehpcinstant ListJobExecutors \
        --region "$REGION" \
        --JobId "$job_id" \
        --TaskName Task0 \
        --PageSize 100 \
        2>/dev/null)

    echo "$executors" | jq -r '.Executors[] | .IpAddress[0]' 2>/dev/null
done | sort -u > running_ips.txt

echo "IP地址已保存到 running_ips.txt"
wc -l running_ips.txt

功能说明

1. 设置区域

bash 复制代码
REGION="cn-hangzhou"

脚本默认使用杭州区域,如需修改为其他区域,请更改此变量。

2. 查询所有作业

bash 复制代码
jobs=$(aliyun ehpcinstant ListJobs --region "$REGION" 2>/dev/null)

调用阿里云CLI获取当前区域下的所有作业列表。

3. 提取作业ID

bash 复制代码
job_ids=$(echo "$jobs" | jq -r '.JobList[].JobId')

使用jq工具从返回的JSON数据中提取所有作业的ID。

4. 遍历查询每个作业的执行器IP

bash 复制代码
for job_id in $job_ids; do
    executors=$(aliyun ehpcinstant ListJobExecutors \
        --region "$REGION" \
        --JobId "$job_id" \
        --TaskName Task0 \
        --PageSize 100 \
        2>/dev/null)

    echo "$executors" | jq -r '.Executors[] | .IpAddress[0]' 2>/dev/null
done

对每个作业调用ListJobExecutors接口获取执行器信息,并提取IP地址。

5. 去重并保存

bash 复制代码
done | sort -u > running_ips.txt

将所有IP地址排序并去重,最终保存到running_ips.txt文件中。

使用方法

前置条件

  1. 安装阿里云CLI

    bash 复制代码
    # Linux/Mac
    curl -s https://aliyuncli.alicdn.com/aliyun-cli.sh | bash
  2. 配置凭证

    bash 复制代码
    aliyun configure
  3. 安装jq工具

    bash 复制代码
    # Ubuntu/Debian
    sudo apt-get install jq
    
    # CentOS/RHEL
    sudo yum install jq
    
    # macOS
    brew install jq

运行脚本

bash 复制代码
# 添加执行权限
chmod +x get_running_ips.sh

# 运行脚本
./get_running_ips.sh

输出示例

复制代码
IP地址已保存到 running_ips.txt
25 running_ips.txt

查看IP地址文件:

bash 复制代码
cat running_ips.txt

注意事项

  1. 区域配置 :默认使用cn-hangzhou区域,如需查询其他区域,请修改REGION变量
  2. 任务名称 :脚本默认查询Task0任务
  3. 分页大小 :当前设置PageSize为100
  4. 错误处理 :脚本会将错误输出重定向到/dev/null,确保静默运行

总结

阿里云CLI和jq工具,实现了批量获取Instant计算服务作业IP地址的功能。

参考

  1. 阿里云CLI凭证管理指南
相关推荐
风曦Kisaki10 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
Database_Cool_14 小时前
云数据仓库开通指南:阿里云 AnalyticDB MySQL 10 分钟从 0 到分析实战教程
数据仓库·mysql·阿里云
BIGmustang16 小时前
ACK的集群日志接入及ARMS的应用性能监控及主机监控(云监控)
阿里云·云原生
Database_Cool_19 小时前
中小企业与创业公司云数据库选型、规格与成本指南:阿里云 RDS MySQL 起步方案
数据库·mysql·阿里云
陈天伟教授2 天前
华为云 阿里云 腾讯 WorkBuddy的工具对比
阿里云·华为云·云计算
Database_Cool_2 天前
阿里云 Tair(企业级内存数据库)vs AWS ElastiCache 内存数据库选型对比:性能/成本/合规全维度 Benchmark
数据库·阿里云
Database_Cool_2 天前
阿里云 Tair(企业级内存数据库)vs 腾讯云 Redis 云缓存深度对比:性能/数据结构/成本全维度 Benchmark
数据库·阿里云·缓存
Database_Cool_2 天前
阿里云 RDS MySQL 降本增效实战:从规格选型到成本优化,月成本降低64%全攻略
mysql·阿里云·云计算
Database_Cool_2 天前
AI Agent 长期记忆怎么存?阿里云 PolarDB-X 对接 Mem0 记忆框架实践
数据库·阿里云
Database_Cool_2 天前
阿里云 Lindorm vs InfluxDB vs TDengine:时序数据库全维度对比,多模融合降本 90%
阿里云·时序数据库·tdengine