본문 바로가기
반응형

분류 전체보기712

[Docker] 다중 아키텍처 빌드를 위한 buildx buildx는 하나의 이미지로 다양한 아키텍처(arm,amd 같은) 를 사용할수 있게 빌드하는 방식 docker build: 기본적인 Docker 이미지 빌드 명령어입니다. 단일 아키텍처 이미지를 빌드하는 데 주로 사용됩니다. 기본적으로 로컬 Docker 엔진에 의해 실행됩니다. 다중 아키텍처를 지원하지 않습니다. docker buildx: Docker BuildKit을 사용하여 Docker 이미지를 빌드하는 확장된 도구입니다. 다중 아키텍처 이미지를 빌드하고 관리할 수 있습니다. 로컬 Docker 엔진 뿐만 아니라 원격 Docker 엔진 및 다른 빌드 환경과 통합할 수 있습니다. 다양한 빌드 환경과 통합하여 복잡한 빌드 프로세스를 관리할 수 있습니다. 참고 https://github.com/docker.. 2024. 2. 22.
우분투 E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 에러 os 시간 설정이 안맞은 상태에서 update 진행하니 안되서 시간 수정후 다시 진행하니 다음과 같은 에러가 발생 Reading package lists... Done E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 5559 (unattended-upgr) N: Be aware that removing the lock file is not a solution and may break your system. E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 해결방법은 다음과 같다. sudo .. 2024. 2. 7.
[길벗 리뷰] 로버트 나이스트롬의 인터프리터 in Java, C 내가 예전에 학부 시절 공부할때 언어라곤 C언어, JAVA만 배웠었다... 물론 주로 JAVA를 주로 사용하긴하지만 간단하게 작성할 수 있으면서 머신러닝에 정말 좋은 python, 웹개발하는데 거의 다쓰이는 javascript, 간결하고 굉장히 빠른 GO, 더빠른 Ruby 등 굉장히 많은 언어를 알게 되었다. 프로그래밍을 하면서 이러한 언어를 만들기 위해서는 도대체 어떤 지식이 필요하며 어떻게 만들어질까 하는 호기심은 있었으나 이러한 호기심을 해결하기위해서는 엄청난 지식과 시간이 필요할것 같아 생각을 그만두게 되었다. 그 중 인터프리터(python, ruby, javascript..)를 구성해볼 수 있다는 책이 있어 한번쯤은 소장하고 읽어보고 싶었다. 이 책을 선택해야 하는 이유! 딱딱하지 않은 구성 여.. 2024. 2. 5.
[Terraform] aws eip 에러: Can't configure a value for "domain" terraform으로 eip생성하려고 공식문서에서 다음과 같이 입력하고 생성하였습니다. resource "aws_eip" "lb" { instance = aws_instance.web.id domain = "vpc" } 자동으로 이 값이 입력된다는 내용이네요 뭔가 싶어서 찾아보았습니다. (삭제하면 동작합니다.) vpc로 할당한다는 내용 이때까지만 해도 뭔 새로운 기능이 생겼나 싶었네요. https://awscli.amazonaws.com/v2/documentation/api/2.1.29/reference/ec2/allocate-address.html aws cli aws eip에 다음과 같이 할당하는 내용이 있어서 보았는데 EC2-classic 이라는 옵션이 따로 있더군요. 생각해보니 예전에 ec2가 업.. 2024. 1. 30.
[우분투] mariadb root로 접속하기 목차 증상 sudo mysql_secure_installation로 root 비밀번호 설정후 외부에서 mariadb에 접속하려고하는데 접속이 되지 않는다. 호스트 ip 가 나오며 허가 되지 않았다고 나온다. Host '192.168.0.X' is not allowed to connect to this MariaDB server 해결방법 /etc/mysql/mariadb.conf.d/50-server.cnf 에 보면 bind-address가 127.0.0.1 로 되어 있을것이다. 다은과 같이 수정한다. bind-address = 0.0.0.0 그래도 안되는데 sql에 접근한뒤에 다음과 같이 수정한다. SELECT Host FROM mysql.user WHERE User='root'; UPDATE mysql.. 2024. 1. 30.
curl은 되는데 브라우저 접속 안되는 경우- ERR_UNSAFE_PORT 톰캣을 다른 포트로 띄웠는데 브라우저에서 접속이 되질않는다. 혹시나 해서 curl로 확인해보니 같은서버에서 접속이 잘되었다. 브라우저문제같아 자세히 보니 ERR_UNSAFE_PORT라는 에러가 눈에 보였다. 브라우저에서는 허가되지 않은 포트는 접근불가하므로 설정을 해줘야 한다. 해결방법 크롬 아이콘 오른쪽 클릭후 속성을 클릭한다. 대상에 다음과 같이 입력한다. --explicitly-allowed-ports=원하는포트 당연한거지만 옵션 줄때 한칸 띄워줘야한다. 접속이 잘되는것을 확인할 수 있다. 2024. 1. 30.
Docker 로그 관리 목차 서론 docker를 설치한뒤 로그가 많이 생기는 컨테이너가 있다. docker의 /var/lib/docker/containers 경로를 보면 생성한 컨테이너에 로그를 보면 보통은 별로 안쌓이는데 큰 여러가지 많은 것이 설치된 컨테이너의 경우는 로그의 용량이 순식간에 늘어난다. logrotate로 관리하면 될것 같은데 docker인데 docker 만의 로그 관리 기법이 있어서 포스팅한다. 관리 방법 /etc/docker/폴더에 들어가서 daemon.json파일을 생성하여 다음과 같은 양식으로 만들어 준다. { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "5" } } 형식과 파일 사이즈와 파일 갯수로 설정하면 됩니다... 2024. 1. 22.
mTLS란? 개념 동작 장점 단점 목차 mTLS란? mTLS (Mutual Transport Layer Security)는 양방향 TLS(Transport Layer Security)를 의미합니다. TLS는 일반적으로 서버와 클라이언트 간의 통신을 암호화하여 보호하는 데 사용되지만, mTLS는 양쪽 모두가 상호적으로 인증되는 보안 계층을 제공합니다. 한마디로 TLS가 클라이언트만 인증서를 확인했다면 mTLS는 서버 및 클라이언트 둘다 인증한다고 보시면 됩니다. 특징 서버 간의 상호 인증: mTLS를 사용하면 클라이언트와 서버 간의 양방향 인증이 이루어지므로 서버 간의 통신에도 상호 인증이 가능합니다. 이는 서버끼리 안전한 통신을 수행하고 각 서버의 신원을 확인할 수 있도록 합니다. TLS에서는 클라이언트와 서버 간의 상호 인증만이 주로 .. 2024. 1. 18.
aws trust store mTLS 활용하기 위한 서비스인 AWS trust store가 loadbalancer에 생겼습니다. 만드는것은 S3에 CA올리고 만들면된다. 활용은 ALB에서 합니다. https://aws.amazon.com/ko/blogs/korea/mutual-authentication-for-application-load-balancer-to-reliably-verify-certificate-based-client-identities/ Application Load Balancer 상호 인증 기능 – 인증서 기반 클라이언트 ID 인증 가능 | Amazon Web Services 오늘 AWS는 Application Load Balancer에 X509 인증서를 제공하는 상호 인증 클라이언트에 대한 지원 기능을 발표합니.. 2024. 1. 18.
linux iptables 설정 목차 최근 외부 서비스를 통하여 방화벽 설정을 많이 하게 되는데 이유는 다음과 같다. 1. 편의성 2. 외부 접근시 보안 편의성에서는 외부에서 ssh 접근을 안하고 웹상으로 그래픽 UI로 편리하게 할수 있다는 점. 보안상 안좋을 수 있는데 iptables의 경우 무조건 root 권한으로 설정을 해야한다. 외부에서 방화벽을 설정한다고 하면 root 접근이 외부에서 가능하다는 것인데 이것이 문제가 될수 있다. 하지만 내부에서 사용하는 경우 보안적으로 더 좋으므로 사용하는경우가 있으므로 해보자! 설치 sudo apt-get update sudo apt-get install iptables 명령어 옵션 -A: 새로운 규칙을 추가합니다. -D: 기존의 규칙을 삭제합니다. -R: 새로운 규칙으로 대체합니다. -P:.. 2024. 1. 15.
운영체제(os)와 커널(kernel)의 차이 커널 (Kernel): 정의: 커널은 운영체제의 핵심 부분으로, 하드웨어와 소프트웨어 간의 인터페이스를 담당합니다. 이는 하드웨어 자원(프로세서, 메모리, 입출력 장치 등)을 관리하고 프로세스 간의 통신, 입출력 동작, 보안, 예외 처리 등을 담당합니다. 역할: 주로 하드웨어와 소프트웨어 간의 중재자로서 동작하며, 시스템의 핵심 기능을 제공합니다. 커널은 컴퓨터의 기본 동작을 지원하고 다른 소프트웨어와 상호작용할 수 있도록 합니다. 운영체제 (Operating System): 정의: 운영체제는 하드웨어와 사용자 간의 인터페이스를 제공하고, 시스템 자원을 효율적으로 관리하여 컴퓨터 시스템을 운영하는 소프트웨어입니다. 운영체제는 커널과 여러 시스템 유틸리티 및 사용자 인터페이스로 구성됩니다. 역할: 사용자가.. 2024. 1. 15.
Redis chache policy - 캐시 전략 내부 및 아키텍처 목차 Redis Cache( key eviction ) Redis를 캐시로 사용하는 경우 새 데이터를 추가할 때 이전 데이터를 자동으로 제거하도록 하는 것이 편리한 경우가 많습니다. 이 동작은 널리 사용되는 memcached 시스템 의 기본 동작이므로 개발자 커뮤니티에서 잘 알려져 있습니다 . Maxmemory구성 지시어 redis.conf 에 100MB의 메모리 제한을 구성하려면 파일 내에서 다음 지시어를 사용할 수 있습니다 maxmemory 100mb 0으로 설정하면 maxmemory메모리 제한이 없습니다. 이는 64비트 시스템의 기본 동작이지만 32비트 시스템은 3GB의 암시적 메모리 제한을 사용합니다. 지정된 메모리 양에 도달하면 제거 정책 구성 방법에 따라 기본 동작이 결정됩니다. Redis는 .. 2024. 1. 15.
반응형