문제오라클 클라우드 인스턴스의 수신 규칙을 설정 했음에도 접속이 불가능한 상황이 발생했다. 원인클라우드의 수신 규칙뿐만 아니라 우분투 리눅스의 방화벽 설정이 존재했다. 해결환경: Oracle Cloud, Ubuntu 24.04 아래 명령어로 방화벽 상태를 조회할 수 있다.sudo iptables -L --line Chain INPUT - target - REJECT가 된 부분을 아래 명령어로 찾아서 제거했다.sudo iptables -D INPUT 6# num이 6이었기 때문에 명령어에 6을 사용함. 그리고 아래 명령어로 방화벽 설정에 포트를 추가했다.sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPTsudo iptables -..
토이 프로젝트를 위해 서버를 여러 대 만들어 사용하다 보니 키페어도 여러 개가 생겼다. id_rsa1, id_rsa2 같은 방식으로 여러 개를 만들어 사용했더니 시간이 지나면서 어느 서버에 접속하는 키인지 잊어버리게 되었다. 다른 사람들은 어떻게 여러 개의 키 페어를 관리하는지 찾아봤다. 키 페어란?보안 목적으로 사용되는 두 개의 암호화 키, 즉 공개 키(public key)와 비밀 키(private key)를 의미합니다.키 페어의 구성 요소는 공개키와 비밀키가 있으며, 공개키는 클라우드 인스턴스에 업로드 되고, 비밀키는 로컬에 안전하게 보관하고, 접근 권한을 제한해야 합니다. 일반적으로 .pem, .key와 같은 확장자를 가진 파일에 저장된다. config 파일에 별명-키로 관리 하기1. ~/.ssh ..
생성 과정 요약 VPC 생성 Subnet 생성 Internet Gateway 연결 생성 및 VPC에 연결 Route Table 생성 외부망에서 사용할 라우팅 테이블 생성 모든 요청이 Internet Gateway를 거치도록 설정 외부망에서 사용할 서브넷 등록 내부망에서 사용할 라우팅 테이블 생성 내부망에서 사용할 서브넷 등록 NAT 게이트웨이 모든 요청이 NAT 게이트웨이를 거치도록 설정 서버 생성 외부망에서 웹 서비스 용도의 EC2 생성 페어 키 생성 Security Group 설정 : 전체 대역 8080번 포트 오픈, 관리망 22번 포트 오픈 내부망에서 데이터베이스 용도의 EC2 생성 Security Group 설정 : 외부망 3306번 포트 오픈, 관리망 22번 포트 오픈 관리망에 베스쳔 서버 용도..
1. 스왑 파일 생성 root 경로(/)에 아래 명령어로 파일을 생성한다. bs는 블록 크기, count는 블록의 수 AWS에서 권장하는 스왑 공간은 RAM 2GB 이하는 RAM 용량의 2배, 128MB X 16 = 2048MB cd / sudo dd if=/dev/zero of=/swapfile bs=128M count=16 2. 스왑 파일에 대한 읽기 및 쓰기 권한을 업데이트 sudo chmod 600 /swapfile 3. 스왑 영역을 설정 sudo mkswap /swapfile 4. 스왑 공간에 스왑 파일을 추가하여 스왑 파일을 즉시 사용할 수 있도록 만든다 sudo swapon /swapfile 5. 절차가 성공했는지 확인 sudo swapon -s 6. /etc/fstab 파일을 편집하여 부팅..
인스턴스를 웹 서버로 사용하기 위해서 웹 서버가 사용할 포트를 개방해야 한다. 1. 컴퓨트 -> 인스턴스 -> 인스턴스 세부정보 -> 인스턴스 정보 탭 -> 기본 VNIC -> 서브넷 클릭 2. 보안 목록 -> 보안 목록 세부정보 -> 수신 규칙 추가 1. 소스 CIDR : 방화벽에서 허용하는 IP 범위. 0.0.0.0/0를 입력하면 모든 IP에서 접속 가능. 2. IP 프로토콜 : TCP 3. 대상 포트 범위 : 개방하고자 하는 포트 입력 참고 https://technfin.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%ED%8F%AC%ED%8A%B8-%EA%B0%9C%EB%B0%A9%ED%95%98..
docker 폴더 생성 mkdir docker cd docker docker 폴더에 "docker-compose.yml"과 ".env" 작성 docker-compose.yml을 git에 push할 경우 비밀번호가 노출되기 때문에 환경 변수로 설정해야 한다. docker-compose는 기본적으로 .env 파일을 환경 변수 파일로 인식된다. .env 파일을 작성하고 .gitignore에 추가한다. services: mariadb: container_name: mariadb image: mariadb:10.8.3 restart: always environment: - MYSQL_ROOT_PASSWORD=${MARIADB_PASSWORD} MARIADB_PASSWORD=mypassword 컨테이너 실행 doc..
오라클 인스턴스 생성 SSH 접속 터미널에서 SSH 접속 ssh ubuntu@[주소] $HOME/.ssh 경로에 private key가 저장되어 있기 때문에 암호를 입력하지 않아도 원격 서버에 접속할 수 있다. 만약 private key가 $HOME/.ssh 경로에 위치하지 않은 경우 ssh -i [private key path] ubuntu@[주소] 참고 https://opentutorials.org/module/432/3742 https://iter.kr/%EC%98%A4%EB%9D%BC%ED%81%B4-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%83%9D%EC%84%B1/
설치 환경 Ubuntu 22.04 LTS 이전 버전 Docker 삭제 sudo apt-get remove docker docker-engine docker.io containerd runc Docker 저장소 설치 Docker Engine을 설치하기 전에 Docker 저장소를 설치해야 Docker를 설치하고 업데이트할 수 있다. 1. apt 패키지를 업데이트 하고 apt가 HTTPS를 통해 저장소를 사용할 수 있도록 패키지를 설치 sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release 2. Docker의 공식 GPG 키 추가 sudo mkdir -p /etc/apt/keyrings curl -fsSL h..
문제 sudo: no tty present and no askpass program specified. 메세지가 나오면서 CI/CD가 안 될 경우 해결 sudo vi /etc/sudoers 명령어로 파일을 열어서 아래 내용을 스크린샷과 같은 위치에 추가한다. gitlab-runner ALL=(ALL) NOPASSWD: ALL E45: 'readonly' option is set (add ! to override) 메세지가 나오면서 저장이 안 될 경우 :w! 명령어로 강제 저장한다. 문제 Job's log exceeded limit of 4194304 bytes. Job execution will continue but no more output will be collected. 위 에러는 gitlab-r..