이 글에서는 아마존 EC2 기반으로 리눅스 서버 환경을 구축하는 내용을 안내합니다.

RAD 스튜디오 10.2 도쿄 버전부터 리눅스 개발을 지원합니다. WebBroker, 데이테스냅, EMS 서버, 소켓 서버 용 테스트 및 서비스에 사용할 수 있습니다.

 

아마존 EC2 기반 윈도우즈 서버 환경 구축하는 내용은 다음 링크를 참고하세요.

 

아마존 EC2

aws.png

 

아마존 EC2란?

아마존 EC2는 클라우드 기반으로 서버 인프라를 제공합니다. 웹 페이지를 이용해 필요한 플랫폼과 용량을 선택해 서버 인스턴스를 실행하고 접속해 테스트 및 서비스 할 수 있습니 - 아마존 EC2 자세히보기

 

아마존 EC2를 사용하는 이유

AWS 프리 티어를 이용해 12개월 동안 무료로 체험할 수 있습니다. - AWS 프리 티어 자세히보기

 

이 글에서 다루는 내용은 아래와 같습니다.

  • Ubuntu Server 16.04 LTS 인스턴스 생성
  • 보안설정(필요한 포트번호 오픈)
  • 터미널로 연결
  • 리눅스 개발환경 설정

 

준비

AWS 가입(계정생성)

EC2를 사용하기 위해서는 AWS 계정이 필요합니다.

이미 많은 글들에서 가입 절차를 소개하고 있으니 아래 링크를 참조해 가입하시기 바랍니다.

(참고로 가입 시 마스터 또는 비자 카드가 필요합니다.)

인스턴스 생성

리눅스 서버 인스턴스를 추가하는 과정을 설명합니다.

 

아마존 웹서비스 로그인

001.png

 

 

 

EC2 서비스 선택

  • 필터에 ec2 입력 후 선택

002.png

 

 

인스턴스 목록 표시

  • 왼쪽 메뉴 중 Instances 항목 선택

003.png

 

 

가까운 지역 선택

  • 상단 우측의 지역을 누르고, 가까운 지역 선택
    (저는 Asia Pacific(Seoul)을 선택했습니다.)

 

 

새로운 인스턴스 추가

  • [Launch Instance] 버튼 클릭

004.png

 

 

인스턴스 이미지 선택

  • 적합한 항목의 [Select] 버튼 클릭
    (저는 "Ubuntu Server 16.04 LTS (HVM), SSD Volume Type"(64 - bit)를 선택 했습니다.)

select_instance.png

 

 

 

인스턴스 유형 선택

  • 적합한 인스턴스 유형 선택
  • [Review and Launch] 버튼 클릭

006.png

 

 

내용 확인

  • 내용 확인 후 [Launch] 버튼 클릭
  • 주의 문구는 무시합니다.(보안설정은 뒤에서 다시 진행합니다.)

review.png

 

 

Key Pair 생성 및 다운로드

중요: 해당 키페어 파일(*.pem)은 터미널 접속 시 개인키(*.ppk) 생성에 사용합니다. 해당 파일을 분실하지 않도록 주의하시기 바랍니다.

  • "Create a new key pair" 항목 선택
  • Key pair name 입력
  • [Download key Pair] 버튼 클릭 해 다운로드(*.pem 파일이 다운로드 됩니다.)

keypair.png

 

 

 

보안설정

애플리케이션 서버에서 사용할 포트번호를 Inbound 규칙에 추가하는 절차를 설명합니다.

 

인스턴스의 Security Group 확인

  • 인스턴스 목록 항목 중 가장 오른쪽 항목에서 Security Group을 확인합니다.
    (저는 launch-wizard-2 입니다.)

 

instance_securitygroups.png

 

 

 Security Groups 메뉴 선택

  • 왼쪽 메뉴에서 Network & Security > Security Groups 메뉴 클릭

securitygroups2.png

 

 

 

 

Security Group 선택

  • 인스턴스에 설정된 Security Group을 선택합니다.
    (저는 launch-wizard-2을 선택)

securitygroup_select.png

 

 

Inbound 탭에서 Inbound 규칙 수정

  • 아래 탭 중 Inbound 탭 선택
  • [Edit] 버튼 클릭

securitygroups4.png

 

 

Inbound 규칙 편집

  • [Add Rule] 버튼 클릭
  • 필요한 규칙을 추가합니다.

     

    • EMS 서버, 데이터스냅 HTTP, WebBroker의 경우 "Custom TCP Rule / TCP / 8080" 규칙 추가
    • PAServer(Platform Assistance Server: 원격 디버깅 및 SDK 취득) 포트번호 "64211" 규칙 추가
    • 데이터스냅 TCP/IP의 경우 "Custom TCP Rule / TCP / 211" 규칙 추가
    • 리눅스 상에서 FTP 서비스 이용 시 "1024 - 1048", "20 - 22")" 규칙 추가
    • 기타 서버에서 사용할 포트번호를 추가합니다.
  • [Save] 버튼을 눌러 저장

edit_inboundrules.png

 

 

터미널로 연결

리눅스 서버 인스턴스에 터미널을 이용해 연결하는 절차를 안내합니다.

다음 내용은 아마존 웹서비스 도움말을 참고해 작성되었습니다.

 

인스턴스 선택 후 연결(연결 방법 확인)

  • 인스턴스 목록에서 인스턴스 선택
  • [Connect] 버튼 클릭
  • Connect To Your Instance 팝업창 표시

 

instance_connect.png

 

 

접속 주소(Public DNS) 확인

  • 4번 단계의 접속 주소(Public DNS) 확인

connect_comment.png

 

 

접속에 필요한 소프트웨어 설치

리눅스에 터미널에 접속할 SSH Client와 파일 전송을 위한 SCP(Secure Copy) 프로그램을 아래 링크에서 다운로드 후  설치합니다.

 

개인 키 변환

PuTTY는 위에서 다운로드 받은 키페어 파일(*.pem)을 지원하지 않습니다. PuTTYgen을 통해 PuTTY에서 지원하는 개인 키(*.ppk)로 변환합니다.

  • PuTTYgen을 시작합니다.(시작 > 모든 프로그램 > PuTTY > PuTTYgen 선택)
  • Type of key to generate 에서 RSA를 선택
    puttygen-key-type.png

     

  • [Load] 버튼을 눌러 키페어파일을 선택(파일 필터를 All Files로 변경 후 선택)
    puttygen-load-key.png

     

  • [Save private key] 버튼을 누르고 개인 키(*.ppk)를 저장합니다.

 

터미널 접속

PuTTY를 이용해 리눅스 서버 터미널로 접속합니다.

  • PuTTY를 시작합니다.(시작 > 모든 프로그램 > PuTTY > PuTTY 선택)
  • Host Name에 "ubuntu@(접속주소)"를 입력합니다.
    putty_connect.png

     

     
    • 기본 계정명은 "ubuntu" 입니다.
    • 포트 번호는 22 입력
    • 연결 타입은 "SSH" 선택
  • [Category] 탭에서 Connection > SSH > Auth 메뉴를 선택합니다.
  • private key file for authentication 항목에서 [Browse...] 버튼을 눌러 개인 키(*.ppk)를 선택합니다.
    putty-auth-config.png

     

  • [Open] 버튼을 눌러 접속을 시도합니다.
    (최초 1회 신뢰할 수 있는지 묻는 보안 알림 대화상자가 표시되면 [Yes]를 선택 합니다.)
    ubuntu_terminal.png

     

 

파일 전송을 위한 SCP 연결

WinSCP를 이용해 SCP 연결해 파일을 전송할 수 있는 환경을 확인합니다.

  • WinSCP를 실행합니다.
  • 로그인 창에서 접속 정보를 입력합니다.
    winscp_login_set.png

     

     

     

     
    • 호스트 이름에 (접속주소)를 입력합니다.
    • 사용자 이름에 "ubuntu"를 입력합니다.
  • [고급] 버튼을 눌러 개인 키를 설정합니다.
    winscp_login_adv.png

     

    • 개인 키 파일 항목에서 [...] 버튼을 눌러 개인 키 파일을 선택합니다.
    • [확인] 버튼을 눌러 적용합니다.
  • 로그인 화면에서 [저장] 버튼을 누르고 세션 이름을 지정해 저장합니다.
  • [로그인] 버튼을 눌러 접속합니다.

 

리눅스 개발환경 설정

RAD 스튜디오에서 리눅스 애플리케이션 개발하기 위한 환경을 설정합니다.

 

자세한 내용은 다음 링크를 통해 설명합니다.

주의할 점은

1) 위 링크의 "리눅스 소프트웨어 업데이티" 단계부터 진행하시기 바랍니다.

2) PAServer 접속 시 공인 IP(Public IP)로 접속해야 합니다.(RAD 스튜디오에서 PAServer 연결 단계)

 

관련링크


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 14387
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13023
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 15532
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 21064
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 22297
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 17932
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 38228
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 173741
1343 David I의 31일 동영상(한글자막) - 프로토토타입 바인드 소스와 실제 데이터셋을 사용한 UI의 C++앱 만들기(델파이 동일 적용 가능) 관리자 2013.05.11 10627
1342 [오픈소소] 델파이용 TProcessInfo 클래스 file 관리자 2012.05.23 10437
1341 안드로이드 앱 서명 및 배포 file Humphery 2014.01.02 10307
1340 VCL Style Util 박병일 2012.01.11 10286
1339 파이어 몽키 이퀼라이저 데모 동영상 박병일 2012.02.06 10063
1338 [델파이 문법 시리즈] #2. 제네릭 - 용어 file 관리자 2012.03.22 10005
1337 OAuth 2.0 연동 - 카카오 API(카카오톡 프로필) [9] 험프리 2018.12.26 9969
1336 이 달의 기술자료 - 2014년 8월 file 험프리 2014.07.04 9934
1335 [델파이 문법] 클래스와 객체 #10 file 관리자 2012.05.22 9820
1334 [따라하기] 도서대여 프로그램 만들기(VCL, DB프로그래밍) [2] file 험프리 2017.01.19 9660
1333 [동영상강의] 델파이 기본 교육_2.프로젝트소스와프로젝트관리 관리자 2012.04.25 9567
1332 이 달의 기술자료 - 2014년 3월 험프리 2014.03.05 9561
1331 RAD Studio 빌드번호 확인하는 방법법 [1] file 험프리 2016.01.08 9484
1330 Delphi XE5 and RAD Studio XE5 Android and iOS Code Samples Humphery 2013.12.14 9339
1329 [델파이 문법] 클래스와 객체 #3 file 관리자 2012.04.18 9310
1328 델파이 XE2 Update4의 새기능 - 더 쉬운 모바일 REST 접속 file 박병일 2012.03.06 9143
1327 파이어몽키 써드파티 라이브러리 ApeSuite file 박병일 2012.02.06 9114
1326 RadPHP XE2 에서 한글 문제 [2] file 박병일 2012.03.08 9113
1325 [델파이 문법] 프로그램과 유닛 #1 file 관리자 2012.09.03 9055
1324 파이어몽키를 이용해서 아이폰앱을 개발할때 스타일 바꾸기 관리자 2012.04.19 8970