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..
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:..
https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시뮬레이션 문제 값을 한칸씩 이동시키는 방법은 위의 그림처럼 했다. 왼쪽 ->하단 -> 우측 -> 상단 순서로 한칸씩 값을 이동시켰다. 이동시키면서 min_num 값과 비교해서 최솟값을 갱신해준다. 직사각형이므로, 문제에서 주어지는 좌표값 (x1, y1), (x2, y2) 를 이용해서 직사각형의 테두리를 순회할 수 있다. def solution(rows, columns, queries): answ..
https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 구현 + 브루트포스 + 그래프 탐색 문제였다. N 값이 3 ~ 6 으로 작아서 브루트포스로 장애물을 설치할 3군데를 정해서 풀어도 되는 문제였다. 선생님이 움직이지 않아서 상하좌우 방향으로 세로줄 전체와 가로줄 전체만 확인해주면 되었다. from itertools import combinations import sys input = sys.stdin.readline n = int(inpu..