-
AWS EC2 / WinSCP / Putty / nginx,PHP,MySQLProgramming/BackEnd 2020. 4. 26. 02:43
AWS
AWS란 Amazon에서 클라우드 환경을 구축하여 가상컴퓨터를 대여해주는 서비스이다.
서버를 구동하기 위해서는 여러 물리적 자원과 시간, 비용이 필요하게 되는데 AWS를 이용하면 이 모든 절차를 생략할 수 있다. 아마존에서 구축해놓은 가상컴퓨터의 일부를 빌려서 내 컴퓨터처럼 사용하는 것이다. AWS EC2 인스턴스를 생성하면 하나의 IP주소를 할당받는다. 인스턴스에 연결하기 전에 관리자만 key를 사용할 수 있도록 KeyPair 보안(권한) 설정을 해야 한다. 이후 관리자 모드로 cmd를 키고 aws 인스턴스 연결 가이드라인에 나오는 명령어를 치면 우분투에 접속할 수 있게 된다.
Amazon EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있고, 컴퓨팅 리소스에 대한 포괄적인 제어권을 제공받는다.
Amazon EC2는 웹 서비스 인터페이스를 사용해 다양한 운영 체제로 인스턴스를 시작하고, 이를 사용자 정의 애플리케이션 환경으로 로드하며, 네트워크의 액세스 권한을 관리하고, 원하는 수의 시스템을 사용해 이미지를 실행할 수 있는 진정한 가상 컴퓨팅 환경을 제공합니다.
T2 인스턴스는 기본 수준의 CPU 성능과 더불어 기본 수준을 넘어 버스트할 수 있는 기능을 제공하는 성능 순간 확장 가능 성능 인스턴스입니다.
기본 성능과 순간 성능 기능은 CPU 크레딧에 의해 좌우됩니다. T2 인스턴스는 인스턴스 크기에 따라 정해진 비율로 CPU 크레딧을 계속 받게 되며, 유휴 상태일 때 CPU 크레딧을 축적하고 활성 상태일 때 CPU 크레딧을 사용하게 됩니다.
* t2.micro 전용. T2 무제한으로 구성된 경우, 평균 CPU 사용률이 인스턴스의 기본 사용률을 초과하면 요금이 적용될 수 있습니다.
t2 micro는 1시간당 6 크레딧
750시간 기준으로 과금?
즉, AWS에서 빌려준 가상컴퓨터를 ubuntu환경에서 사용할 수 있게 되는 것이다.(?)
*가상컴퓨터 —> Hypervisor
*ubuntu —> AWS EC2 서비스에서 제공하는 다양한 OS
가상화라는 개념에 대해 이해해야 할듯.
1. 운영체제나 소프트웨어들은 전부 영구 저장소인 디스크안에 설치가 됩니다. 운영체제 설치하고 여러가지 세팅해놓은 디스크 형상을 그대로 견본 떠놔요. 우분투가 될 수도 있고 CentOS가 될 수도 있고 Windows OS가 될 수도 있습니다. 목록에서 고를 수 있는 EC2 이미지(AMI)들은 전부 AWS 또는 다른 사용자들이 사전에 세팅해놓은 겁니다.
2. 우리가 제공받는 ec2는 대부분 가상머신인데, 이 가상머신들은 아주 빵빵한 스펙의 서버안에서 동작합니다. 예를들어 1TB 메모리에 128코어짜리 CPU 꽂아놓은 하드웨어가 있으면, 여기서 우리가 할당요청한 ec2인스턴스 사이즈만큼 논리적으로 떼어주는거에요. (가상머신, 2코어 8GB Mem 등...)
3. 견본 떠놨던 디스크 형상 + 할당한 CPU 메모리 자원 + 기타등등으로 컴퓨터를 킵니다. 그리고 우리에게 제공해줍니다.평소에 쓰시던 컴퓨터 디스크를 따로 뺍니다. 필요할때마다 그 디스크를 복사해서 다른 컴퓨터에 빠르게 갖다 붙이는 느낌.
실제로 이런 건 아니고 논리적으로 자동화를 시켜놓음.
https://aws.amazon.com/ko/ec2/faqs/?nc1=h_ls
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
https://shlee0882.tistory.com/180
Window PC에서 ubuntu 서버를 이용할 때, 원격 접속을 지원하는 ssh(Secure Shell) 프로그램을 이용하게 된다.
PUTTY
-Windows 계열 OS에서 이를 통해 편리하게 리눅스 Shell 이나 Terminal을 이용할수있다
Windows에서 PuTTY를 설치하고 EC2 인스턴스의 리눅스에 접근할 수 있도록 ssh 설정한다.
AWS 콘솔을 통하여 EC2 인스턴스를 생성하게 되면 SSH 접속을 위한 Key pair 를 사용하게 된다.
Namsan.pem 과 같이 pem 형식의 파일을 다운로드 받을 수 있다. Windows 사용자의 경우에는 PuTTy 에서 PEM 파일을 지원하지 않기 때문에 별도의 PPK 파일을 생성하여야만 Linux 인스턴스에 접속이 가능하다.인스턴스를 시작한 후 인스턴스에 연결하고 바로 앞에 있는 컴퓨터를 사용하는 것처럼 인스턴스를 사용할 수 있습니다.
http://devstory.ibksplatform.com/2017/08/aws-windows-linux-putty.html
WinSCP
-GUI로 표현된 FTP, SFTP 툴이며 드래그 앤 드롭 등을 지원하는 아주 유용한 툴이다
WinSCP는 Windows용 그래픽 SFTP 및 FTP 클라이언트 프로그램이고, 오픈 소스 프리웨어이다. 이 프로그램을 사용하여 PC와 ubuntu 서버 간에 안전하게 파일을 복사할 수 있다.
http://devstory.ibksplatform.com/2017/09/aws-winscp-linux.html
nginx, php, mysql 설치 후 phpinfo 띄우기
https://hue9010.github.io/aws/nginx%EB%A5%BC-%EC%A0%81%EC%9A%A9%ED%95%B4-%EB%B3%B4%EC%9E%90/
https://hiseon.me/linux/ubuntu/ubuntu-mysql-install/
mysql 외부접속 하기
도메인 적용하기 - 가비야, 후이즈
https 적용하기 (Let's encrypt)윈도우 로컬 컴퓨터에 bitnami wamp 설치
phpmyadmin 설치
포트포워딩 하기
phpmyadmin 띄우기챌린지 미션:
apm 소스설치 (apt-get or yum 사용X'Programming > BackEnd' 카테고리의 다른 글
AWS EC2 인스턴스와 도메인 연결 이해 (0) 2020.04.27 AWS ubuntu에 PHP7.2와 nginx 연동하기(php-fpm설치해서 php파일 해석) (0) 2020.04.27 포트포워딩(PortFowarding)이란? (0) 2020.04.25 HTTP 프로토콜의 이해 (0) 2020.04.25 1. 클라이언트 - 서버 구조의 이해 (0) 2020.04.25