프로그래밍 방식으로 AWS 계정 생성 및 삭제

안녕.

AWS에서는 예를 들어 솔루션에 대해 dev, qa 및 prod와 같은 다른 단계를 배포하려는 경우 새 계정을 생성하는 것이 모범 사례입니다. AWS 서비스 테스트를 위해 이러한 신입 직원을 제공하기 위해 소위 샌드박스 AWS 계정을 생성하는 것도 일반적입니다. 새 AWS 계정을 만들어야 하는 더 많은 이유가 있습니다.

이제 이러한 AWS 계정을 수동으로 생성해야 하는 경우 상당한 시간이 소요될 수 있습니다. AWS Organizations, AWSJavaScript SDK 및 약간의 TypeScript 지식을 사용하면 프로세스를 대부분 자동화할 수 있습니다. 이번 포스트에서는 이것이 어떻게 작동하는지 소개하겠습니다. 이를 위해 먼저 AWS Organizations가 무엇인지 먼저 설명하고 AWS SDK를 사용하여 AWS Sandbox 계정을 생성하고 삭제할 수 있는 두 가지 TypeScript 스크립트를 소개합니다.

AWS 조직



AWS Organizations는 AWS 계정을 관리하는 데 도움이 됩니다. 소위 조직 단위(OU)에서 계정을 함께 그룹화할 수 있습니다. 또한 정책과 같은 보안 메커니즘을 여러 계정에 걸쳐 정의할 수 있습니다. AWS Organizations는 훨씬 더 많은 기능을 제공하며 공개 문서를 참조하고 싶습니다. 이 게시물에서 흥미로운 점은 다음 섹션에서 계정을 동적으로 생성하고 삭제하는 데 사용할 AWS Organizations API용 래퍼JavaScript SDK도 있다는 것입니다.

계정 생성 및 계정 삭제



AWS 계정의 프로그래밍 방식 생성 및 삭제를 단순화하기 위해 GitHub에 작은 도우미 라이브러리를 만들었습니다. 그러면 다음과 같이 AWS SDK 스크립트를 쉽게 구축할 수 있습니다.

import {
 createAccount,
 moveAccountToOU,
 getAccountIdFromName,
} from "aws-accounts

export async function main(): Promise<void> {
 var args = process.argv.slice(2)

 if (args.length !== 1) {
  usage()
  throw new Error("Wrong number of arguments")
 }

 const accountName = args[0]

 const response = await createAccount(accountName)
 const accountId = await getAccountIdFromName(accountName)
 if (accountId) {
  await moveAccountToOU(accountId, "ou-zblx-w7yw0qge")
 }
}


코드는 저장소here에서도 볼 수 있습니다.

이 라이브러리는 AWS SDK TypeScript v.2를 둘러싼 경량 래퍼입니다. await createAccount(accountName)를 사용하면 계정이 먼저 생성됩니다. 그런 다음 await getAccountIdFromName(accountName)await moveAccountToOU(accountId)를 사용하여 계정이 정의된 OU(조직 단위)로 이동됩니다.

요약



이 블로그 게시물에서는 때때로 새 AWS 계정을 생성해야 하는 이유와 AWS Organizations 및 JavaScript SDK를 사용하여 이를 수행할 수 있는 방법에 대해 설명했습니다. 이를 위해 createAccount 및 deleteAccount 스크립트를 생성하고 여기에 제시했습니다. 게시물이 도움이 되었습니까? 또는 개선을 위한 제안이 있으십니까? 저에게 알려주세요 :).

영어로 번역하는 데 도움을 주고 많은 시간을 절약해 준 DeepL translater (free version)에게 감사합니다 :).

저는 오픈 소스 프로젝트 작업을 좋아합니다. 이미 https://github.com/mmuller88에서 사용할 수 있는 많은 것들이 있습니다. 내 작업과 내 블로그 게시물이 마음에 들면 다음에서 나를 지원하는 것을 고려하십시오.



또는



그리고 내 사이트를 방문하는 것을 잊지 마세요

좋은 웹페이지 즐겨찾기