전체 글

Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
S3 란 ? Simple Storage Service(Amazon S3) 의 줄임말으로, 스토리지의 확장성이 우수하며 데이터의 가용성, 보안 기능을 제공하는 아마존의 스토리지 서비스이다 . S3를 사용하여 Databricks 같은 Data Lake 를 구성할 수도 있으며 웹 어플리케이션의 데이터를 저장할 수 있다. 또한 재해 등을 대비해서 데이터를 백업 하는데 사용될 수도 있다. https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Welcome.html Amazon S3란 무엇인가요? - Amazon Simple Storage Service Amazon S3란 무엇인가요? Amazon Simple Storage Service(Amazon S3)는 업..
IAM이란 ? Identidy and Access Management 의 줄임말으로, AWS 상의 리소스에 대해 권한 설정을 하여 안전하게 리소스에 접근하도록 관리하는 서비스이다. 인턴을 했을 당시에 권한 문제 때문에 한시간 내내 IAM 정책 설정을 붙잡고 시니어 개발자분이랑 늘어졌던 경험이 있는데.. 그만큼 특히 기업체에서 권한 관리는 보안상 중요하다고 느꼈다. AWS에 로그인하는 ID는 루트 사용자라고 하며, 보안상 일반적인 작업에 루트 사용자를 사용하는 것은 위험할 수 있으므로 권한을 그룹 또는 사용자를 생성하여 관리할 수 있다. https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/introduction.html IAM이란 무엇입니까? - AWS Ide..
EC2 인스턴스에 접속하는 방법은 총 3가지가 있다. 1. AWS 웹페이지에서 CLI 사용하기 2. ssh 원격접속하기 3. (Window의 경우) PuTTY를 사용하여 원격 접속하기 AWS 웹 페이지에서 제공하는 방식 EC2 인스턴스 대시보드 페이지에 접속한다. 실행 중인 인스턴스를 선택하고, 상단의 연결 버튼을 누른다. EC2 인스턴스 연결을 선택하고 연결 버튼을 누른다. 웹페이지에서 바로 CLI를 사용할 수 있다. ssh 원격 접속하기 원격 접속을 위해서는 인스턴스 생성할 때 사용했던 key 파일이 필요하다. user 사용자 read only 만 가능하게 권한을 변경했다. user@cccr03-350XCJ-350XCR:~$ chmod 400 minjee_key.pem user@cccr03-350XC..
인스턴스란 EC2에서 사용하는 가상화 서버이다. 인스턴스는 1개에서 수천개로 확장할 수 있으며, 모든 region에서 사용할 수 있다. 또한 EC2 인스턴스에서 사용하는 블록기반 스토리지를 EBS(Elastic Block Storage)라고 한다. 인스턴스 시작하기 인스턴스 시작을 누르면 새로운 인스턴스를 생성할 수 있다. 인스턴스 이름을 정한다. AMI 이미지 선택하기 사용할 OS 이미지를 선택할 수 있다. AMI란, Amazon Machine Image로 EC2 인스턴스를 만들 때 사용하는 이미지 파일이다. 기존에 있는 이미지 파일도 사용할 수 있으며, 직접 커스텀한 AMI 이미지 파일도 사용할 수 있다. 나의 경우 Amazon Linux로 프리티어 사용할 수 있는 것으로 설정했다. 네트워크 설정 다..
Ansible에서는 템플릿 언어로 jinja2 를 사용한다. jinja2는 python의 템플릿 언어이며, 동적 데이터를 생성하는 데 사용하다. 주로, 복수의 마크업과 소스코드를 생성하는데 사용 {{ Python Code 또는 변수 참조 }} {% %} 제어 문 {# #} 주석처리 template: 이라고 추가하고, 템플릿 구성 파일인 jinja2 파일을 src 에 추가할 수 있다. 생성되는 템플릿 파일의 위치를 dest에 지정할 수 있다. - hosts: ansi-node1 vars: date: 2023-03-07 tasks: - template: src: temp_dir/template1.j2 dest: /tmp/template_test template1.j2 파일 내용 {{ date }} {# lo..
·Algorithm (PS)
https://www.acmicpc.net/problem/2170 2170번: 선 긋기 첫째 줄에 선을 그은 횟수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y (-1,000,000,000 ≤ x < y ≤ 1,000,000,000)가 주어진다. www.acmicpc.net i ) 선형적으로 문제를 풀어야 하니까 정렬 , 투포인터 , .. 등등을 떠올리게 되었다. ii ) 문제를 그려서 이해해보았다. 한 선분을 기준으로, start와 end 가 선분의 양 끝점이라고 한다. 이 경우 새로운 두 개의 점이 주어졌을 때 위의 그림과 같이 두가지 경우로 나뉘게 된다. 합쳐지거나, 합쳐지지 못하거나 두가지이다. 주어지는 (x, y) 에 대해 오..
Handler (핸들러) 작업을 실행 후 작업에 대한 변경이 있으며, notify 를 설정한 경우에만 핸들러가 실행된다. 핸들러는 notify: 로 설정한다. Ansible 공식 문서의 예제는 다음과 같다. --- - name: Verify apache installation hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: Ensure apache is at the latest version ansible.builtin.yum: name: httpd state: latest - name: Write the apache config file ansible.builtin.template: src: /..
Ansbile 의 플레이북 파일을 작성할 때 조건문으로 작업을 제어할 수 있다. Ansbile에서는 when 이라는 키워드를 사용하여 조건을 걸 수 있다. 또한 비교연산자 및 키워드를 이용하여 값을 비교할 수 있다. 해당 조건문이 참이면 작업을 실행하고, 거짓이면 실행하지 않는다. 키워드 부호 의미 lt = greater or equal e =, == equal ne != not equal 1. 문자열 검사하기 해당 문자열과 일치하는지 / 포함되어 있는지 확인한다. match("PATTERN") : 패턴과 전체 문자열이 일치하는지 확인한다. Bool 값을 리턴한다. search("PATTERN") : 패턴이 문자열에 있는지 확인한다. Bool 값을 리턴한다. - hosts: ansi-node1 vars:..
minjiwoo
minji's engineering note