カテゴリ: AWS CLI 更新日: 2026/04/08

【AWS】CLIでRoute 53を操作する方法を徹底解説!レコード作成・一覧確認・削除コマンド完全ガイド

505
【AWS】CLIでRoute 53を操作する!レコード作成・一覧・削除コマンド解説

先生と生徒の会話形式で理解しよう

生徒

「AWSのRoute 53をCLIで操作できるって聞いたんですが、本当にコマンドだけでDNSレコードの作成や削除ができるんですか?」

先生

「はい、AWS CLIを使えば、Route 53のホストゾーン管理やDNSレコードの作成、一覧取得、削除までコマンドで操作できます。」

生徒

「コンソールを開かなくても、AレコードやCNAMEレコードを設定できるんですね?」

先生

「その通りです。インフラの自動化やCI/CDでもよく使われます。それでは、AWS CLIでRoute 53を操作する方法を基礎から見ていきましょう。」

1. AWS Route 53とは何か

1. AWS Route 53とは何か
1. AWS Route 53とは何か

AWS Route 53とは、AWSが提供するフルマネージド型のDNSサービスです。ドメイン管理、DNSレコード管理、ヘルスチェック、ルーティングポリシー設定などを行うことができます。Webサイト公開やAPIサーバー運用では欠かせないサービスです。

Route 53では、ホストゾーンという単位でドメインを管理し、その中にAレコード、AAAAレコード、CNAMEレコード、MXレコードなどのDNSレコードを作成します。

AWS CLIを使うことで、これらのDNS設定をコマンドラインから操作できるため、インフラ自動化や構成管理に非常に役立ちます。

2. AWS CLIでRoute 53を操作する前準備

2. AWS CLIでRoute 53を操作する前準備
2. AWS CLIでRoute 53を操作する前準備

まずはAWS CLIがインストールされていることを確認します。インストール確認は次のコマンドです。


aws --version
aws-cli/2.15.0 Python/3.11.0 Linux/5.10 exe/x86_64

続いて、AWS CLIの認証設定を行います。まだ設定していない場合は次のコマンドを実行します。


aws configure
AWS Access Key ID [None]: AKIAxxxxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

Route 53はグローバルサービスですが、IAMユーザーにroute53の操作権限が付与されている必要があります。ポリシー設定も事前に確認しておきましょう。

3. ホストゾーンの一覧を確認する方法

3. ホストゾーンの一覧を確認する方法
3. ホストゾーンの一覧を確認する方法

まずは、現在作成されているホストゾーンの一覧を確認します。AWS CLIでの確認コマンドは次の通りです。


aws route53 list-hosted-zones
{
    "HostedZones": [
        {
            "Id": "/hostedzone/Z123456ABCDEFG",
            "Name": "example.com.",
            "CallerReference": "example-reference"
        }
    ]
}

Idの値が非常に重要です。このホストゾーンIDは、DNSレコード作成や削除時に必ず使用します。後ほどのコマンドで必要になりますので控えておきましょう。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. DNSレコード一覧を確認するコマンド

4. DNSレコード一覧を確認するコマンド
4. DNSレコード一覧を確認するコマンド

特定のホストゾーン内のレコード一覧を取得するには、list-resource-record-setsコマンドを使用します。


aws route53 list-resource-record-sets --hosted-zone-id Z123456ABCDEFG
{
    "ResourceRecordSets": [
        {
            "Name": "example.com.",
            "Type": "A",
            "TTL": 300,
            "ResourceRecords": [
                {
                    "Value": "1.2.3.4"
                }
            ]
        }
    ]
}

このコマンドで、AレコードやCNAMEレコードなどのDNS設定状況を確認できます。DNSトラブルシューティングや設定確認時によく使用されます。

5. Route 53でAレコードを作成する方法

5. Route 53でAレコードを作成する方法
5. Route 53でAレコードを作成する方法

DNSレコードの作成や変更は、change-resource-record-setsコマンドを使用します。JSONファイルを使って定義するのが一般的です。

まずは変更内容を記述したJSONファイルを作成します。


{
  "Comment": "Create A record",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "test.example.com.",
        "Type": "A",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "5.6.7.8"
          }
        ]
      }
    }
  ]
}

次に、CLIで実行します。


aws route53 change-resource-record-sets --hosted-zone-id Z123456ABCDEFG --change-batch file://change.json
{
    "ChangeInfo": {
        "Status": "PENDING"
    }
}

StatusがPENDINGからINSYNCに変われば、DNSレコード作成は完了です。

6. CNAMEレコードを作成する方法

6. CNAMEレコードを作成する方法
6. CNAMEレコードを作成する方法

CNAMEレコードも同様にJSON形式で定義します。ALBやCloudFrontと連携する場合にもよく使われます。


{
  "Comment": "Create CNAME record",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "www.example.com.",
        "Type": "CNAME",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "example-alb-123456.ap-northeast-1.elb.amazonaws.com"
          }
        ]
      }
    }
  ]
}

実行コマンドは同じです。


aws route53 change-resource-record-sets --hosted-zone-id Z123456ABCDEFG --change-batch file://cname.json
{
    "ChangeInfo": {
        "Status": "PENDING"
    }
}

7. DNSレコードを削除する方法

7. DNSレコードを削除する方法
7. DNSレコードを削除する方法

削除する場合はActionをDELETEに変更します。ただし、削除するレコード内容は完全一致している必要があります。


{
  "Comment": "Delete A record",
  "Changes": [
    {
      "Action": "DELETE",
      "ResourceRecordSet": {
        "Name": "test.example.com.",
        "Type": "A",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "5.6.7.8"
          }
        ]
      }
    }
  ]
}

aws route53 change-resource-record-sets --hosted-zone-id Z123456ABCDEFG --change-batch file://delete.json
{
    "ChangeInfo": {
        "Status": "PENDING"
    }
}

AWS CLIでRoute 53を操作できるようになると、DNS管理を自動化でき、インフラ構築やDevOpsの現場で非常に役立ちます。手動設定から卒業し、コードによるDNS管理を実践してみましょう。

まとめ

まとめ
まとめ

今回はAWS CLIを活用してRoute 53を操作する方法について、ホストゾーン一覧の確認からDNSレコードの作成、一覧取得、削除までを一通り解説しました。AWS Route 53はクラウド環境におけるDNS管理サービスであり、ドメイン管理、Aレコード設定、CNAMEレコード設定、TTL指定、レコード削除といった基本操作をコマンドラインから実行できる点が大きな特徴です。

特にaws route53 list-hosted-zonesやaws route53 list-resource-record-setsコマンドを使うことで、現在のDNS構成を可視化できることは運用管理において非常に重要です。インフラ構成管理やCI CD環境での自動化では、コンソール操作ではなくCLI操作が標準となります。AWS CLIを用いたRoute 53操作は、Infrastructure as Codeの実践にも直結します。

change-resource-record-setsコマンドではJSON形式の変更定義ファイルを利用しました。CREATEやDELETEアクションを指定することで、DNSレコードの新規作成や削除を安全に実行できます。AレコードやCNAMEレコードの作成時にはホストゾーンIDの指定が必須であり、事前にlist-hosted-zonesコマンドで確認しておくことが大切です。

DNS設定はWebサイト公開やAPIサーバー接続、メール設定などあらゆるクラウドシステムの基盤となります。Route 53をAWS CLIで操作できるようになることで、DNS管理の自動化、設定ミスの削減、構成の再現性向上につながります。開発環境、本番環境、ステージング環境それぞれで同じJSONファイルを使い回すことも可能です。

ここで、Route 53の操作手順を簡単に振り返ってみましょう。まずAWS CLIのバージョン確認と認証設定を行い、IAMユーザーに適切なroute53権限を付与します。その後、ホストゾーン一覧を確認し、対象のホストゾーンIDを取得します。次にDNSレコード一覧を取得して現在の状態を確認し、必要に応じてJSONファイルを作成してレコードの作成や削除を実行します。この一連の流れを理解することが、AWS Route 53を安全に操作するための基本となります。

Route 53操作の流れサンプル

以下はホストゾーン確認からAレコード作成までの代表的な流れです。実務でもよく使われる基本パターンです。


aws route53 list-hosted-zones
{
    "HostedZones": [
        {
            "Id": "/hostedzone/Z123456ABCDEFG",
            "Name": "example.com."
        }
    ]
}

aws route53 list-resource-record-sets --hosted-zone-id Z123456ABCDEFG
{
    "ResourceRecordSets": []
}

{
  "Comment": "Create A record",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "app.example.com.",
        "Type": "A",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "10.0.0.10"
          }
        ]
      }
    }
  ]
}

aws route53 change-resource-record-sets --hosted-zone-id Z123456ABCDEFG --change-batch file://a-record.json
{
    "ChangeInfo": {
        "Status": "PENDING"
    }
}

このようにAWS CLIとJSONファイルを組み合わせることで、Route 53のDNSレコード管理を効率化できます。手作業によるコンソール設定と比較して、履歴管理や再利用がしやすくなる点も大きなメリットです。クラウドエンジニアやインフラエンジニアを目指す方にとって、Route 53とAWS CLIの理解は必須スキルといえるでしょう。

先生と生徒の振り返り会話

生徒

Route 53はコンソールだけでなくAWS CLIでも操作できることが分かりました。ホストゾーンIDが重要なんですね。

先生

その通りです。まずlist-hosted-zonesでホストゾーンを確認し、対象のIDを取得することが基本です。

生徒

DNSレコードの一覧確認はlist-resource-record-setsでしたね。現在の設定を把握してから変更することが大切だと理解しました。

先生

はい。いきなり変更せず、必ず現状確認を行うことが安全な運用につながります。

生徒

AレコードやCNAMEレコードの作成はJSONで定義してchange-resource-record-setsを使うのですね。CREATEやDELETEを切り替えるだけで管理できるのは便利です。

先生

その理解で完璧です。AWS CLIを使えばDNS管理を自動化でき、インフラ構築やDevOpsの現場で大きな武器になります。Route 53とAWS CLIの操作を繰り返し練習して、確実に身につけていきましょう。

AWS CLIの一覧へ
新着記事
AWS
【AWS】CLIでRoute 53を操作する!レコード作成・一覧・削除コマンド解説
【AWS】CLIでRoute 53を操作する方法を徹底解説!レコード作成・一覧確認・削除コマンド完全ガイド
Java
オブジェクト指向の「抽象化」とは?共通部分をまとめる考え方
オブジェクト指向の「抽象化」とは?共通部分をまとめる考え方
Java
オブジェクト指向の「ポリモーフィズム」とは?同じメソッドで異なる動作
オブジェクト指向の「ポリモーフィズム」とは?同じメソッドで異なる動作
Java
オブジェクト指向の「継承」とは?親クラスの機能を引き継ぐ
オブジェクト指向の「継承」とは?親クラスの機能を引き継ぐ
人気記事
AWS
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
AWS
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
AWS
インスタンスタイプの料金比較と最適な選び方(最新2026年版)
AWSインスタンスタイプの料金比較と最適な選び方!初心者でもわかる2025年最新ガイド
AWS
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク