본문 바로가기

분류 전체보기116

[Ubuntu/AWS] 스토리지 확장 적용 ※ 해당 세팅은 ubuntu 22.04 기준으로 작성된 게시글이다. 아래는 현재 사용중인 서버의 스토리지의 총량과 사용량을 나타내는 명령어이다. # EC2 인스턴스 내 사용 가능 스토리지 확인 # -h 옵션은 사람이 읽기 좋은 단위로 변환 $ df -h AWS에서 초기에 세팅한 스토리지(EBS)의 용량에서 추가로 확장 시켜도 위의 명령어를 통해서 EC2 인스턴스에서 적용이 되지 않은 것을 확인할 수 있다. AWS에서도 스토리지의 설정을 한 후 적용되는 시간이 필요하고, 이후에도 위의 명령어를 이용하여 적용이 되지 않았다면 아래의 절차에 따라서 스토리지 마운트를 하여 이용할 수 있다. AWS의 스토리지에 변화가 있을 때, EC2에서 사용하는 모든 스토리지에 관련이 있고, EC2에 종속된 스토리지의 볼륨의 .. 2023. 6. 29.
[Ubuntu/Linux] 사용자 계정 생성 및 접속 방법 AWS 또는 GCP의 클라우드 서비스에서 EC2나 Cloud Engine(VM)을 이용하여 개발할 때, Ubuntu(또는 CentOs)를 많이 이용한다. 통상적으로 서버에 접속할 때는 CSP(Cloud Service Provider)에서 제공하는 브라우저에서 접속하거나, 비밀 키를 이용하여 Putty나 터미널을 이용하여 root계정에 접속하여 작업을 하는데, 이러한 방식은 번거로우며 비밀 키에 대한 엄격한 관리가 필요하다. # ssh 접속 예시ssh -i [비밀 키] [사용자 계정 이름]@[인스턴스 서버 IP]  이러한 부분에서 사용자 계정을 생성하고 비밀번호를 설정하여 서버에 접속하게 된다면, 비밀키를 관리하는 노력을 줄일 수 있을 것이다. 여러 명의 사용자가 서버에 접속할 필요가 있을 때, 다수의 사.. 2023. 6. 27.
[Network] 도메인 주소 입력 시 데이터 요청 과정 일반적으로 인터넷을 이용할 때, 간편하게 도메인 주소를 이용하여 접속을 하지만, 그 과정에 대하여 잘 알지 못하고 당연하게 이용하였기에 자세히 알아보자는 취지에서 주제를 정하고 조사하게 되었다. 브라우저에 도메인 주소(ex : www.youtube.com)를 입력했을 때 데이터를 요청하고 받아오는데 일어나는 과정은 크게 5가지의 단계로 나누어서 볼 수 있다. 1. 입력한 URL을 기반으로 DNS 검색 (캐싱 조회) 브라우저는 입력한 URL을 DNS 서버에 요청하기 전에 브라우저에 캐싱된 DNS에 일치하는 IP가 있는지 조회를 하고, 존재한다면 그것을 이용하고, 존재하지 않는다면 DNS 서버에 요청을 하게 된다. 2. 인접한 DNS 서버에 DNS query 전달 (DNS 서버 요청 - 반복) ISP(In.. 2023. 6. 25.
[Docker] Dind (Docker in docker) / Dood(Docker out of docker) Jenkins와 같이 CI/CD 툴을 Docker 컨테이너로 이용할 때, 타 WAS의 이미지를 빌드하고 컨테이너로 사용하려고 하면 아래와 같은 고민사항이 있을 것이다. Jenkins 컨테이너 내부에서는 로컬호스트와 격리된 환경이기 때문에 이미지를 빌드할 때 이용될 때에는 어떤 도커를 기반으로 이미지를 생성할지, 컨테이너의 각 환경은 어떻게 외부와 통신을 할 것인지 등의 의문이 들 것이다. 그렇기 때문에 다음과 같은 개념이 생기게 되었다. 1. Dind(Docker in docker) Dind(Docker in docker)는 문자의 의미 그대로 도커 내부에서 로컬 호스트에서 이용하는 도커와는 다른 별도의 도커를 사용한다는 의미이다. 그 예시로 Jenkins 컨테이너에서 도커 이미지를 빌드하려면 도커가 필.. 2023. 6. 24.
[Docker] 볼륨 마운트 / 바인드 마운트 도커에서 이미지를 이용하여 컨테이너를 생성할 때, 기본적으로 컨테이너를 생성하고 난 뒤의 데이터들은 컨테이너가 삭제되면서 같이 삭제된다. 이를 컨테이너와 함께 삭제되지 않도록 로컬 호스트에 위치하도록 하고 싶거나, 컨테이너에 내부에서 사용되는 디렉토리 또는 파일을 로컬 호스트 또는 다른 컨테이너와 동시에 참조할 필요성이 있을 때, 도커에서 제공하는 볼륨 마운트와 바인드 마운트 기능을 이용하면 된다. 1. 볼륨 마운트 볼륨 마운트는 도커 컨테이너에서 사용할 특정 볼륨을 생성한 후 컨테이너를 이용할 때 해당 볼륨과 마운트 하여 이용한다는 것으로 아래 순서를 통해 이용이 가능하다. 1) 볼륨 생성 # 볼륨 생성 $ docker volume create my-volume 1-1) 볼륨 확인 # 볼륨 상세 확인 .. 2023. 6. 21.
[CS] Iterator / Generator 1. Iterator (반복자) 프로그래밍에서는 다양한 타입의 객체가 존재한다. 문자를 나타내는 char, 문자열을 나타내는 string와 정수를 나타내는 integer와 같은 타입과 Array나 List와 같은 다양한 형식을 객체는 가질 수 있는데, 그중에서 Array와 List 같이 각각의 원소를 순회할 수 있는 객체를 Iterable 하다고 칭한다. 이러한 점에서 유추할 수 있는 것처럼 Iterator 또한 크게 다르지 않다. 다음은 Python에서 반복자의 예시이다. Example : # 예제 리스트 a = [1,2,3,4,5] # 예제 리스트의 Iterator 객체 iter_a = iter(a) # 첫 번째 원소 print(next(iter_a)) # 두 번째 원소 print(next(iter_.. 2023. 5. 4.