二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 最佳实践

  • 迎刃而解

  • Nginx

  • Php

  • Zabbix

  • AWS

    • AWS运维部署实践--网络环境规划
    • AWS运维部署实践--route53私有域跨账号共享
      • 前言
      • 操作
      • 其他辅助命令
    • AWS运维部署实践--使用sigma自建镜像仓库代替ECR
    • AWS运维部署实践--快速拉起生产可用的EKS集群
    • AWS运维部署实践--给EKS集群安装Ingress-Controller
    • AWS运维部署实践--配置跨账号通过kubectl管理EKS集群
    • AWS运维部署实践--内外网Ingress配置验证实践
    • AWS运维部署实践--EKS集群结合metrics-server配置HPA的功能
    • AWS运维部署实践--EKS多集群监控指标集中采集到集群外一个Prometheus的实践
    • AWS运维部署实践--EKS集群事件采集
  • Prometheus

  • Grafana

  • Loki

  • CentOS

  • Supervisord

  • Systemd

  • Docker

  • Docker-Compose

  • Rancher

  • Ansible

  • OpenLdap

  • GitLab

  • GitHub

  • Etcd

  • Consul

  • RabbitMQ

  • Kafka

  • Mysql

  • MongoDB

  • OpenVPN

  • Kvm

  • VMware

  • 配置文件详解

  • Other

  • 运维观止
  • AWS
二丫讲梵
2024-10-18
目录

AWS运维部署实践--route53私有域跨账号共享

文章发布较早,内容可能过时,阅读注意甄别。

# 前言

如果你的业务场景有多个 AWS 账号,那么私有域共享就是一个绕不开的话题。

aws 中的 route53 私有域配置跨账号共享有两种方案,一种是直接跨账号关联 VPC,一种是通过配置文件共享的形式实现。本文采用第一种方案,只需要两条命令即可完成此需求。

# 操作

比如要将 A 账号的 test.com 共享给 B 账号的 VPC 使用:

  1. 首先在 A账号 发起关联 B账号 VPC 的请求。注意此命令要在添加了 A账号 秘钥的 aws 命令行上执行。

    aws route53 create-vpc-association-authorization --hosted-zone-id Z02343401TXXXXX --vpc VPCRegion=ap-southeast-1,VPCId=vpc-xxxxxxxxxxxx --region ap-southeast-1
    
    1
    • --hosted-zone-id:指定私有域的 ID。文末会提供批量查询私有域 ID 的方法。
    • region:指定区域。
    • VPCId:指定 B 账号的 VPCID。
  2. 然后在 B账号 接受刚刚的请求。注意此命令要在添加了 B账号 秘钥的 aws 命令行上执行。

    $ aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z02343401TXXXXX --vpc VPCRegion=ap-southeast-1,VPCId=vpc-xxxxxxxxxxxx --region ap-southeast-1
    
    # 可能会有如下输出:
    
    {
        "ChangeInfo": {
            "Id": "/change/C083xxxxxxxxxx",
            "Status": "PENDING",
            "SubmittedAt": "2024-10-16T11:21:39.232000+00:00",
            "Comment": ""
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    执行完毕之后,需要等待一会儿,然后再去到 A账号 查看私有域 test.com 所关联的 VPC列表,已经可以看到关联到了 B账号 的 VPCId。

    大约要再等一会儿,就可以在 B 账号 VPC 内的主机上进行验证了。如果不生效,请多等一会儿。

如上两步均通过 aws cli 命令行完成,控制台没有操作的入口,注意先配置好两个账号的秘钥认证工作。

申明

原创文章eryajf,未经授权,严禁转载,侵权必究!此乃文中随机水印,敬请读者谅解。

Copyright 二丫讲梵 (opens new window) 版权所有

# 其他辅助命令

查看账号下所有私有域列表

有了如上两条命令之后,你可能会需要批量处理粗需求,那么可以先通过命令拿到私有域列表。然后遍历 ID 进行批量处理。

#!/bin/bash

# 获取所有托管区域信息
hosted_zones=$(aws route53 list-hosted-zones --query "HostedZones[?Config.PrivateZone==\`true\`]" --output json)

# 打印表头
printf "| %-20s | %-30s | %-10s | %-15s |\n" "ID" "Name" "备注" "解析记录数"
printf "|----------------------|--------------------------------|------------|-----------------|\n"

# 遍历每个托管区域并打印信息
echo "$hosted_zones" | jq -c '.[]' | while read -r zone; do
    id=$(echo "$zone" | jq -r '.Id' | sed 's/\/hostedzone\///')
    name=$(echo "$zone" | jq -r '.Name')
    comment=$(echo "$zone" | jq -r '.Config.Comment // "无"')
    record_count=$(echo "$zone" | jq -r '.ResourceRecordSetCount')

    printf "| %-20s | %-30s | %-10s | %-15s |\n" "$id" "$name" "$comment" "$record_count"
done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

查看指定私有域关联的 VPC 列表

aws route53 get-hosted-zone --id Z02343401TXXXXX --query 'VPCs[*].[VPCId, VPCRegion]' --output table
1
微信 支付宝
上次更新: 2024/10/19, 00:12:00
AWS运维部署实践--网络环境规划
AWS运维部署实践--使用sigma自建镜像仓库代替ECR

← AWS运维部署实践--网络环境规划 AWS运维部署实践--使用sigma自建镜像仓库代替ECR→

最近更新
01
记录二五年五一之短暂回归家庭
05-09
02
学习周刊-总第210期-2025年第19周
05-09
03
学习周刊-总第209期-2025年第18周
05-03
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式