[Tistory] 배포 정리하기 (1) ec2 발급, ufw 설정, swap 메모리 설정

원글 페이지 : 바로가기

대략적인 배포 순서… ec2 발급 ufw 설정 및 port 구성도 swap 메모리 설정 docker 설치 docker-compose jenkins 설치 jenkins gitlab 연동(project-build) 및 플러그인 설치 dockerHub 설치 및 연동(docker-build) dockerScript 작성(pipeline) Nginx S3 설치 및 설정 RDS 설치 및 설정 EC2 설정 EC2 (Elastic Compute Cloud) ??? – 아마존 웹 서비스(AWS) 에서 제공하는 클라우드 컴퓨팅 서비스 – 클라우드 컴퓨팅 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공 => AWS 에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것 – 사용한 만큼 비용을 지불하기 때문에 탄력적인 이라는 의미의 Elastic이라는 단어가 붙어있다 조금 더 알고 싶다면 👇👇👇👇👇 https://velog.io/@server30sopt/AWS-EC2-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC AWS 에서 직접 EC2를 내가 할당할 때 참조할 블로그 https://velog.io/@sunblock99/AWS-%ED%94%84%EB%A6%AC%ED%8B%B0%EC%96%B4-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B0%A9%EB%B2%95 [AWS] 프리티어 EC2 인스턴스 만드는 방법 1) AWS 계정 생성 개인정보와 결제 카드 등을 등록해서 가입하면 됩니다. 인당 1계정 제한이 없으니 프리티어 기간이 끝났다면 다른 이메일로 가입하면 됩니다. 2) 인스턴스 시작 메인 화면에서 EC2 velog.io 나는 싸피에서 프로젝트를 위해 수행해서 설정을 해주시고 발급 받았다… 따로 포트 설정이나 인스턴스 생성 할 필요 X ufw 설정 ufw(Uncomplicated Firewall; 복잡하지 않은 방화벽) ?????? – 리눅스 계열 운영체제에서 사용하기 쉬운 방화벽 관리 프로그램 – 리눅스 커널은 다양한 네트워크 관련 연산을 수행하는 netfilter(넷 필터) 라는 프레임워크를 사용하고 있는데, 이를 관리하는 것이 UFW – netfilter는 리눅스에서 방화벽을 설정하기 위해 iptables(네트워크 트래픽을 관리하고 제어)라는 프로그램을 사용 – 사용자가 직접 iptables를 관리하기에는 복잡하기 때문에 이러한 절차를 간편하게 해준 것이 UFW 방화벽이란 ???? – 컴퓨터의 보안을 위해 미리 정의된 규칙에 기반하여 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템 – 내부에서 외부의 정보 통신망에 접근하거나 외부에서 내부로 불법적으로 접근하는 움직임을 차단 – 목적 : 인가받지 않은 사용자가 내부 컴퓨터 자원을 사용 또는 교란하거나 중요한 정보를 외부에 유출하는 것을 방지하기 위해 사용 – 작동 원리 : 기본적으로 방화벽은 모든 접근을 거부하고, 단계적으로 접근을 허용한다. 네트워크를 통해 데이터가 이동하는 통로를 포트(port)라 하는데, 방화벽은 약 65,000개의 통신 포트를 모두 차단하고, 접근을 허용하는 특정 포트만 열어둔다 .SSH(Secure Shell) ???? – 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜 – 사용자가 명령어를 입력하면 해석해서 커널로 옮겨 실행하는 역할을 해주는 것 – 기존 원격 접속은 Telnet 이라는 방식을 사용했는데, 암호화를 제공하지 않기 때문에 보안상 취약하다는 단점이 있었는데 이를 암호화하는 SSH 기술이 등장했고, 현재 원격 접속 보안을 위한 필수 방법으로 사용되고 있다 우리 프로젝트에서는 VMware에서 바로 명령어를 입력하지 않고 puttygen을 사용해서 키를 만들고 편의 기능성의 폭을 넓힘 PuTTY – 윈도우용 오픈소스 SHH 및 Telnet 클라이언트 – 원격으로 서버 및 장치에 연결이 가능하고 프로그램이 굉장히 가볍고 간편해서 사용성이 뛰어남 – 클라이언트는 강력한 암호화를 사용하여 클라이언트와 서버 간에 전송되는 데이터를 보호하며 암호 인증, 공개 키 인증 및 키보드 대화식 인증을 포함한 다양한 인증 방법을 지원 https://www.puttygen.com/ PuTTYgen Download Download PuTTYgen for Windows, Linux and Mac operating system. Find step by step guide to downloading PuTTYgen, a key generator for free. www.puttygen.com https://www.putty.org/ Download PuTTY – a free SSH and telnet client for Windows Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W www.putty.org ssh 접속을 허용하는 규칙 추가하기 $ sudo ufw allow 22 ufw 활성화하기 $ sudo ufw enable ufw 상태 확인하기 $ sudo ufw status 포트 정상 등록되었는지 확인하기 $ sudo ufw status numbered EC2 보안그룹 22 : ssh 8080 : Springboot 80 : Nginx 6379 : Redis 5000 : Docker 3306 : Database swap 메모리 설정 swap memory ???? – 실제 메모리 Ram이 가득 찼지만 더 많은 메모리가 필요할 때 디스크 공간을 이용하여 부족한 메모리를 대체할 수 있는 공간 – 실제 운영환경에서는 스왑 메모리를 사용하는 것보다 실제 메모리를 올려서 사용하는 게 더 좋다 => 스왑 메모리 사용이 실제 메모리 사용보다 덜 바람직한 이유 1. 속도 차이 : 스왑 메모리는 하드 드라이브에 위치하는데, 이러한 저장 장치는 RAM보다 읽고 쓰는 속도가 훨씬 느려서 시스템이 스왑 메모리를 사용할 때 프로그램의 응답 시간이 늘어나고 전반적인 성능이 저하될 수 있다 2. 웨어 라벨링(Wear Leveling) : SSD의 경우, 데이터를 지속적으로 쓰고 지우는 작업이 SSD의 수명을 단축 3. 시스템 자원의 효율적 사용 : 프로세스 관리와 자원 할당에 있어서 최적의 성능을 내지 못할 수 있다 4. 시스템의 안정성 : 스왑 메모리를 과도하게 사용하는 시스템은 메모리가 부족할 때 자주 발생하는 ‘스왑 스레싱’ 현상을 빠질 수 있다(메모리와 스왑 영역 사이에서 데이터를 이동시켜 처리하는 현상을 말하고, 시스템이 느려지고 불안정해질 수 있다) 그럼에도 사용하는 이유?? : 프로그램의 비정상 종료나 시스템의 불안정을 방지하는 데 도움이 될 수 있다. 메모리가 제한적인 환경에서는 스왑 공간을 적절히 설정해두는 것이 좋다!! dd 명령어로 swap 메모리 할당 dd : 디스크 복사 도구로서 데이터를 변환하고 복사 if=/dev/zero : 입력 파일로 /dev/zero를 사용 of=/swapfile : 출력 파일로 /swapfile을 지정 bs=128M: 블록 사이즈로 128 메가 바이트를 지정(한번에 128MB의 데이터 블록을 사용하겠다는 의미) count=16 : 블록을 총 16번 사용하겠다는 의미(2GB의 스왑 파일이 생성된다) sudo dd if=/dew/zero of=/swapfile bs=128M count= 16 2. 생성한 swapfile의 권한(읽기, 쓰기)를 업데이트 :보안상 다른 사용자에게 접근 권한이 없어야 함! sudo chmod 600 /swapfile 3. mkswap 명령어로 swap 공간을 생성 : 스왑 공간으로 사용하기 위해 스왑 파일을 설정 sudo mkswap /swapfile 4. 스왑 활성화 : 시스템에 스왑 파일을 활성화 sudo swapon /swapfile 5. /etc/fstab 파일을 편집하여 부팅 시 스왑 파일을 시작하게끔 함 sudo vi /etc/fstab 6, 스왑 파일을 시스템 부팅 시 자동으로 마운트 하도록 설정 /swapfile swap swap sw 0 0 참고 https://samgyeobsal123.tistory.com/entry/PuTTY-PuTTY-Key-Generator-%EC%82%AC%EC%9A%A9%EB%B2%95 [PuTTY] PuTTY Key Generator 사용법 필요시 aws에서 제공한 프라이빗 키 파일을 PuTTY에 맞는 확장자인 PPK로 변환해야 할 때가 있다. PuTTY를 성공적으로 설치했으면 PuTTY Key Generator (이하 키젠)을 실행하면 아래 화면이 뜬다. Load를 눌 samgyeobsal123.tistory.com puttygen 사용법… https://calvinjmkim.tistory.com/20 PEM파일을 PPK로 변경하기 (PEM to PPK) 윈도우즈에서 간단한 터미널 툴을 사용하고 싶을 때 가장 먼저 생각나는 툴이 Putty이다. 기본적인 기능만 갖추고 있고, 간단하고, 설치할 필요도 없고, 용량마저 작은 것이 그 매력이 아닐까 싶 calvinjmkim.tistory.com ppk를 변경하는 이유..

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다