IT69 AWS 정적 웹사이트 구축 및 CORS 처리 AWS에서 CORS 처리를 한다고 하면 일반적으로 S3와 CloudFront에서의 설정을 이야기하는 것입니다. 보통은 프로그램 내에서 관련 처리를 하기 때문에 별도의 세팅을 할 이유는 없습니다. 그리고 저의 환경에 맞는 형태로 구성했기 때문에 테스트 하시면서 필요한 정보만을 적용 하시기 바랍니다. 참고로 S3는 객체 스토리지 입니다. 웹서비스를 위한 공간이라기 보다는 데이터 저장소의 의미가 더 큰 곳입니다. 데이터 저장소 이기 때문에 간접적으로 필요한 기능 들이 추가 되었다고 보는게 맞습니다. AWS를 하다보면 참 많은 곳에서 S3를 활용하여 서비스를 제공하고 있습니다. 이 부분은 직접 경험해 보시는게 좋을 것 같습니다. 어째든 제목에 맞는 내용에 대해서 설명하겠습니다. 1. S3 설정(버킷 만들기)먼저.. 2026. 3. 31. AWS Linux 유저 추가하고 패스워드 접속 허용 1. KeyPair(.pem)를 이용한 접속AWS에서 EC2 Linux 인스턴스를 생성하고 ssh를 이용하여 접속하려면 pem 파일을 이용하여 접속하게 됩니다. 접속 하는 방법은 다음과 같습니다. $ ssh -i {pem키 경로} ec2-user@{ip주소} putty의 경우에는 설정 정보의 "Connection > SSH > Auth > Credentials"에서 "Privaty key file..."에 pem키를 등록하면 됩니다. 위와 같이 접속할 경우 OS에 따른 Default 유저가 존재하며 해당 유저 정보를 통하여 접속을 해야 합니다. AWS의 경우 OS별 Default유저 정보는 아래와 같습니다.근데, 한사람만 접속을 한다면 pem키를 이용하여 접속하는 것에 문제가 없으나 여러 사람이 접속을.. 2026. 2. 10. crontab 사용법 많이 사용하면서 머리에 기억하지는 못하고 항상 검색하면서 사용하고 있어 간단하게 정리 합니다.crontab 설정 관련 기본 문법은 아래와 같습니다. 1. crontab 핵심 설정 및 사용법설정 모드 진입 : crontab -e (vi 편집기 저장할 때는 ":wq")목록 확인 : crontab -l설정 형식 (5개 필드 + 명령어) : (위의 이미지 확인)* * * * * [실행할 명령어]분(0-59) 시(0-23) 일(1-31) 월(1-12) 요일(0-7, 0/7:일)2. 주요 설정 예시매분 실행: * * * * * /path/to/script.sh매일 새벽 3시 30분: 30 03 * * * /path/to/script.sh매주 월요일 오전 5시: 0 5 * * 1 /.. 2026. 2. 5. AWS S3 연동방식 S3를 버전 업그레이드 작업을 하면서 연동 모듈을 수정할 일이 생겨 여기에 간단하게 정리합니다. 보안상 좋은지는 잘 모르겠지만 키 관리의 이슈로 인하여 저는 "Assum Role" 방식을 선택하여 진행 하였습니다. 1. DefaultCredentialsProvider (추천: 로컬/운영 공통) 환경 변수, 시스템 속성, AWS 프로필 파일(~/.aws/credentials), IAM 인스턴스 프로필 순으로 자격 증명을 자동으로 찾습니다. 코드를 수정하지 않고 환경에 맞춰 인증할 수 있어 가장 권장됩니다. Region region = Region.AP_NORTHEAST_2; S3Client s3Client = S3Client.builder() .region(region) .credentia.. 2026. 1. 29. CentOS Stream 10에 JDK 25 설치 하기 JDK 25 LTS 버전이 9월에 출시가 되었는데, 아직 초기 이다 보니 지원까지는 시간이 조금 필요 한것 같습니다.특정버전을 사용하는 것이 아니고 새로 시작한다면 jdk25를 기반으로 시작하는 것이 좋아 보입니다. 아래는 오라클에어 퍼온 JDK LTS 지원 계획(https://www.oracle.com/europe/java/technologies/java-se-support-roadmap.html) 내용입니다. 먼저 CentOS 10에서 업데이트 되었는지를 확인해 보시기 바랍니다. 지금 제가 확인한 바로는 아직 지원하지 않고 있었습니다. 명령어는 다음과 같습니다.[root@blue ~]# dnf list java* 그래서 rpm을 다운 받아 설치를 하려고 합니다. 다운 받을 수 있는 주소는 아래 2곳 .. 2025. 9. 23. 우분투 및 MariaDB 시간대 변경 AWS에서 서버를 세팅하게 되면 시간대가 기본적으로 "UTC"로 세팅이 되어 있게 됩니다.UTC로 인지하고 서비스를 개발하는게 아니라면 서비스 시 문제가 될 소지가 있어 변경을 해야 합니다.변경하는 방법은 다음과 같습니다. root@ip-172-31-35-55:~# timedatectl Local time: Mon 2025-09-15 08:33:55 UTC Universal time: Mon 2025-09-15 08:33:55 UTC RTC time: Mon 2025-09-15 08:33:55 Time zone: Etc/UTC (UTC, +0000)System clock synchronized: yes .. 2025. 9. 17. letsencrypt(certbot) nginx 적용하기 AWS의 우분투에 무료 인증서(letsencrypt) 적용하는 중 제가 아는 내용과 조금 다른 부분이 있었고 그래서 정리하고자 내용을 공유 합니다. ubuntu@ubuntu:~$ sudo apt install -y certbotubuntu@ubuntu:~$ sudo add-apt-repository -r ppa:certbot/certbotubuntu@ubuntu:~$ sudo apt updateubuntu@ubuntu:~$ sudo apt install -y python3-certbot-nginx...server { ... server_name cms.demo.com;...}...ubuntu@ubuntu:~$ sudo systemctl restart nginxubuntu@ubuntu:~$ sudo .. 2025. 9. 16. Swagger 적용 API 기반의 서비스를 개발하면 API 명세서를 별도로 만들어야 하는 경우가 많이 있는데, 나중에 만들다 보면 많이 귀찬은 부분이 생겨 프로젝트 초반에 정의하고 진행한다면 프로젝트 매뉴얼 작성할 때 편한 라이브러리 입니다.개인적으로는 모든 프로젝트에 강제로 적용하고 있으며, 보안 문제가 있는 사이트에서만 서비스 페이지를 삭제하는 형태로 많이 진행합니다. 개발 코드는 다음과 같습니다. 1. 먼저 Dependency 를 추가해 주시면 됩니다.implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.8.9' 현재 3.x 버전도 나오기는 하였는데 아직 미완성으로 보이고 가장 많이 사용하는 버전이 2.. 2025. 9. 12. 작은 프로젝트(수집/분석) 서버에 대하여 지금까지의 개발 코드 올린 부분은 외부 데이터를 저장하여 정제(분석)하여 알림을 발송할 수 있도록 구성을 한 프로젝트 입니다.논리적 시스템 구성은 아래와 같습니다. 시스템 구성을 할 때는 대용량을 생각하기 때문에 수집 서버에 Kafka 와 같은 데이터 스토어를 구성을 해야 할 수도 있습니다. 실제 데이터 테스트를 해 보았는데, 굳이 필요 하지 않아 생략하고 다이렉트로 DB에 저장되게 구성 하였습니다. 또한 DB도 대용량에 분석 방식에 따라 NoSQL을 구성하고 정제된 데이터를 RDBMS로 적재하는 형태로 구성을 많이 하였습다만 역시 위와 마찬가지로 이 부분도 필요 하지 않아 생략을 하였습니다. 서비스 정보 전달에 해당하는 부분은 OAuth 기반의 API 서버를 구성하고 앱이나 서비스 인증 기능을 추가하.. 2025. 9. 11. 이전 1 2 3 4 ··· 8 다음