분류 전체보기 1175

EC2/ELB 연결 시 등록 SG 규칙

개요 AWS는 현재 3가지 타입의 ELB를 서비스하고 있다. 이 글에서는 ALB, NLB의 간단한 특징과 EC2 간의 연결 시 등록해야 하는 SG 규칙에 대해 정리한다. 타입 중 하나인 Classic load balancer는 잘 사용하지 않는 추세라 생략한다. ALB (Application load balancer) HTTP/HTTPS 프로토콜을 사용한다. 다른 자원과 통신하기 위해서는 EC2나 RDS와 같이 ALB에 Security Group을 적용해야 한다. IPv4 주소는 LB가 위치한 서브넷의 주소 범위 내의 임의 주소로 변경된다. -> IPv4를 기반으로 방화벽을 설정해야 하는 경우, LB의 현재 IPv4 주소가 아닌 해당 LB가 위치한 서브넷의 네트워크 주소로 방화벽을 해제해야 한다. hea..

AWS 2021.11.17

namespace 목록 확인 / 특정 namespace 지정하여 명령어 실행

namespace란 쿠버네티스에서 지원하는 가상 클러스터를 말한다. 이 글에서는 클러스터 내 네임스페이스의 목록을 확인하는 명령어, get 또는 run 명령 실행 시 namespace를 지정하는 방법에 대해 다룬다. 네임스페이스 목록 확인 kubectl get namespaces 실행 결과 특정 네임스페이스의 포드 목록 확인 get 명령에 --namespace 옵션을 설정하여 특정 네임스페이스의 자원을 확인할 수 있다. 값이 없을 때에는 기본값인 default 네임스페이스의 자원을 확인한다. kubectl get pods --namespace= # 예시 kubectl get pods --namespace=research 실행 결과 특정 네임스페이스에 포드 생성 get 명령과 동일하게 --namespace..

deployment 확인 및 생성 명령어

deployment 목록 확인 kubectl get deployments.apps 실행 결과 deployment 상세 정보 조회 deployment의 이름, 네임스페이스, replicas 수, 컨테이너 사용 이미지 등의 상세 정보를 확인한다. kubectl describe deployments.apps # 예시 kubectl describe deployments.apps frontend-deployment 실행 결과 yaml 파일을 이용한 생성 kubectl create -f # 예시 kubectl create -f deployment-definition-1.yaml yaml 파일 예시 apiVersion: apps/v1 kind: Deployment metadata: name: deployment-1 ..

replicaset 관련 명령어

replicaset 관련 기본 명령어를 정리해둔다. replicaset 목록 확인 kubectl get replicasets.apps 실행 결과 replicaset 상세 정보 조회 kubectl describe replicasets.apps # 예시 kubectl describe replicasets.apps new-replica-set 실행 결과 yaml 파일을 사용한 생성 kubectl create -f replicaset-definition-1.yaml yaml 파일 예시 apiVersion: apps/v1 kind: ReplicaSet metadata: name: replicaset-1 spec: replicas: 2 selector: matchLabels: tier: frontend templa..

[Selenium] 명시적 대기 (Explicit Wait)

2021.11.09 - [Selenium] 암시적 대기(Implicit Wait) 위 글에서는 Selenium의 대기 방식 중 웹 페이지가 모두 로딩될 때까지 기다리는 암시적 대기 방식에 대해 다뤘다. 이 글에서는 Selenium의 대기 방식 중, 명시적 대기 방식에 대해 다룬다. 명시적 대기 (Explicit Wait) 지정한 요소가 웹 페이지 내에서 지정한 조건을 만족할 때까지 기다린다. 필요성 Ajax를 이용해 동적 변경이 발생하는 웹 페이지인 경우 Web Elemnet가 나타날 때까지 시간이 걸릴 수 있는데, Web Element가 나타나기 전에 참조하고자 하면 오류가 발생할 수 있으므로 대기하는 시간이 필요하다. 암시적 대기는 웹 페이지 전체가 로딩될 때까지 기다리는 반면 명시적 대기는 특정 요..

Python 2021.11.13

포드 관련 명령어

쿠버네티스 포드 정보를 확인하거나 생성, 수정, 삭제하는 명령어를 정리해둔다. 포드 목록 조회 포드의 이름, 상태, 동작 컨테이너 수 등의 정보를 확인할 수 있다. kubectl get pods # 상세 정보 포함 kubectl get pods -o wide 포드 상세 정보 확인 지정 포드의 이름, 네임스페이스, 노드, 상태, IP, 컨테이너 등의 상세 정보를 확인할 수 있다. kubectl describe pods 포드 생성 컨테이너를 실행할 새로운 포드를 생성한다. 컨테이너에서 사용할 이미지를 지정해야 한다. kubectl run --image= # --dry-run=client : 실제 수행은 하지 않고, 실행한 결과만을 출력함 # --labels== : 포드 레이블 지정 # --port NUM :..

[BOJ] 9506 - 약수들의 합

문제 https://www.acmicpc.net/problem/9506 어떤 숫자 n이 자신을 제외한 약수의 합과 같으면, 그 수를 완전수라고 한다. ex) 6 = 1 + 2 + 3 n이 완전수인지 아닌지 판단하는 프로그램을 작성하라. 각 줄로 숫자 n을 받고, -1을 입력으로 받으면 프로그램을 종료한다. n이 완전수이면 예시와 같은 형태(6 = 1 + 2 + 3)로 출력하고, 완전수가 아니면 "n is NOT perfect."를 출력한다. 풀이 n을 제외한 약수를 배열에 저장한 뒤, 그 합과 n을 비교한다. import sys while True: n = int(sys.stdin.readline()) # 입력 if n == -1: # 프로그램 종료 break # 약수 구하기 f = [] d = 1 wh..

Algorithm/백준 2021.11.11

자릿수를 맞춰 숫자 출력 - zfill, rjust

2021.11.03 - [format] 자릿수를 맞춘 숫자 출력 이전 글에 이어, format 함수 외에 사용할 수 있는 자릿수를 맞춘 숫자 출력 방법에 대해 적는다. zfill() 문자열 앞을 0으로 채운다. 코드 n = 32 print(str(n).zfill(5)) 실행 결과 숫자형 데이터인 경우 string으로 형변환이 필요하며, 매개변수의 값이 반환하는 문자열의 길이다. rjust(n, s) 문자열을 오른쪽으로 정렬하여 반환한다. 첫번째 매개변수는 반환하는 문자열의 길이에 해당하며, 두번째 매개변수는 공백을 채우는 문자에 해댕한다. 코드 n = 32 print(str(n).rjust(5, '0')) 실행 결과

Python 2021.11.10

[Selenium] 암시적 대기(Implicit Wait)

암시적 대기(Implicit Wait) Driver 객체가 get(url)로 요청한 페이지의 내용이 모두 로딩을 완료할 때까지 암묵적으로 대기한다. 필요성 Python으로 Selenium을 조작할 때 Python은 Selenium으로 신호를 보내고, Selenium은 웹 브라우저로 신호를 보낸다. 웹 브라우저는 접속하고자 하는 서버에 웹 페이지를 보여달라는 신호를 보내고, 서버는 HTML, CSS, Javascript 등으로 구성된 웹 페이지를 웹 브라우저로 보낸다. 그리고 웹 브라우저는 전달받은 정보를 화면으로 변환해서 눈으로 보여준다. 이 과정에는 시간이 필요하다. Selenium은 실제로 웹 브라우저를 동작시키기 때문에 driver.get()으로 URL을 호출하자마자, 접속하고자 하는 서버로부터 데..

Python 2021.11.09

[MySQL/MariaDB] 프로세스 목록 확인

현재 실행 중인 작업을 확인하는 방법에 대해 적어둔다. Query SHOW PROCESSLIST; SHOW FULL PROCESSLIST; FULL 키워드 없이 사용하면, Info 필드 값이 100자로 제한된다. 또는 아래 쿼리로도 검색할 수 있다. SELECT * FROM information_schema.processlist ORDER BY id; # Command = Sleep 인 경우 제외 SELECT * FROM information_schema.processlist WHERE command != 'Sleep'; 실행 결과 필드 의미 필드 의미 Id Connection Identifier. 연결 아이디. User 명령을 실행한 MySQL 사용자 Host 명령을 실행한 클라이언트의 호스트 이름. ..

Database 2021.11.08