아마존 AWS 프리티어 계정 종료후 새 계정으로 이전하는 방법

LINUX/Ubuntu 환경에서 1년 마다 이전하는 방법을 적어봅니다.

  1. 기존 프러티어 인스턴스에서 AMI 생성 및 공유
  2. 새 계정에서 AMI 공유 선택후 인스턴스 시작
  3. 기존 계정의 Route 53에 등록된 도메인이나 호스팅영역을 이전

다른 AWS 계정으로 이전

다른 AWS 계정으로 EC2 인스턴스를 이전하려면, 원본 계정에서 AMI를 생성한 후 대상 계정과 공유하는 방법을 사용한다.

  • AMI 공유 및 이전 단계:
    1. 원본 계정 (A 계정)에서 AMI 생성 및 공유:
      • 위 1단계와 같이 원본 계정에서 EC2 인스턴스의 AMI를 생성합니다.
      • 생성된 AMI를 선택하고 ‘작업’ > ‘AMI 권한 수정’을 선택합니다.
      • ‘공유’ 탭에서 ‘AWS 계정 추가’를 선택하고 대상 계정의 AWS 계정 ID를 입력합니다. ‘추가’ 버튼을 클릭하여 공유를 완료합니다 .
      • 이렇게 하면 원본 계정의 AMI가 대상 계정과 공유됩니다 .
    2. 대상 계정 (B 계정)에서 AMI 사용:
      • 대상 계정으로 로그인합니다.
      • EC2 대시보드에서 좌측 메뉴의 ‘AMI’로 이동합니다.
      • ‘개인 이미지’ 드롭다운 메뉴에서 ‘나와 공유된 이미지’를 선택합니다. 공유된 AMI가 목록에 나타납니다.
      • 해당 AMI를 선택하고 ‘인스턴스 시작’ 버튼을 클릭하여 새로운 EC2 인스턴스를 시작합니다 .

호스팅 영역 이전

새 계정에서 호스팅 영역을 새롭게 생성한다. 이 때 이전하는 도메인의 호스팅 영역에 기본적으로 생성되는 레코드인 SOA, NS를 확인한다. 이후 나머지 A레코드들을 수동으로 추가한다.

  • 생성된 NS 레코드 값을 기존 도메인 회사에 공유 및 편집 단계:
    1. hosting.kr에 등록된 기존 도메인의 NS 리스트 4개를 수정하여 변경
    2. 기존 계정의 나머지 A 레코드들을 복사하여 subdomain명, IP주소에 입력하여 수정한다.
    3. 기존 호스팅 영역은 삭제한다.
    4. URL 연결이 안된다면, 새 계정의 보안그룹을 수정한다.

MongoDB 구성과 사용자 추가

MongoDB 구성

MongoDB 구성 파일은 /etc 디렉토리에 있으며 mongod.conf라는 이름을 가지고 있습니다. 파일은 YAML 형식을 사용합니다.

기본 구성 설정은 대부분의 경우에 충분합니다. 그러나 운영 환경의 경우 다음과 같이 보안 섹션의 보완을 해제하고 액세스 제어를 사용하는 것이 좋습니다:

sudo nano /etc/mongod.conf

# /etc/mongod.conf
# security:
#  authorization: enabled

권한 부여 옵션은 데이터베이스 리소스 및 작업에 대한 사용자의 액세스를 규제하는 역할 기반 액세스 제어(RBAC)를 활성화합니다. 이 옵션을 활성화하지 않으면 각 사용자는 모든 데이터베이스에 액세스할 수 있으며 모든 작업을 수행합니다.

구성을 변경할 때마다 변경 내용을 적용하려면 mongod 서비스를 다시 시작해야 합니다:

sudo systemctl restart mongod

최신 MongoDB 버전에서 사용할 수 있는 구성 옵션에 대한 자세한 내용은 구성 파일 옵션 설명서 페이지를 참조하십시오.

관리 MongoDB 사용자 만들기

MongoDB 인증을 사용하도록 설정한 경우 MongoDB 인스턴스에 액세스하고 관리할 수 있는 관리 사용자를 만들어야 합니다.

몽고 셸에 액세스:

mongosh

MongoDB 셸 내부에서 다음 명령을 입력하여 관리 데이터베이스에 연결합니다:

use admin

# switched to db admin

다음 명령을 실행하여 관리 사용자를 만듭니다:

db.createUser(
  {
    user: "myMongoAdmin",
    pwd: passwordPrompt(),
    roles: [
      { role: "userAdminAnyDatabase", db: "admin" },
      { role: "readWriteAnyDatabase", db: "admin" }
    ]
  }
)

관리자 이름을 myMongoAdmin이라고 지었습니다. 원하는 대로 불러주세요. passwordPrompt() 방식 대신 명확한 텍스트 비밀번호를 입력할 수도 있지만, 비밀번호를 화면에 표시하는 것은 권장되지 않으며, 쉘 이력에도 저장됩니다.

비밀번호를 입력하고 입력 후 “Enter”(입력)를 누르라는 메시지가 표시됩니다. 안전한 비밀번호를 설정하는 것을 잊지 마십시오:

Enter password

# ********{ ok: 1 }

“ok: 1″은 명령이 성공적으로 실행되었음을 의미합니다.

작업이 완료되면 다음과 같이 몽고 셸을 종료합니다:

quit()

변경 내용을 테스트하려면 이전에 작성한 관리자를 사용하여 MongoDB 셸에 액세스합니다:

mongo -u myMongoAdmin -p --authenticationDatabase admin

정확한 비밀번호를 입력하면 MogoDB 쉘로 연결됩니다.

“admin” 데이터베이스로 전환하고 show users를 실행하여 모든 사용자와 역할에 대한 정보를 가져옵니다:

use admin

# switched to db admin

예제에서 사용자는 한 명뿐입니다:

show users

# In our example, we have only one user:
# 
# [
#   {
#     _id: 'admin.myMongoAdmin',
#     userId: new UUID("a00ab5ca-5c1f-4a3b-8f67-be8a79c7649c"),
#     user: 'myMongoAdmin',
#     db: 'admin',
#     roles: [
#       { role: 'userAdminAnyDatabase', db: 'admin' },
#       { role: 'readWriteAnyDatabase', db: 'admin' }
#     ],
#     mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
#   }
# ]

Ubuntu 20.04 및 22.04에서 MongoDB를 설치 및 구성하는 방법을 안내해 드렸습니다. 이 항목에 대한 자세한 내용은 MongoDB Manual을 참조하십시오.

MongoDB 설치 error 발생과 대처

아래와 같은 mongoDB 설치하는 과정에서 생긴 에러에 대한 수정방법과 대처압나다,

wget -qO – https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add – Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

apt-key 명령어는 더 이상 사용되지 않으며, 최신 버전의 Ubuntu에서는 다른 방식으로 PGP 키를 추가해야 합니다. apt-key 대신 trusted.gpg.d 디렉토리를 사용하여 키를 관리할 수 있습니다.

다음은 wget을 사용하여 MongoDB PGP 키를 추가하고, MongoDB를 설치하는 방법입니다.

1. PGP 키 다운로드 및 추가

먼저, MongoDB의 PGP 키를 다운로드하여 /usr/share/keyrings 디렉토리에 저장합니다.

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo tee /usr/share/keyrings/mongodb-archive-keyring.gpg > /dev/null

2. MongoDB 저장소 추가

다음으로, MongoDB 저장소를 추가합니다. 여기서는 signed-by 옵션을 사용하여 PGP 키를 지정합니다.

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

3. 패키지 목록 업데이트 및 MongoDB 설치

패키지 목록을 업데이트하고 MongoDB를 설치합니다.

sudo apt-get update
sudo apt-get install -y mongodb-org

4. MongoDB 서비스 시작

MongoDB 서비스를 시작하고, 시작 여부를 확인합니다.

sudo systemctl start mongod
sudo systemctl status mongod

5. MongoDB 서비스 자동 시작 설정

서버가 부팅될 때 MongoDB가 자동으로 시작되도록 설정합니다.

sudo systemctl enable mongod

위 단계를 따라 하면 최신 방식으로 MongoDB를 설치하고 PGP 키를 추가할 수 있습니다. apt-key 경고 메시지를 피하고, 키를 안전하게 관리할 수 있습니다.

하지만 이 방법으로도 오류가 게속된다면 다음 대처 방안을 참고해 주세요.

error: Content is protected !!