EC2 Classic에서 외부 Amazon RDS 인스턴스를 시작하고 이에 연결 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

EC2 Classic에서 외부 Amazon RDS 인스턴스를 시작하고 이에 연결

중요

Amazon EC2-Classic은 2022년 8월 15일에 표준 지원이 종료될 예정입니다. 워크로드의 중단을 방지하려면 그 전에 Amazon EC2-Classic에서 VPC로 마이그레이션하는 것이 좋습니다. 또한 향후 Amazon EC2-Classic에서 AWS 리소스를 시작하지 않고 대신 Amazon VPC 사용하도록 요청합니다. 자세한 내용은 EC2-Classic에서 VPC로 마이그레이션EC2-Classic 네트워킹은 사용 중지 중입니다 - 준비 방법은 다음과 같습니다블로그 게시물을 참조하세요.

AWS Elastic Beanstalk에 EC2 Classic(VPC 없음)을 사용하는 경우 보안 그룹 작동 방식의 차이로 인해 절차가 약간 변경됩니다. EC2 Classic에서 DB 인스턴스는 EC2 보안 그룹을 사용할 수 없으므로 Amazon RDS에서만 작동하는 DB 보안 그룹을 가져옵니다.

EC2 보안 그룹의 인바운드 액세스를 허용하는 규칙을 DB 보안 그룹에 추가할 수 있습니다. 그러나 환경과 연결된 Auto Scaling 그룹에는 DB 보안 그룹을 연결할 수 없습니다. DB 보안 그룹과 환경 간에 종속성이 발생하지 않도록 하려면 Amazon EC2에 세 번째 보안 그룹을 생성해야 합니다. 그런 다음 DB 보안 그룹에 규칙을 추가하여 새 보안 그룹에 대한 인바운드 액세스 권한을 부여해야 합니다. 마지막으로 Elastic Beanstalk 환경의 Auto Scaling 그룹에 할당해야 합니다.

참고
  • Elastic Beanstalk에서 만든 후 Beanstalk 환경에서 분리된 데이터베이스로 시작하는 경우 첫 번째 단계 그룹을 건너뛰고 브리지 보안 그룹 생성하기 아래의 그룹화된 단계를 계속할 수 있습니다.

  • 프로덕션 환경에 대해 분리된 데이터베이스를 사용하려는 경우 데이터베이스에서 사용하는 스토리지 유형이 워크로드에 적합한지 확인합니다. 자세한 내용은 Amazon RDS 사용 설명서DB 인스턴스 스토리지DB 인스턴스 수정을 참조하세요.

EC2 Classic(VPC 없음)에서 RDS 인스턴스를 시작하려면
  1. RDS 관리 콘솔을 엽니다.

  2. 데이터베이스 생성을 선택합니다.

  3. 마법사를 진행합니다. 다음 옵션에 입력하는 값을 적어 둡니다.

    • 마스터 사용자 이름

    • 마스터 암호

  4. 고급 설정 구성이 표시되면 네트워크 및 보안에서 다음을 선택합니다.

    • VPCNot in VPC. 이 옵션을 사용할 수 없는 경우 계정이 EC2-Classic을 지원하지 않거나 VPC에서만 사용 가능한 인스턴스 유형을 선택했을 수 있습니다.

    • 가용 영역(Availability Zone) – No Preference

    • DB 보안 그룹(DB Security Group(s)) – Create new Security Group

  5. 나머지 옵션을 구성하고 데이터베이스 생성을 선택합니다. 다음 옵션에 입력하는 값을 적어 둡니다.

    • 데이터베이스 이름(Database Name)

    • 데이터베이스 포트(Database Port)

EC2-Classic에서는 DB 인스턴스에 VPC 보안 그룹 대신 DB 보안 그룹이 있습니다. DB 보안 그룹을 Elastic Beanstalk 환경에 연결할 수 없습니다. 대신 DB 인스턴스에 액세스하고 환경에 연결할 권한을 부여할 수 있는 새 보안 그룹을 만들어야 합니다. 이를 브리지 보안 그룹이라고 하며 이름을 webapp-bridge로 지정합니다.

브리지 보안 그룹을 만들려면
  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 사이드바의 네트워크 및 보안(Network & Security) 아래에서 보안 그룹(Security Groups)을 선택합니다.

  3. 보안 그룹 생성을 선택합니다.

  4. 보안 그룹 이름webapp-bridge을 입력합니다.

  5. 설명(Description)Provide access to DB instance from Elastic Beanstalk environment instances.를 입력합니다.

  6. VPC는 기본 선택된 상태로 유지합니다.

  7. 생성 선택

그런 다음 브리지 보안 그룹에서 오는 인바운드 트래픽을 허용하도록 DB 인스턴스에 연결된 보안 그룹을 수정합니다.

RDS 인스턴스의 보안 그룹에서 수신 규칙 수정하기
  1. Amazon RDS 콘솔을 엽니다.

  2. 데이터베이스를 선택합니다.

  3. 세부 정보를 보려면 DB 인스턴스의 이름을 선택합니다.

  4. 연결 섹션에서 보안 아래에 DB 인스턴스와 연결된 보안 그룹이 표시됩니다. 링크를 열어 Amazon EC2 콘솔에서 보안 그룹을 봅니다.

  5. 보안 그룹 세부 정보에서 연결 유형EC2 보안 그룹으로 설정합니다.

  6. EC2 보안 그룹 이름을 생성한 브리지 보안 그룹의 이름으로 설정합니다.

  7. [Authorize]를 선택합니다.

그런 다음 실행 중인 환경에 브리지 보안 그룹을 추가합니다. 이 절차에서는 추가 보안 그룹을 연결한 상태에서 환경의 모든 인스턴스를 다시 프로비저닝해야 합니다.

환경에 보안 그룹을 추가하려면
  • 다음 중 하나를 수행하세요.

    • Elastic Beanstalk 콘솔을 사용하여 보안 그룹을 추가하려면

      1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

      2. 탐색 창에서 환경을 선택한 다음 목록에서 환경 이름을 선택합니다.

        참고

        여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

      3. 탐색 창에서 구성을 선택합니다.

      4. [인스턴스] 구성 범주에서 [편집]을 선택합니다.

      5. EC2 보안 그룹(EC2 security groups)에서, Elastic Beanstalk가 생성하는 인스턴스 보안 그룹 외에도, 인스턴스에 연결할 보안 그룹을 선택합니다.

      6. 변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.

      7. 경고를 읽은 후 확인을 선택합니다.

    • 구성 파일을 이용하여 보안 그룹을 추가하려면 securitygroup-addexisting.config 예제 파일을 사용합니다.

그 다음 환경 속성을 사용하여 연결 정보를 환경에 전달합니다. Elastic Beanstalk 콘솔을 통해 환경에 DB 인스턴스를 추가하면 Elastic Beanstalk가 RDS_HOSTNAME과 같은 환경 속성을 사용하여 연결 정보를 애플리케이션에 전달합니다. 통합된 DB 인스턴스와 외부 DB 인스턴스 모두에 동일한 애플리케이션 코드를 사용하기 위해 동일한 속성을 사용할 수 있습니다. 또는 고유한 속성 이름을 선택할 수도 있습니다.

환경 속성을 구성하려면
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경 이름을 선택합니다.

    참고

    여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

  3. 탐색 창에서 구성을 선택합니다.

  4. 업데이트, 모니터링 및 로깅 구성 범주에서 편집을 선택합니다.

  5. 환경 속성 단원에서 애플리케이션이 연결 문자열을 구성하기 위해 읽는 변수를 정의합니다. 통합된 RDS 인스턴스가 있는 환경과의 호환성을 위해 다음을 사용합니다.

    • RDS_DB_NAME - Amazon RDS 콘솔에 표시되는 DB 이름입니다.

    • RDS_USERNAME - 환경에 데이터베이스를 추가할 때 입력하는 마스터 사용자 이름(Master Username)입니다.

    • RDS_PASSWORD - 환경에 데이터베이스를 추가할 때 입력하는 마스터 암호(Master password)입니다.

    • RDS_HOSTNAME - Amazon RDS 콘솔에 표시되는 DB 인스턴스의 엔드포인트입니다.

    • RDS_PORT - Amazon RDS 콘솔에 표시되는 포트입니다.

    
            RDS 속성이 추가된 환경 속성 구성 섹션
  6. 적용을 선택합니다

환경 속성을 읽고 연결 문자열을 구성하도록 애플리케이션을 아직 프로그래밍하지 않은 경우, 다음 언어별 주제에서 지침을 참조하세요.

마지막으로 애플리케이션이 환경 변수를 읽는 시기에 따라 환경의 인스턴스에서 애플리케이션 서버를 다시 시작해야 할 수 있습니다.

환경의 앱 서버 다시 시작하기
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경 이름을 선택합니다.

    참고

    여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

  3. 작업(Actions)을 선택한 후 앱 서버 다시 시작(Restart App Server(s))을 선택합니다.