일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- JVM
- AWS
- db
- MySQL
- IntelliJ
- tool
- 맛집
- redis
- php
- linux
- ubuntu
- Oracle
- 요리
- jsp
- Gradle
- devops
- java
- Spring Batch
- laravel
- elasticsearch
- Spring
- javascript
- ReactJS
- springboot
- Spring Boot
- Design Patterns
- Web Server
- Git
- it
- jenkins
- Today
- Total
아무거나
서비스는 유동적이다. 그러므로 예측하지 못한 순간에 시스템이 폭주하는 경우가 있으며 준비가 되어있지 않은 경우 최악의 상황이 다가온다. 또한 이것들을 예방하기 위하여 평소에 충분한 대책을 마련하기엔 비용적 여유가 없다. 이런 상황에서 사용하는 서비스는 EC2와 ELB이다. EC2로 인스턴스를 쉽게 생성하고, 이것을 ELB로 묶어서 서비스를 유저에게 제공할 수 있다. Auto Scaling - 정책에 따라서 시스템을 자동으로 늘리고 줄여주는 서비스라고 한다.ex) CPU 사용률이 90%를 넘으면 미리 준비된 AMIs를 이용하여 인스턴스를 생성하고 ELB에 연동하여 트래픽을 새로 생성한 EC2 인스턴스에 분산하고 CPU 사용률이 감소하면 EC2 인스턴스가 순차적으로 제거 되므로 비용을 줄일 수 있다. 1. ..
ELB ( Elastic Load Balancing ) - 시스템에 가해지는 부하를 여러대의 시스템으로 분산처리하여 규모가 큰 시스템을 만들 수 있도록 해주는 진입점. * 부하분산 ( 확장 시나리오 부하분산 Scale Out )로드밸런서 - 트래픽이 도달했을때 하나의 단일 진입점이 여러대의 컴퓨터들에게 트래픽을 분산해서 각각의 컴퓨터들이 트래픽을 처리하게 해주는 교차료 역할을 해주는 것 특징- 트래픽 분산- 자동 확장- 인스턴스의 상태를 자동 감지해서 오류 확인 후 오류가 있는 시스템을 배제한다.- 사용자 세션을 특정 인스턴스에 고정- SSL 암호화 지원- SSL의 경유지로 ELB를 사용하는 경우에 SSL 처리에 따른 부하를 ELB가 수용함- IPv4, IPv6 지원- CloudWatch로 모니터링을 할..
AMIs ( Amazon Machine Images ) - EC2 인스턴스를 그대로 저장하여 재사용 하기 쉽도록 만든 것 - private : 자기만 사용할 수 있도록 하는 이미지- public : 다른사람들도 사용할 수 있도록 공개한 이미지- Marketplace : 일종의 앱스토어나 플레이스토어 같은 개념으로 이미지를 판매하거나 구매할 수 있는 마켓이다. 1. EC2 인스턴스를 이미지로 생성 (1) 인스턴스를 오른쪽 클릭하고 Image -> Create Image를 클릭하면 이미지 생성 팝업창이 뜬다. - 입력창에 각각 필요한 내용을 입력 후 Create Image를 클릭한다. (2) 좌측 메뉴에 IMAGES -> AMIs를 클릭하면 아래 그림과 같은 생성된 이미지가 표시된다. (3) 생성 / 복..
EBS란 쉽게 말해서 하드라고 생각하면 된다. 1. EBS의 특징을 알아보자. - 필요한 용량에 맞게 구입이 가능하다. ( ex - EC2 인스턴스를 웹서버 용도로만 사용하고 파일 저장은 S3 를 사용하면 넉넉 잡아 1GB만 구입하면 된다. ) - 필요에 따라서 즉시 생성 / 제거 할 수 있다. - 이용요금은 종량제 (비용예측은 https://aws.amazon.com/ko/ebs/ 참고 ) 이다. - 스냅샷 기능으로 EBS의 현재 상태 그대로를 보존 할 수 있다. - CloudWatch를 통하여 EBS의 통계를 열람 가능 - EC2 인스턴스와 EBS는 독립적이므로 둘중 어느 하나를 삭제해도 삭제안한것은 유지된다. 2. Volume - EBS로 생성한 디스크 하나를 Volume으로 표현 3. EBS 생성..
1. SSH로 EC2 인스턴스에 접속한다. 2. 터미널에 아래와 같이 명령어를 입력한다.1sudo apt-get update 2sudo apt-get install apache2 // Do you want to continue? Y 입력 3. 웹 서비스를 하려면 방화벽의 설정을 변경해야 한다. 인스턴스의 Security Group에 방화벽을 설정해 주어야 한다. ( inbound 제어 즉, 방화벽 허용을 해야 클라이언트에서 접근이 가능 ) 4. 웹브라우저를 열고 주소 표시창에 인스턴스의 public dns를 입력하면 아래와 같은 화면이 보인다.
EC2 인스턴스에 접속 할 때는 SSH 라는 방법을 이용하는데, SSH란(Secure Shell) 간단히 설명하자면 우리가 별 생각없이 쓰고 있는 전통적인 ftp, pop, telnet과 은 서비스들은 익히 알려진대로 메시지들이 암호화 되지 않은 방식이므로 스니핑과 같은 해킹 기법에 의해 암호가 노출될 수 있다. SSH는 이러한 서비스들이 보안에 아주 취약한 점을 대체하기 위하여 나온 원격 로그인 프로그램이다. 1. 접속할 인스턴스를 오른쪽 클릭하고 Connect를 클릭한다. 2. WINDOWS환경에서 SSH로 연결할 경우 # A standalone SSH client : SSH Client를 이용하여 컴퓨터를 제어 # A Java SSH Client directly from my browser ( Ja..
instance 생성instance : 인스턴스란 하나의 컴퓨터를 뜻한다.1. 인스턴스를 선택한다. 2. Launch Instance 클릭한다. 3. Free tier only를 눌러 무료인 OS를 확인하고 선택하고자 하는 OS를 선택한다. ( 우분투 기준으로 선택하겠음 ) 4. 빨간 테두리로 되어있는 부분을 선택 ( 무료로 제공되는 인스턴스 타입(= micro instances) ) # Filter by에 대한 설명 - Compute optimized ( CPU ) - Memory optimized ( 메모리 ) - Storage optimized ( 대용량 ) * 하위로 갈수록 성능이 좋은 인스턴스가 나열된다. 선택을 다하면 오른쪽 하단에 NEXT를 클릭한다. 5. Step 3: Configure..
Elastic Compute Cloud의 약자로 EC2라고 한다.간단히 생각하면 한대의 컴퓨터를 빌려주는 것이라 생각하면 된다. 이렇게 빌린 컴퓨터로 필요한 OS 및 서비스를 개발하기위한 프로그램등을 설치하면 된다.EC2는 일반적인 데스크탑이나 노트북과 같은 개념으로 생각하면 되지만 차이가 있다. 우선 인터넷을 통해서만 접속이 가능하며, 주문 후 바로 생성이 되고 삭제도 즉시 된다.또한 초기 구입비용이 없고 종량제 요금으로 지불하면 된다. 이렇게 사용하게되면 프로그램 설치, 파일 저장 등.. 설정도 변경하게 되는데 이 환경을 그대로 저장할 수 있다.이것을 이미지라하며 이 이미지들을 사용하면 새로운 EC2 인스턴스(컴퓨터)를 만들때마다 기존에 설정해 놓았던 환경을 그대로 적용할 수 있어서새로 추가될 때 마..
1. 아마존 홈페이지에 접속하여 로그인을 한다. ( 회원가입 관련 내용은 게시글중 intro를 참고 ) 2. 접속한 첫 화면에서 상단에 빨간선으로 표시되어있는 설정버튼을 클릭하면 하단에 퀵 메뉴를 설정할 수 있는 아마존 웹 서비스들의 목록이 표시된다. 3. 퀵메뉴로 등록하고자 하는 서비스를 상단 메뉴바에 드래그한다.
Runtime.getRuntime().exec() 호출시 종료되지 않는 문제 위의 함수는 process 를 실행시키기 위한 함수이다.만약 프로세스의 수행이 끝이 날때까지 기다려야 한다면 어떻게 해야되는가..? Process process = Runtime.getRuntime().exec(cmd); process.waitFor(); // waitFor()를 호출한다. 문제는 waitFor() 가 영원히 끝나지 않는 경우가 발생한다는 것입니다.분명히 cmd 에 해당하는 프로세스가 종료되어야 하는데, 이상하게도 끝나지 않는다는 이야깁니다. 원인은 stream 의 버퍼가 비워지지 않았기 때문입니다. 이를 비워줌으로써 문제를 해결할 수 있습니다. 그럼 어떻게 비워주면 될까요? waitFor() 함수를 호출하는 순..