본문 바로가기

Infra

(72)
[AWS] Multiplatform Docker image를 빌드하는 법 저번에 docker buildx로 멀티플랫폼 이미지를 빌드했었다. 근데, 그거를 오늘 했는데 너무 오래걸렸다. 그래서 조금 방법을 바꿨다. 우선, 리눅스의 플랫폼을 보려면, docker version으로 확인해보면된다 아래와 같이 나오는 곳에서 확인해보면 된다. server: Engine: Version: 20.10.21 API version: 1.41 (minimum version 1.12) Go version: go1.18.1 Git commit: 20.10.21-0ubuntu1~22.04.3 Built: Thu Apr 27 05:37:25 2023 OS/Arch: linux/amd64 Experimental: false 멀티 플랫폼 이미지 빌드 docker build --platform linux/..
[AWS] EC2에 RDS 세팅하기 데이터베이스 생성은 생각보다 쉽다. 아래 사항만 기억하면된다. 1. 손쉬운 생성 2. 프리티어(프로덕션이나, 개발인 경우 과금 청구) 3. EC2연결 설정 (아닌경우는 무시해도됨) 3번을 체크하지않고, 직접 할수도 있긴하다. 저 작업은 VPC와 보안그룹에 대한 것만 자동생성해서, Ec2에서 디비에 대한 인바운드 규칙만 추가해주는 것이다. 실제로도 aws에서도 아래와 같이 설명해주고 있다. *이 데이터베이스의 컴퓨팅 리소스로 추가할 EC2 인스턴스를 선택합니다. VPC 보안 그룹이 이 EC2 인스턴스에 추가됩니다. VPC 보안 그룹은 EC2 인스턴스가 데이터베이스에 액세스하도록 허용하는 인바운드 규칙과 함께 데이터베이스에 추가됩니다. 일단. 체크하고 생성하고 변경된 정책에 대한 확인을 해보자 못보던 보안 ..
[AWS] EC2환경에 테스트 앱 배포하기 테스트 앱을 만든다. 그냥 아래와 같이 컨트롤러를 만들고 package com.inna.innabackend.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MemberController { @GetMapping("/getMemberInfo") public String test(){ return "test!"; } } gradle task 로 빌드해서, jar파일을 생성해준다. > gradlew build docker file을 생성한다. FROM openjdk:1..
[AWS] 방화벽 open 및 도커 포트 바인딩 1) AWS 인바운드 규칙 생성 및 0.0.0.0/0 허용하기 2) docker run 시 port 바인딩 (80 포트를 8080포트로 포워딩) docker run -itd -p 80:8080 dbtjdwocjswo/inna-server:0.0.1 이렇게 하면, 정상적으로 외부에서 내가 만든 ec2로 서비스 호출이 가능하다.
[AWS] Docker image 생성 및 배포 Mac에서 Dockerfile로 이미지 빌드 및 푸쉬하고, AWS EC2에서 이미지를 빌드 및 실행 하면 에러가 난다. exec /usr/bin/java: exec format error 이유는 OS가 달라서 인데, 해결방법으로는 멀티 플랫폼화 이미지로 빌드하는 방법이다. 1) 멀티 플랫폼 이미지 빌더 생성 (이름 inna) docker buildx create --name inna --use 2) 빌더 목록 확인 docker buildx ls 3) 빌더를 통해, 멀티 플랫폼 이미지 빌드 및 repository 푸시 docker buildx build --platform=linux/amd64,linux/arm64 --push -t dbtjdwocjswo/inna-server:0.0.1 -f ./Docke..
[AWS] EC2에 Docker 설정 1. 패키지 업데이트 > sudo apt update -y 2.Docker 설치 > sudo apt install docker -y > sudo apt install docker.io 3.Docker 확인 > docker -v 4. Docker start > sudo service docker start 5. Docker status 확인 > service docker status > sudo docker ps 6. sudo 안치고도 docker 사용가능하게 Docker 그룹에, sudo 추가 sudo usermod -aG docker ubuntu 7.docker hub login docker login 8.docker-compose 설치 sudo apt install docker-compose 9.스크..
[AWS] EC2생성 및 세팅 정리 (host로 쉽게 접근) 기존에 썼던 게시물이 개판이라, 좀 다시 보니까 모르겠어서, 까르끔하게 정리를 해보자 1. Region 서울로 변경 2. EC2 검색 후 들어감 3. 인스턴스 시작 4. 인스턴스 상세 유형 선택(주의, 프리티어 표기된 애들만 선택) + 스토리지 프리티어 최대는 30G니까 변경 필요 인스턴스 시작 하면, 이제 인스턴스가 시작됨을 확인 가능 5. Pem파일 기반 ec2접속 세팅 5-1) pem키를 ~/.ssh/하위 폴더로 복사 > cp inna-server.pem ~/.ssh/ 5-2) 권한 수정 > chmod 600 ~/.ssh/inna-server.pem 5-3) hostName추가 > vi ~/.ssh/config 5-4) config 내용 추가 Host inna-server User ubuntu Ho..
[Docker] 라이프 사이클 실습 기초적인 내용이지만, 한번 정리하면서 해보자..(옛날 생각도 하면서ㅎㅎ) 1. docker image pull docker pull nginx 2. docker container create docker create -p 80:80 --name nx nginx 3. docker ps -a 생성된 docker container 확인(나는 마리아디비했음) 4. docker start 생성된 컨테이너를 시작 5. docker stop 컨테이너를 멈춤 6. docker rm 컨테이너 삭제 7. docker rmi 도커 이미지 삭제 8. docker restart docker 컨테이너 재시작