평소와 같이 Redis 를 Docker 로 띄우는데 갑자기 docker an attempt was made to access a socket in a way forbidden by its access permission 라는 Error 가 던져졌다. 참고로 컨테이너에서 외부에 노출되는 포트는 6379 였다. ✔️ 해결방법 관리자 권한 으로 Powershell 을 켜서 알애 커맨드를 쳐서 확인해준다. 시작포트 와 끝 포트 사이의 값에 사용하고자하는 포트가 포함되어있으면 forbidden by its access permission 이 뜨는 것이다. > netsh interface ipv4 show excludedportrange protocol=tcp 그 다음 아래 명령어로 Window Nat Driver..
DevOps
🔥 들어가기 앞서 해당 포스팅에는 S3 도메인에 HTTPS 를 설정하는것을 목표로하며 이를 위해 CloudFront 를 사용한다. 하지만 CloudFront 를 통해 S3 에 HTTPS 를 설정하려면 인증서가 필요한데 이 인증서가 Region 이 미국 동부(버지니아) 인 사용자만 사용할 수 있다는 것이다. 따라서 S3 버킷이 버지니아 에 위치해있고 퍼블릭 액세스 허용으로 되어있어야 한다. 🔥 Certificate Manager 에 인증서 요청 첫번째로 Certificate Manager 에 들어가서 인증서를 요청해준다. 다시한번 말하지만 현재 버지니아 북부 여야 한다. 퍼블릿 인증서 요청을 눌러준 다음 인증서에 하나 이상의 도메인 이름을 제공해준다. 필자는 www.revi1337.com 을 입력하였다. ..
docker-compose 를 통해 Local 개발 환경을 설정해보자. 기본적으로 SpringBoot 을 사용할 것이고 MySQL, Redis 를 컨테이너로 올려 SpringBoot 에서 사용할 예정이다. 이걸 인프라라고 말하기도 그렇지만 구성도를 그려보자면 아래와 같이 나타낼 수 있다. 🔥 프로젝트 구조 개발환경을 설정하기 전에 해당 포스팅을 그대로 따라하면 최종적으로 아래와 같은 프로젝트 구조가 된다. 자 이제 로컬 개발 환경을 구성해보자. 🔥 docker-compose.yml 작성 Spring 에서 MySQL, Redis Container 를 사용할것이기 때문에 우선적으로 MySQL, Redis 를 Container 로 띄워야 한다. 이를 위해 Container 를 한번에 관리할 수 있는 docke..
도커는 기존에 pull 받은 Base Image 를 변경해서 새로운 상태의 Image 를 만들어 저장하고 배포할 수 있다. 이렇게 새로운 상태의 Image 를 만드는 방법에는 docker commit 을 이용한 방법과 Dockerfile 과 docker build 를 이용하여 생성하는 방법이 있다. 해당 포스팅에서는 이 두가지 방법으로 새로운 Image 를 만드는 방법과 차이점을 알아보자. 정확히는 두가지 방법으로 자바가 디폴트 설치되어있는 새로운 Ubuntu Image 를 만드는 과정을 포스팅 할 것이다. 🔥 docker commit 을 이용한 방법 ✔️ Pull Ubuntu Image 우선 가장 latest 한 버전의 Ubuntu 이미지를 pull 받고 실행하여 컨테이너를 생성 및 실행해준다. 방금 ..
오늘 낮에 친구가 "아니 도대체 도커는 왜 쓰는거임?" 라고 물었다. 나는 mysql, nginx 같은거 한번에 관리할 수 있고 설치도 따로 하지 않아도 된다고 대답했다. 평소에 도커를 너무나도 당연하게 사용해왔기 때문에 첨언할 내용이 생각나질 않았다. 따라서 Docker base 로 사용하는 Container 기술과 Docker 에 대한 이론적인 부분을 간단하게 적고자 한다. 🔥 Docker 를 이해하기 앞서 Docker 는 를 이해하기위해서는 Container 에 대한 이해가 필요하다. ✔️ Container Container 란 우리의 Application 을 어떠한 환경이든 실행할 수 있도록 애플리케이션에서 사용되는 라이브러리 같이 필요한 모든 요소들을 하나의 패키지로 패키징하여 하나의 독립적인 ..
해당 글은 인프런 Simon Kim 님의 AWS(Amazon Web Service) 입문자를 위한 강의 를 보며 작성한 글입니다. 아래 나온 자료 사진들은 모두 해당 강의에서 가져온 것입니다. https://www.inflearn.com/course/aws-%EC%9E%85%EB%AC%B8 🔥 AWS CloudFront 정의와 역할 CloudFront 란 Edge Location 이라는 개념을 사용하여 정적인, 동적인 그리고 실시간 웹사이트 컨텐츠들을 유저들에게 효율적으로 전달하는데 사용되어지는 AWS 서비스 중 하나이다. CloudFront 를 사용하면 특정 유저가 요청을 하였을 때 Edge Location 을 통해 웹사이트에 컨텐츠가 Delivery 됨으로써 퍼포먼스를 극대화 시킬 수 있다. 우선 C..
Vuejs 로 만들어 빌드된 정적 리소스들을 AWS 의 S3 버킷을 통해 웹 호스팅을 해보도록 하자. 🔥 AWS 콘솔의 Service 탭으로 이동 제일 첫번째로 회원가입 후, AWS 콘솔에서 서비스 를 누르고 모든 서비스 보기 를 누른다. 🔥 스토리지에서 S3 선택 굉장히 많은 서비스들이 노출되게 되는데, 이 중에서 스토리지 섹션의 s3 를 선택한다. 이어서버킷 만들기 를 선택한다. Bucket 은 데이터를 저장할수 있는 일종의 저장소를 의미한다. 🔥 Name, Region 설정 이제 버킷을 생성하기위한 필수 정보들을 입력해야한다. 각 필드들은 아래와 같은 의미를 갖는다. (해당 글에 설명하지 않은 설정들은 중요치않거나 Optional 하기때문에 딱히 건드리지 않아도 된다.) 버킷 이름 : 저장소이름을 ..