아이티센 온라인 강의 - 10.13 멘토링

김재현·2022년 10월 13일
0

아이티센 프로젝트

목록 보기
26/30
post-custom-banner

클래식과 VPC

  • AWS는 클래식 환경이 사라졌다.
    클래식 환경에 여러 단점이 있어서 사라진 것.
  • NCP에서도 클래식 환경에서 만들었다가 VPC를 만들었다.
    아마 따라서 없앨 거라는 예상.
  • 실제 네트워크 환경과 유사하려면, VPC 환경에서 작업을 하는 것이 좋다.
  • 하지만 초창기 클래식 환경에서 실습을 진행했던 것은 네트워크에 대한 지식이 없는 경우 클래식 환경이 더 편할 수 있기 때문.
  • VPC를 사용하는 이유는, 외부와 논리적으로 차단된 네트워크 환경을 구축할 수 있기 때문.
    클래식의 경우 그것이 불가능하기 때문에 방화벽이나 ACG를 사용한다.

포트포워딩

  • 포트포워딩 : 네트워크 기술 중 하나.
    1주차 과제에 VM의 ssh에 접속하려고 사용했던 기술.
    포트포워딩이 되어있다면 공인 IP를 할당받을 필요 없다.
    대신 포트가 고정되어 있기 때문에 다른 포트로 사용하는 것이 불가능하다.
    거의 쓸 일이 없다.

마리아DB / MySQL

엔진이 똑같다. 때문에 MySQL의 데이터 형식이 마리아DB에서도 잘 구동된다.
거의 호환된다.

  • 별도의, 내가 원하는 버전의 프로그램을 설치하기 위해 repository를 조작하거나, 만들 필요가 있다.
  • NCP의 공공 클라우드에는 MariaDB가 없다.
    개인/기업 클라우드에는 있다.
  • 사업의 타겟을 하고 있는 곳에 따라 사용할 제품이 다르다.
    민간에서는 가능한 것이 공공에서 안되는 경우, 그리고 그 반대의 경우가 꽤나 존재한다.
  • 이런 경우를 알아두는 것이 중요하다.

포트와 IP 설정

  • 443, 80포트는 전체 0.0.0.0/0으로 열어도 된다. 대중에게 공개되어야 하는 포트이기 때문.
    22 포트는 아주 위험할 수 있다.
    8080의 경우는 웹 서버의 IP로 제한되어야한다.
    DB는 WAS 서버의 IP로 제한되어야한다.
  • ACG하나에 많은 IP 접근사항이 들어가는 것은 좋지 않다.
    ACG를 여러개로 분리시키는 것도 좋은 방법.
  • DB에 접근해야하는 주체 = WAS.
    DB의 접근 IP는 WAS의 IP로 제한되어야한다. 모두가 DB에 접근할 수 있다는 것은 아주아주아주아ㅜ자우자우ㅏㅈ우ㅏ주ㅏ주아주 위험하다.
    DB 서버의 경우 공인 IP를 사용하지 않는다. 아니, 그러면 안된다.

버전

  • open jdk가 버전이 다양하고, 라이브러리의 사용성이 다르다. 다른 언어도 마찬가지일 것.
    이 버전 파악이 개발자로서의 첫 걸음이라고 할 수 있다.
  • 버전이 높은 것이 항상 좋은 것은 아니다. 호환성이 중요하기 때문!
    호환이 되는 버전을 사용하는 것이 중요하다.
  • 상용 jdk가 더 좋은듯? 현업에서는 openJDK보다는 상용 JDK를 사용하는 경우가 더 많은 것 같다.

WAS의 계정

  • WAS를 root 사용자로 구동하는 것은 바람직하지 못하다.
    root로 WAS를 사용하게되면, 클라이언트가 접속하면 root 사용자가 생기게 된다.
    악의적인 사용자가 웹 해킹을 성공하고 WAS에 들어오게 된다면, root 사용자가 되게 된다. 리눅스의 모든 명령어를 사용할 수 있고 모든 정보를 볼 수 있게 된다.
    역시 아주앚우ㅏ주앚우ㅏ주아주아주 위험.

절대/상대경로

  • 절대 경로로 실행하는 것은 그리 좋지 않다.
    상대 경로로 실행하는 것이 더 좋다!
    절대 경로로 실행하는 것의 장점 : 실행 파일의 위치가 어디있는지 정확히 알 수 있음.
  • 절대경로 : 절대 경로의 시작은 /(루트)로 실행된다.
    /로 실행하는 모든 것을 절대경로라고 한다.
  • 상대경로 : 해당 위치에 왔을 때 실행시키는 것. 같은 위치에 있는 실행 파일 등은 실행 가능하지만, 그렇지 않은 경우 실행할 수 없다.
    . = 폴더 자신. .. = 상위 폴더.
    현재 위치에 있는 실행파일을 실행시키고 싶을 때 .를 사용한다.
    ./httpd
  • 상대/절대 경로 개념은 중요하니 공부하자!

WAS와 DB의 IP

  • 공인 IP로 하면 안된다! 속도와 보안 측면에서 불리함.

HTTP 응답 상태 코드.

성공 : 200번대 응답코드
경로 이동 : 300번대
사용자 실수 : 400번대
서버/DB에러 : 500번대

  • 에러를 보고 문제를 파악할 수 있는 능력을 길러야한다.

소켓 프로그램

  • 여러가지 브라우저 등.
  • 톰캣을 실행시키기 위해서는 소켓을 생성해야함.
  • IP를 바인드해야 함. IP와 포트가 묶이는 것이 바인드.
  • 바인드 후에는 리슨.
    리슨을 하면 클라이언트에게 요구를 받을 준비가 된 것. 연결 대기라고 할 수 있다.
  • 리슨 이후에는 클라이언트의 요구가 있어야 상태가 변경된다. 억셉트/센드/리시브 등..
  • netstat 명령어로 조회해 볼 수 있다.
  • 127.0.0.1 = 자기 자신. 도메인으로는 localhost
  • domain : 사람이 읽기 편하도록 IP와 연관해놓은 것.
  • 바인딩 설정을 바꿔줘야 다른 사람이 사용할 수 있다.

자격증 준비

  • AWS Solutino Architect.
  • NCP 자격증도 있음.

NACL

  • 해결 안되면 개짜증남. 너무 어려우니까 안 하는게 나음..

NATgateway

  • 외부 통신을 위해서만 쓰는 것은 아니다.
  • 클래식 환경에서는 비용효율을 위해 NATgateway를 사용하는 것보다 공인 IP를 터주는 것이 더 나을 수 있다.
    VPC환경에서는 어쩔 수 없음.

ssh로 private IP로 들어가는 것은 최선일까?

  • 서버에 접속하는 사람은 특정인만!
  • ssh를 위한 22번 포트를 모두(0.0.0.0/0)으로 틔워놓는 것은 위험할 수 있다.
  • SSL을 설정하는 것이 좋다.
    같은 망이면 통신이 가능하지만, 아니면 그렇지 않다. 보안 강화에 도움이 된다!

ping의 함정

  • ping은 참고 자료여야지 100% 확신해서는 안된다.
    ICMP 기반. ACG에서 막을 수 있기 때문에, ping 명령어 자체가 통하지 않을 수 있다.
    운영체제에서 ICMP에 반응하지 않도록 설정할 수 있다.
  • ssh가 되는 서버라면 아예 접속해보는 것이 더 확실하다.
    핑은 막을 수 있지만, ssh 접속은 가능하므로.

인증서 관련 오류

  • 암호화를 할 수 있도록 도와주는 것이 인증서.
    wget curl등을 https에 연결하면 안된다. 인증서가 없기 때문.
    인증서를 무시할 수 있도록 설정해주어야 한다.
  • zabbix
    세션구성, 대시보드 꾸미기. 대시보드 응용하기.
    텔레그램 연동. 알람 발생.
    zabbix에서 발생시킨 알람이 핸드폰의 메신저로 들어오게 연동하기.

교육을 어떻게 맞게 되었는가?

  • 수석님과 이사님. 교육을 맞게 되었다.
    근데 바빠! 너무 바빠!
    그래서 교육 제의를 받았음. 하루 전날.
    근데 교육하는 것을 좋아하신다.
    아주아주 좋은 기회라고 생각하신다. 우연이지만, 굉장히 큰 축복이자 행운이다.
post-custom-banner

0개의 댓글