전체 글

전체 글

    [AWS] AWS 3tier Architecture 구성 5. RDS서버 생성

    RDS서버는 서버 생성 시 EC2인스턴스처럼 주소가 나오는 것이 아닌 도메인 형식의 엔드포인트 주소만 나오게 된다. 이전 단계에서 만든 DB인스턴스에서 RDS서버의 엔드포인트 주소로 연결을 하여 데이터를 관리해야 한다. 1. RDS 생성 인스턴스와 다르게 5~10분 정도 있다가 생성이 된다. RDS 생성 말고도 RDS와 관련된 활동은 대부분 시간이 꽤 걸리는 편이다. 2. 읽기 전용 복제본 생성 데이터가 많아져서 속도가 느려질때 읽기 전용 복제본으로 읽기 속도를 높일 수 있다. rds 생성과정과 동일하므로 굳이 과정을 넣지는 않겠다 3. DB서버에서 MySQL 설치 sudo apt-get update sudo apt install net-tools sudo apt-get install -y mysql-s..

    [AWS] AWS 3tier Architecture 구성 4. 인스턴스 생성

    인스턴스는 A가용영역에 있는 4개의 인스턴스가 필요하다. C가용영역에 있는 인스턴스는 지금 만드는 것이 아닌 오토스케일링으로 만드는 것이다. Bastion - ssh를 이용하여 private subnet에 있는 서버에 접속하기 위한 서버 Web - 웹페이지를 나타내는 서버 Was - 데이터 처리를 담당하는 서버 DB(RDS) - 데이터베이스 서버 아래에 적힌 AMI파일은 필자가 해당 OS로 생성을 했을 때 그 서버에 필요한 패키지 파일의 설치가 수월하게 된 OS이며 타 OS에서도 잘 설치할 수만 있다면 다른 것을 골라도 무관하다. 1. Bastion AMI : Amazon Linux 2023 Instance type : t2.micro(free tier) Key pair : .ppk 파일로 생성(putt..

    [AWS] AWS 3tier Architecture 구성 3. 보안그룹

    보안 그룹은 각 인스턴스에서 접근을 허용할 IP 또는 프로토콜을 제어하는 역할을 한다. 1) 보안그룹 설정(인바운드 규칙) 이름 프로토콜 포트 대상 Bastion SSH 22 0.0.0.0/0 EX-LB HTTP 80 0.0.0.0/0 Web SSH, HTTP 22, 80 Bastion, EX-LB IN-LB 사용자 지정 TCP 8080 Web Was SSH, 사용자 지정 TCP 22, 8080 Bastion, IN-LB DB SSH, MySQL 22, 3306 Bastion, Was 22 : SSH 80 : HTTP 3306 : MySQL 8080 : Tomcat

    [AWS] AWS 3tier Architecture 구성 2. 게이트웨이 & 라우팅 설정

    프라이빗, 퍼블릭 서브넷에서 외부와 통신을 하기 위해서는 Nat, Internet Gateway가 필요하다. Nat Gateway는 프라이빗 서브넷에서 인터넷과 통신이 되게 하는 역할이고 Internet Gateway는 퍼블릭 서브넷에서 인터넷과 통신을 가능하게 해 준다. 1) Internet Gateway 생성 생성 후 VPC에 연결을 해주자 2) Nat Gateway 생성 Nat Gateway를 통해 private subnet에서 인터넷이 되게 하려면 게이트웨이를 public subnet에 생성해야 한다. 인터넷과 통신을 하기 위해서는 공인 IP가 필요하므로 탄력적 IP도 할당해 준다. 3) public 라우팅 테이블 설정 방금 만든 게이트웨이를 라우팅 테이블에 등록하자. public subnet에서..

    [AWS] AWS 3tier Architecture 구성 1. VPC & Subnet

    [VPC] main vpc 172.20.0.0/20 [Subnet] Bastion Public1 172.20.0.0/24 Web Private1 172.20.1.0/24 Was Private1 172.20.2.0/24 DB Private1 172.20.3.0/24 Bastion Public2 172.20.4.0/24 Web Private2 172.20.5.0/24 Was Private2 172.20.6.0/24 DB Private2 172.20.7.0/24 1) VPC 생성 2) Subnet 생성 필자는 리전을 오사카로 했지만 서울리전은 프리티어로 많이 사용하는 t2.micro 인스턴스가 가용영역 a와 c에서만 생성 가능하므로 1번 서브넷은 a로, 2번 서브넷은 c로 하면 된다. 만약 오사카 리전에서 하..

    [AWS] AWS 3tier Architecture 구성

    - 구상도 내가 가지고 있는 AWS인프라 구축 지식들을 다시 한번 정리할 겸 이 블로그에 글을 작성하며 본인 역시 처음에 구축할 때 굉장히 고생했던 경험이 있어 AWS환경에 익숙하지 않은 사람들도 이해하기 쉽게 작성할 것이다. 목차 1. VPC & Subnet 2. 게이트웨이 & 라우팅 설정 3. 보안그룹 4. 인스턴스 생성 5. RDS서버 생성 6. 로드밸런서 생성 7. 오토스케일링

    [파이썬] 리스트 값 무작위로 섞기

    import random list = ['a', 'b', 'c', 'd', 'e', 'f'] print("기본 list목록 : " + str(list)) random.shuffle(list) print("랜덤으로 섞은 list목록 : " + str(list)) //// 기본 list목록 : ['a', 'b', 'c', 'd', 'e', 'f'] 랜덤으로 섞은 list목록 : ['d', 'a', 'e', 'f', 'c', 'b'] 실행 할 때마다 shuffle로 섞은 값이 변한다.

    [파이썬] map 함수 사용 방법과 예시

    map함수란? 여러 개의 데이터를 한 번에 다른 형태로 변환할 때 사용한다. 주로 list, tuple 같은 sequence에 사용된다. 기본 문법 map(함수, sequence) ex) map(int, input().split) #input().split 은 리스트 형태다. 입력받은 값을 전부 정수로 변경 사용 방법 # 2개 이상의 정수값을 입력 받을 때 num1, num2, num3 = map(int, input().split()) print(num1, num2, num3) >> 10, 25, 40 10, 25, 40 # sequence(리스트, 튜플)에 특정 함수를 적용시키고 싶을 때 def multiply(n): return n * n listA = [10, 20, 30, 40, 50, 60, 7..

    [파이썬] TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

    두 개의 정수값을 입력받으려고 input(""). split()으로 문자열을 받고 이 것을 int()로 묶어서 형변환을 시키려 했더니 num, num2 = int(input("").split()) >> 2 10 TypeError: int() argument must be a string, a bytes-like object or a number, not 'list' 타입에러가 발생한다. 해석해 보니 라고 한다. 그 말인즉슨 input("").split()으로 입력한 문자를 나눈 순간 각각의 문자열로 적용되는 것이 아닌 리스트에 담긴다는 의미이다. 해결 방법으로는 2가지가 있는데 첫번째로 문자열로 입력받고 하나씩 형변환 시키는 방법 num, num2 = input("").split() num = int(n..

    [파이썬] print함수 옵션(sep, end, format)

    옵션 1. sep 2. end 3. format 1. sep separate의 줄임말. "각 문자열 사이를 어떻게 구분 할 것인가"를 나타낸다. 기본값은 ' '(띄어쓰기)로 되어있으며 반드시 문자열로 설정하여야 한다. n1 = "Welcome" n2 = "to the" n3 = "Python" n4 = "World" print(n1, n2, n3, n4, sep='@') >>>Welcome@to the@Python@World​ 2. end end 옵션은 그 뒤의 출력값과 이어서 출력한다.(줄바꿈 생략) print("Welcome to ", end="") print("the Python World") >>>Welcome to the Python World 3. format 포맷팅을 활용하여 특정 서식에 따..

반응형