분류 전체보기
-
[AWS] Amazon Certificate Manager로 HTTPS 적용해보기Cloud/AWS 2021. 4. 4. 20:25
AWS 인증서로 HTTPS 적용해보기 HTTPS를 적용하려면 도메인 주소가 필요합니다. 만약 도메인 주소가 없다면 여기 에서 먼저 만들고 와야 합니다. (AWS Route 53을 이용해서 도메인을 만들었습니다.) AWS를 이용하지 않는다면 다른 인증 기관에서 SSL 인증서를 발급 받아서 등록하는 과정을 거쳐야 할 것입니다. 그런데 인스턴스가 여러 개라면 인스턴스마다 인증서를 받아 등록하는 과정이 매우 번거로울 것입니다. 또한 각 인증서마다 만료 기간을 알고 있어야 하기 때문에 매 번 그 기간엔 맞춰서 갱신을 해줘야 합니다. 재 기간에 갱신하지 못하면 사이트가 접속이 되지 않는 큰 문제가 발생할 수 있습니다. 그래서 이번 글에서는 이러한 것들을 편리하게 해주는 ACM(Amazon Certificate Ma..
-
[AWS] Route 53으로 DNS와 IP 주소 연결하는 법Cloud/AWS 2021. 4. 4. 02:00
Route 53으로 도메인 구입하기 AWS Route 53으로 접속한 후에 도메인 등록 버튼을 누르겠습니다. 위와 같이 원하는 도메인 이름을 적은 후에 장바구니 추가하고 도메인 기간, 가격을 확인한 후에 계속을 누르겠습니다. 그리고 아래 개인정보 보호 활성화도 체크 되어 있는대로 해놓고 계속을 누르겠습니다. 그리고 위와 같이 Default 설정 그대로 두고 주문 완료를 누르겠습니다. 그러면 위와 같이 도메인 등록 진행 중을 볼 수 있습니다. (어느정도 시간을 기다리면 도메인이 등록될 것입니다.) 그리고 필자 같은 경우는 한 10분 정도 기다리니 위와 같이 도메인 등록 성공으로 바뀌었습니다. 그리고 호스팅 영역을 들어가보면 Route 53에 의해서 자동으로 생긴 것을 볼 수 있습니다. 도메인 이름과 IP ..
-
[AWS] SpringBoot와 Docker를 사용하여 CI/CD 자동화 배포해보기Cloud/AWS 2021. 4. 3. 21:02
Docker를 사용하여 CI/CD 파이프라인 구축하기 위의 아키텍쳐와 비슷하게 예제를 진행해보려 합니다. EC2 인스턴스 내부에 Docker를 사용하여 Spring Boot jar 파일을 실행시켜보겠습니다. (이 글에서는 EC2, S3, CodeDeploy, Travis CI를 생성하고 연결하는 법에 대해서는 다루지 않겠습니다.) 사용하고자 하는 도구는 아래와 같습니다. Spring Boot(gradle) Travis CI(CI 담당) AWS S3 Bucket(CI 빌드 결과를 저장하기 위함) AWS CodeDeploy(CD, 자동화 배포를 담당) AWS EC2 Docker Travis CI 사용하기 Travis CI의 레포지토리, Github 연결은 했다고 가정하고 AWS IAM 사용자 키를 등록하는 ..
-
[AWS] VPC(Virtual Private Cloud)란 무엇일까?Cloud/AWS 2021. 4. 2. 15:31
AWS VPC(Virtual Private Cloud)란 무엇일까? 이번 글에서는 AWS VPC에 대해서 정리해보겠습니다. Amazon VPC 서비스는 EC2의 네트워크 계층이며, EC2 인스턴스를 비롯한 여러 AWS 서비스에 네트워크 리소스를 담을 수 있는 가상 네트워크입니다. 글로만 보면 정확하게 이해가 되지 않습니다. 그래서 만약 EC2 인스턴스들을 VPC를 적용하지 않고 서비스를 한다고 가정해보겠습니다. VPC를 사용하지 않고 여러 EC2 인스턴스를 사용하면 위와 같은 상황일 것입니다. 뭔가 그림으로만 봐도 복잡해보이고 서로 거미줄처럼 엉켜있는 듯한 느낌을 받을 수 있을 것입니다. 지금은 6개 정도의 인스턴스여서 그렇지 나중에 인스턴스가 엄청나게 많아지면 정말 관리하기 쉽지 않을 것이고 하나의 인..
-
[Network] HTTPS란 무엇일까?Computer Science/Network 2021. 4. 2. 15:22
HTTPS 동작하는 방식 이번 글에서는 왜 HTTP가 아닌 HTTPS를 사용 하는 것이며 HTTPS는 어떠한 동작방식으로 작동하는지에 대해서 알아보겠습니다. 평상시에 인터넷을 하면서 HTTP, HTTPS에 대해서는 많이 들어봤을 것입니다. 일반적인 웹 사이트들을 보면 위와 같이 http://, https://와 같이 되어 있을 것입니다. http에는 자물쇠가 잠겨있지 않고, https에는 자물쇠가 잠겨있는 것을 보아 https가 좀 더 안전해보입니다. 왜 더 안전하고 http에는 어떠한 단점이 존재하는지 먼저 알아보겠습니다. HTTP의 약점 평문(암호화 하지 않은) 통신이기 때문에 도청 가능 통신 상대를 확인하지 않기 때문에 위장 가능 완전성을 증명할 수 없기 때문에 변조 가능 HTTP는 좋은 점과 편리..
-
[Network] TCP와 UDP의 구조와 특징Computer Science/Network 2021. 4. 1. 10:35
TCP와 UDP의 구조 정리 이번 글에서는 먼저 신뢰성/정확성을 우선으로 하는 연결형 통신 프로토콜인 TCP에 대해 알아보겠습니다. 캡슐화, 역캡슐화에 대해서 알고 있을 것입니다. 캡슐화: 응용 계층부터 물리 계층까지 계층별로 데이터를 전달할 때 헤더를 붙이는 것입니다. 역캡슐화: 물리 계층부터 응용 계층까지 계층별로 데이터를 전달할 때 헤더를 제거하는 것입니다. 이 중에서 TCP로 전송할 때 붙이는 헤더를 TCP 헤더라고 하고, 이 TCP 헤더가 붙은 데이터를 세그먼트(segment)라고 합니다. TCP 헤더에 목적지까지 데이터를 제대로 전송하기 위해 필요한 정보를 가지고 있습니다. TCP는 연결형 통신에 사용되는 프로토콜이라고 설명했습니다. 연결형 통신은 꼼꼼하게 상대방을 확인하면서 데이터를 전송합니..
-
[AWS] AWS CodeDeploy-CodePipeline을 통한 배포 자동화 해보기Cloud/AWS 2021. 3. 30. 17:25
간단한 자동화 배포 구축 해보기! 간단하게 CodeCommit, CodeDeploy, EC2 linux2, Apache를 이용하여 CI/CD 파이프라인을 구축하는 법에 대해서 알아보겠습니다. CodeCommit 레포지토리 생성하기 CodeCommit 레포지토리 만들기 위의 링크를 참고해서 CodeCommit 레포지토리를 만든 후에 로컬 PC에다 clone 받는 작업까지 해보겠습니다. 여기 에서 2단계를 보면 파일을 다운 받을 수 있는 곳이 있습니다.(SampleApp_Linux.zip으로 ) /tmp └-- MyDemoRepo │-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server..
-
[AWS] AWS RDS 프리티어로 만들기Cloud/AWS 2021. 3. 29. 17:08
AWS RDS 프리티어 만드는 법 RDS를 세팅하기 전에 보안 그룹을 만들어야 합니다. 보안 그룹에 들어간 다음 보안 그룹 생성을 누르겠습니다. 인바운드 규칙에서 MySQL은 3306을 쓰기 때문에 위와 같이 설정을 해주겠습니다. 아웃바운드 규칙에서도 위와 같이 설정을 해주면 됩니다. 이제는 RDS 세팅을 해보겠습니다. 저는 MySQL을 사용할 것이기 때문에 MySQL을 선택하겠습니다. 프리티어를 체크했는지 꼭 잘 확인하시길 바랍니다 ! 마스터 사용자 이름, 비밀번호는 꼭 기억해야 합니다! (나중에 이것으로 접속을 하기 때문에 !!) 그리고 데이터베이스 생성 버튼을 누르면 RDS가 생성이 됩니다.