[typescript] AWS SDK를 사용하여 타입스크립트로 Route 53 DNS 레코드 설정하기

AWS SDK를 사용하여 Route 53 DNS 레코드를 설정하는 방법에 대해 알아보겠습니다. Route 53은 AWS의 관리형 DNS(Domain Name System) 웹 서비스로, 여러분의 도메인을 등록하고 관리할 수 있게 해줍니다. AWS SDK를 통해 Route 53을 프로그래밍 방식으로 조작하려면 먼저 AWS 계정에 액세스할 수 있는 자격 증명이 필요합니다.

1. AWS SDK 설치

먼저 프로젝트에 AWS SDK를 설치해야 합니다.

npm install aws-sdk

2. AWS 자격 증명 구성

AWS SDK를 사용하여 Route 53을 조작하기 위해서는 AWS 자격 증명을 제공해야 합니다. 이를 위해서는 AWS IAM(Identity and Access Management) 사용자를 만들고, 해당 사용자에게는 Route 53을 관리할 수 있는 권한을 부여해야 합니다. 자격 증명을 프로그램에서 사용하려면 AWS.Credentials 클래스를 사용하여 자격 증명을 생성해야 합니다.

import { Credentials } from 'aws-sdk';

const credentials = new Credentials({
  accessKeyId: 'YOUR_ACCESS_KEY_ID',
  secretAccessKey: 'YOUR_SECRET_ACCESS_KEY'
});

3. Route 53 DNS 레코드 설정

이제 Route 53을 사용하여 DNS 레코드를 설정할 수 있습니다. 먼저 AWS SDK를 사용하여 Route 53 모듈을 로드합니다.

import * as Route53 from 'aws-sdk/clients/route53';

다음으로, Route 53 클라이언트를 생성하고 원하는 도메인의 DNS 레코드를 설정합니다.

const route53 = new Route53({ credentials });

const params = {
  ChangeBatch: {
    Changes: [
      {
        Action: 'UPSERT',
        ResourceRecordSet: {
          Name: 'example.com',
          Type: 'A',
          TTL: 300,
          ResourceRecords: [
            {
              Value: '127.0.0.1'
            }
          ]
        }
      }
    ]
  },
  HostedZoneId: 'YOUR_HOSTED_ZONE_ID'
};

route53.changeResourceRecordSets(params, (err, data) => {
  if (err) {
    console.error(err);
  } else {
    console.log(data);
  }
});

위 코드는 example.com 도메인의 A 레코드를 127.0.0.1로 설정하는 예제입니다. 원하는 도메인과 레코드 유형에 따라 params 객체를 수정하여 사용할 수 있습니다.

결론

이제 AWS SDK를 사용하여 타입스크립트로 Route 53 DNS 레코드를 설정하는 방법에 대해 알아보았습니다. AWS 관리형 DNS를 프로그래밍적으로 조작함으로써 도메인을 효과적으로 관리할 수 있습니다.

더 자세한 내용은 AWS SDK 공식 문서를 참고하시기 바랍니다.