728x90
반응형

분류 전체보기 103

[인프라 구축] Let’s Encrypt, SSL/TLS 인증서 발급하기

우리는 호스트 시스템에 Certbot을 활용하여 Let’s Encrypt SSL/TLS 인증서를 발급받을 것이다. 그 이유는,우리는 토이 프로젝트이고 서버 자원을 최대한 아껴야 한다. 이렇게 하면 Docker 컨테이너에 의해 추가되는 오버헤드를 피하고, 시스템 자원을 절약할 수 있다. 따라서,  Certbot을 호스트 시스템에 직접 설치하는 것이 더 적합할 수 있다. Docker로 실행을 권장하는 경우:다양한 서버 환경에서 일관된 설정이 필요할 때DevOps 관행에 따라 컨테이너화된 환경을 선호할 때시스템 격리와 독립성이 중요한 경우Certbot 설치 및 업그레이드의 간편함이 필요할 때호스트 시스템에 직접 설치를 권장하는 경우:Docker를 사용하지 않거나 Docker 사용이 복잡한 경우시스템 자원을 최..

[인프라 구축] Ubuntu 현재 시스템의 시간대를 한국 시간으로 변경하기

우분투에서 터미널을 통해 현재 시스템 시간대를 한국 시간으로 변경할 것이다. 시스템의 현재 시간 및 날짜 관련 설정 상태 확인하기이 명령어를 통해 시간 및 날짜 관련 시스템 상태를 자세히 확인할 수 있다.timedatectl초기상태에는 현재 시스템의 시간대가 UTC(협정 세계시)로 설정되어 있다.Time zone: Etc/UTC (UTC, +0000) 실습ubuntu@ip-000-000-000-000:~$ timedatectl Local time: Sat 2024-06-15 08:45:50 UTC Universal time: Sat 2024-06-15 08:45:50 UTC RTC time: Sat 2024-06-15 08:45:50..

[CICD 구축] GitHub Actions 워크플로우 구성하기

워크플로우 개요이 GitHub Actions 워크플로우는 Java, Spring Boot, Ubuntu, Docker를 사용하여 CI/CD(Continuous Integration/Continuous Deployment)를 자동화하는 설정이다.이 워크플로우는 develop-be 브랜치에 push 또는 pull request 이벤트가 발생할 때 실행된다.두 개의 작업(Job)  build, deploy 로 구성되어 있다.Docker를 사용하기 때문에 Docker 이미지를 빌드하는 단계에서 Dockerfile이 필요하다. Dockerfile 준비하기Dockerfile은 애플리케이션의 실행 환경을 코드로 정의하여, 어디서나 동일한 환경에서 애플리케이션을 실행할 수 있도록 한다. Dockerfile을 사용하여 ..

[CICD 구축] GitHub Actions 시작하기

https://docs.github.com/ko/actions GitHub Actions 설명서 - GitHub DocsGitHub Actions를 사용하여 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완docs.github.com  GitHub Actions workflow 생성하기https://docs.github.com/ko/actions/automating-builds-and-tests/building-and-testing-java-with-gradle Gradle을 사용하여 Java 빌드 및 테스트 - GitHub DocsGitHub Actions CI(연속 통합) 워크플로를..

[인프라 구축] Nginx 설치하기

Nginx를 설치하는 방법에는 두 가지가 있다.호스트 시스템에 Nginx를 직접 설치하기Nginx를 Docker 컨테이너로 실행하기Docker를 사용하면 서비스와 그 환경을 격리할 수 있기 때문에 호스트 시스템에 영향을 덜 줄 수 있다. 또한,  Docker 컨테이너는 환경을 쉽게 복제하고 배포할 수 있으며, 여러 환경에서 일관되게 실행될 수 있도록 도와준다. 따라서 특히 복잡한 환경이나 여러 서비스를 함께 사용하는 경우에는 Docker를 사용하는 것이 유용하다. 즉, Docker를 사용하면 서비스와 해당 환경을 격리하여, 호스트 시스템에 미치는 영향을 최소화하고, 환경을 쉽게 복제하고 배포할 수 있으며, 관리를 단순화할 수 있다. 이러한 이유로, 우리 프로젝트에서는 Docker 컨테이너로 Nginx를 ..

[인프라 구축] Amazon Lightsail에 가비아 도메인 연결하기

Amazon Lightsail 도메인 설정하기1. Domains & DNS 탭에 접속한다.AWS Lightsail > Domains & DNS 를 클릭한다. 2. Lightsail DNS zone을 생성한다. Amazon Route 53에 새 도메인을 등록하려면 Register domain을 선택하고,다른 곳에 등록된 도메인을 사용하는 경우에는 Create DNS zone을 선택하여 도메인을 등록할 수 있다. 다른 곳에 등록된 도메인을 사용하는 경우, DNS 영역을 생성하여 Lightsail에 추가할 수 있다.가비아에 등록된 도메인을 사용하므로 Create DNS zone 버튼을 클릭한다. 3. Domain configuration 입력한다.Domain sourceUse a domain from anot..

[인프라 구축] 가비아 도메인 구매하기

가비아 사이트에 접속하여 도메인을 구매하기1. 가비아 사이트에 접속한다.https://www.gabia.com   웹을 넘어 클라우드로. 가비아그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브www.gabia.com 2. 원하는 도메인을 입력한다.사용가능한 도메인 목록이 가격과 함께 나타난다. 3. 마음에 드는 도메인을 선택하여 신청한다.우리 프로젝트가 안드로이드 앱이기 때문에 사용자는 도메인을 직접 볼 수 없다.그래서 '오늘의 도메인'에서 할인된 가격의 도메인 중에서 선택하여 구매할 것이다. 4. 도메인 서비스 신청하기서비스 신청을 위한 정보 입력과 선택을 필요로 하는 창이 나온다.서비스 관리 정보추후에 변경가능하기 때문에, 일단 가비아 네임서버 사용을 등록한다.부가서비스 추가무료 서비스동시 신청 가능..

[인프라 구축] MySQL 새로운 계정 만들기

MySQL 새로운 계정 생성하기MySQL 데이터베이스에 접속할 때 root 계정을 사용하는 것은 일반적으로 보안상 권장되지 않는다.MySQL에서 root 계정 대신 사용할 새로운 계정을 생성하는 것은 좋은 보안 관행이다. 1. MySQL에 root 계정으로 로그인하기먼저, root 계정 또는 다른 관리자 권한을 가진 계정으로 MySQL 서버에 로그인한다.mysql -u root -p 사용된 옵션 의미 보기더보기 -u root : 사용자 이름이 root임을 나타낸다.-p : MySQL에 로그인할 때 비밀번호를 입력하라는 프롬프트가 나타나게 한다. 실습ubuntu@ip-000-000-000-000:~$ docker exec -it mysql-server bashbash-5.1# mysql -u root -p..

[인프라 구축] Docker로 MySQL 데이터베이스 구축하기

Docker에 MySQL 컨테이너 띄우기1. Lightsail에서 MySQL을 연결할 서버 포트 열기 2. Docker Hub에서 MySQL Image 다운받기https://hub.docker.com/_/mysql mysql - Official Image | Docker HubQuick reference Supported tags and respective Dockerfile links 8.4.0, 8.4, 8, lts, latest, innovation, 8.4.0-oraclelinux9, 8.4-oraclelinux9, 8-oraclelinux9, lts-oraclelinux9, oraclelinux9, innovation-oraclelinux9, 8.4.0-oracle, 8.4-oracle, 8-o..

[인프라 구축] 현재 사용자에게 Docker 접근 권한 부여하기

현재 사용자에게 도커 접근 권한 주기1. 현재 사용자 Docker 그룹에 추가하기현재 사용자를 Docker 그룹에 추가하여 Docker 소켓에 액세스할 수 있는 권한을 부여한다. 이렇게 하면 sudo를 사용하지 않고도 Docker 명령을 실행할 수 있다.sudo usermod -aG docker $USER 이 명령어는 현재 로그인한 사용자를 docker 그룹에 추가한다.$USER는 현재 로그인한 사용자를 가리킨다.docker 그룹은 Docker 명령어를 실행할 수 있는 권한을 가지고 있다.사용된 옵션 의미 보기더보기sudo : 리눅스나 맥 OS에서 관리자 권한으로 실행할 때 사용하는 명령어usermod : 사용자 계정을 수정하는 명령어-aG docker : 사용자를 "docker" 그룹에 추가하는 옵션$..

728x90
반응형