전체 글

.
api.dev.example.com 의 경우 *.example.com 와일드카드 도메인이 적용되지 않음 *.dev.example.com으로 인증서를 신청하면 개발서버도 와일드카드 도메인을 사용할 수 있다.
https통신을 하기 위해서는 발급기관에서 발급받은 인증서가 필요하다. 보통 서버의 경우 웹 서버에 기관에서 발급받은 인증서를 등록하는 방식으로 처리되나, AWS rounte 53 네임서버에 도메인을 옮겨온 경우, AWS가 알아서 다 해준다. 인증서 요청 > 퍼블릭 인증서 > *.example.com 으로 생성 > DNS 검증 > 생성 된 인증서 상세 > Route 53에서 DNS 생성을 하면 Route53에 CNAME 레코드가 생성되어 검증 될 때 까지 기다리면 됨.
버킷명은 꼭 Route 53 도메인에 라우팅할 도메인과 똑같이 생성할 것 AWS S3 콘솔로 이동 > 버킷 만들기 > 모든 퍼블릭 엑세스 차단 체크 해제 > 버킷 생성 생성된 버킷 클릭 > 버킷에 정적파일 업로드 생성된 버킷 클릭 > 속성 > 정적 웹 사이트 호스팅 > index.html 페이지 설정 *** 두 개의 레코드에 대해 같은 버킷으로 호스팅하고 싶다면, example.com으로 주 버킷을 만들고 정적 웹 사이트 호스팅을 설정하고 www.example.com 으로 새로운 버킷을 만들어 정적 웹사이트 호스팅 > 객체에 대한 요청 리디렉션 > example.com > http 선택 후 2개의 버킷을 생성한다. 레코드 생성 시 각각 버킷을 라우팅 대상으로 선택하면 됨! 생성된 버킷 클릭 > 권한 > ..
#grep - grep 찾을문자열 파일패턴 or 파일 > 파일(들) 안에서 해당하는 문자열을 찾아보여준다. - grep 찾을문자열1\|찾을문자열2 파일패턴 or 파일 > 파일(들) 안에서 해당하는 문자열1 or 문자열2가 포함 된 내용을 찾아 보여준다. #vi - yy 한 줄 복사 - 2y 두 줄 복사 - 3y 세 줄 복사 - p 붙여넣기 - home, end 줄 처음 끝 - ctrl + u 이전 페이지 - ctrl + d 다음 페이지 #find - find 경로 > 현재 위치에서 경로인 결과들을 찾는다. ex) find /data/*/test-*/config/*.txt - find 경로 ! \( -path '특정경로' -prune \) > 현재 위치에서 경로를 검색하나 특정경로는 제외한다. #sed -..
생성 순서 1. ALB 생성 및 대상 그룹 생성 2. ECS 클러스터 생성 3. ECS 작업 생성 4. ECS 서비스 생성, health check 확인 1. ALB 생성 및 대상 그룹 생성 (0). 대상 그룹 생성 > ECS에 적용하려면 인스턴스가 아닌 IP Address로 생성 > health check 는 status 200을 응답해 줄 수 있는 health check용 url을 하나 만들어 등록, spring boot actuator를 사용하면 /actuator/health 를 path로 입력하면 됨. (1). console > 보안 그룹 > 로드 밸런서용 보안 그룹 추가 모든 소스( 0.0.0.0/0 ) 에 대해 80, 443 포트를 허용한다. (2). console > 로드밸런서 메뉴 > 로드..
aws ecr get-login-password --region $REGION | docker login -u AWS --password-stdin $REPOSITORY_URI $REGION을 본인 REGION으로 치환 $REPOSITORY_URI를 ECR Repository 메뉴를 누르면 나오는 Repository URI로 치환 명령어 실행 후 Login Succeeded 라고나오면 docker push $IMAGE:$TAG $IMAGE 를 빌드된 이미지 명으로 치환 push를 위해 ECR URI/이미지명 으로 되어있어야 함 $TAG 를 빌드된 태그로 치환 latest면 생략가능
Gradle 프로젝트 빌드 시 모듈 별로 빌드 하는 법 ./gradlew :모듈명:빌드명령어 모듈 명은 각 모듈 명에 맞게 치환하고 빌드명령어는 gradle이 지원하는 빌드 명령어로 치환
AWS의 RDS, Elasticache에 접근하려면, VPC 보안그룹에 해당 포트들에 모든 IP에대한 접근을 허용해야 한다. 이런 방식으로 접근을 허용하게 된다면, 외부로 부터 접근이 용이하여 보안에 취약해지기 마련인데, 접근하는 팀원들이 항상 같은 곳에서 접근하는 것도 아니라 특정 IP에서만 해당하는 포트들을 열어줄수 없고 모든 팀원들이 어디서든 접근해야한다면 SSH 터널링으로 접근을 한 단계 강화할 수 밖에 없어 SSH 터널링을 통한 접근만 허용 해당 RDS, Elasticache 포트를 모두 허용하는게 아닌, SSH 터널링 용 EC2 인스턴스를 터널링을 통해 접근할 수 있다. VPC로의 접근은 SSH 22번 포트만 모든 IP에 대해 허용해놓고 (일종의 통로) 해당 EC2 인스턴스를 통한 VPC 내부..
spring boot의 경우 http 요청 시 파일 및 요청 사이즈를 application.properties에서 설정할 수 있다. spring.servlet.multipart.max-file-size=5MB spring.servlet.multipart.max-request-size=10MB max-file-size > 최대 파일 사이즈 max-request-size > 최대 요청 사이즈 하지만 nginx에서 default로 http body size가 1MB로 설정되어있어 1MB를 초과 시 nginx에서 413 오류로 응답한다. 하단 옵션으로 원하는 body size로 변경하여 해결할 수 있음. http { client_max_body_size 10M; }
얼마전 logback에서도 취약점(CVE-2021-42550)이 발견됐다. 하지만, 하단 전제조건이 성립 되어야 하기 때문에 사실상 해킹을 하려면 이미 해킹을 당한 상태(?) 여야 한다. - 공격자는 사전에 로그백 설정 파일(logback.xml)에 접근 및 쓰기 권한이 있어야 함 - 공격자가 변조한 설정 파일(logback.xml)이 시스템에 적용되어야 함(변조된 설정 파일 배치 후 시스템 재기동 or Scan="true"로 설정 필요) - 1.2.9 이전 버전 사용 이미 서버의 logback.xml에 접근하여 쓰기 권한이 있을 정도면...🙄 1.2.9 버전은 2021-12-21 현재 alpha 버전이라고 한다. 해결법으로는 1.2.9로 업데이트 하여 alpha 버전 감안 or 접근 및 쓰기 권한을 탈..
infitry
디벨뤼팽