전체 글

전체 글

    [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 포맷팅을 활용하여 특정 서식에 따..

    [파이썬] TypeError : unsupported operand type(s) for

    n = int(input("입력: ")) for cnt in range(n): max += cnt print(max) /// TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int' 서로 연산이 불가능한 타입끼리 연산을 시도할 때 나타나는 에러. max+=cnt 부분을 보면 cnt변수는 int형이지만 max변수는 builtin_function_or_method 라는 타입이다. 반복문 들어가기 전에 max=0이라 적어서 int형으로 만들어주면 해결된다.

반응형