쉽게 말해..서비스에 걸리는 부하를 분산해주는 로드 밸런서입니다.

 

ALB나 기타 로드밸런서들은  서비스의 부하를 줄여 안정성과 가용성을 기대할 수 있습니다.

그중 ALB는 아래와 같은 장점을 가지고 있습니다. 

  -  고가용성 지원
  -  사용자 인증과 같은 보안 향상
  -  다양한 레벨의 부하에 대한 유연한 응답
  -  애플리케이션 밀착 모니터링 및 검수

 

AWS ALB vs. ELB: 로드 밸런서 비교

AWS에서 제공하는 로드 밸런서에는 여러 종류가 있지만, 특히 **Application Load Balancer (ALB)**와 **Elastic Load Balancer (ELB)**가 많이 사용됩니다. 이 두 로드 밸런서는 각기 다른 기능과 용도로 설계되었으며, 이 포스트에서는 그 차이점을 알아보겠습니다.

ELB (Elastic Load Balancer)

  • 정의: ELB는 AWS의 전반적인 로드 밸런싱 솔루션의 총칭으로, Classic Load Balancer를 포함합니다.
  • 기능:
    • TCP 및 HTTP/HTTPS 트래픽 지원
    • EC2 인스턴스 간의 트래픽 분산
  • 용도: 단순한 레이어 4(전송 계층) 로드 밸런싱이 필요할 때 적합
  • 설정: 간단한 설정, 기본적인 로드 밸런싱 기능 제공

ALB (Application Load Balancer)

  • 정의: ALB는 ELB의 한 종류로, 애플리케이션 계층에 최적화된 로드 밸런서입니다.
  • 기능:
    • 레이어 7(애플리케이션 계층)에서 작동
    • URL 기반 및 호스트 기반 라우팅 지원
    • WebSocket 및 HTTP/2 지원
  • 용도: 마이크로서비스 아키텍처와 복잡한 웹 애플리케이션에 적합
  • 설정: 다양한 라우팅 옵션과 고급 기능 제공, 설정이 다소 복잡할 수 있음

주요 차이점 요약

기능/특징ELBALB

계층 레이어 4 레이어 7
지원하는 트래픽 TCP, HTTP/HTTPS HTTP/HTTPS
라우팅 기능 기본적인 로드 밸런싱 복잡한 라우팅 규칙 가능
용도 간단한 트래픽 분산 마이크로서비스 및 복잡한 웹 애플리케이션

 

이러한 차이점을 바탕으로, 애플리케이션의 필요에 따라 적절한 로드 밸런서를 선택하는 것이 중요합니다.

1.   로그인

전달 받은 접속정보로 접속 후 처음 보게 되는 화면

 

계정 / 사용자 이름 / 암호를 입력 후 로그인 버튼을 클릭하여 로그인 합니다.

 

 

 

2.   AWS 대시보드

대시보드 화면에서 S3를 클릭합니다.


 

 

 

3.   S3 버킷 접속과 신규 생성

생성된 버킷(폴더)이 없을 경우 버킷을 생성합니다.
(image13.도메인명으로 버킷이 생성되어있는 경우 3번 항목은 생략 하셔도 됩니다. 대부분의 경우 생성이 되어 있습니다.)

-       상단의 Actions 클릭후 Create Bucket 클릭

 

 

 

-       Create Bucket 클릭 후 버킷 이름을 작성 한 후 Create를 클릭합니다.

 

 

 

4.   디렉토리 만들기

-       생성된 버킷을 클릭하여 버킷에 접속 합니다.

-       sample_dir 디렉토리가 없는경우 생성합니다.

-       Create Folder 클릭

 

 

폴더 이름을 작성 한 후  

 를 클릭하여 완료 합니다.

 

 

5.   파일 업로드(대리점 로고파일 업로드하기)

-       파일업로드하기

Action을 클릭하여 Upload를 선택

 

 

를 클릭하여 업로드 할 이미지를 선택 

이미지 선택 후 하단의  

 클릭 

다음화면에서  

 클릭

 

 

다음 화면에서 Make everything public 을 선택 후  

를 선택합니다.

 


테스트파일 k-5.jpg가 완료된 상태

 

 

 

 

업로드 된 파일 URL 확인 하기

 


좌측 파일목록에서 파일을 선택 한 후 우측 상단의 Properties 클릭 후 해당 파일에 대한링크 및 상세정보를 확인 할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 



 

 

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
 
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.GetObjectRequest;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.S3Object;
 
public class S3Sample {
 
    public static void main(String[] args) throws IOException {
        String AWS_BUCKETNAME = "your_bucketname";
        String AWS_ACCESS_KEY = "your_AWS_ACCESS_KEY";
        String AWS_SECRET_KEY = "your_ AWS_SECRET_KEY";
        String file_path = "test/;"// 폴더명
        String file_name = "test.txt"// 파일명 
 
        AWSCredentials credentials = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY);
        AmazonS3 s3 = new AmazonS3Client(credentials);
       
        try {
            // 파일 업로드 부분 파일 이름과 경로를 동시에 넣어줌.
             PutObjectRequest putObjectRequest = new PutObjectRequest(AWS_BUCKETNAME, file_path+file_name, createSampleFile());
             putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); // URL 접근시 권한 읽을수 있도록 설정.
             s3.putObject(putObjectRequest);
             System.out.println("Uploadinf OK");
             
             // 파일 다운로드 다운로드 경로와 파일이름 동시 필요. 
             System.out.println("Downloading an object");
             S3Object object = s3.getObject(new GetObjectRequest(AWS_BUCKETNAME, file_path+file_name));
             System.out.println("Content-Type: "  + object.getObjectMetadata().getContentType());
             displayTextInputStream(object.getObjectContent());
             
             
             
        } catch (AmazonServiceException ase) {
            System.out.println("Caught an AmazonServiceException, which means your request made it "
                    + "to Amazon S3, but was rejected with an error response for some reason.");
            System.out.println("Error Message:    " + ase.getMessage());
            System.out.println("HTTP Status Code: " + ase.getStatusCode());
            System.out.println("AWS Error Code:   " + ase.getErrorCode());
            System.out.println("Error Type:       " + ase.getErrorType());
            System.out.println("Request ID:       " + ase.getRequestId());
        } catch (AmazonClientException ace) {
            System.out.println("Caught an AmazonClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with S3, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message: " + ace.getMessage());
        }
    }
 
    private static File createSampleFile() throws IOException {
        File file = File.createTempFile("aws-java-sdk-"".txt");
        file.deleteOnExit();
 
        Writer writer = new OutputStreamWriter(new FileOutputStream(file));
        writer.write("파일테스트하기\n");
        writer.close();
 
        return file;
    }
 
    @SuppressWarnings("unused")
    private static void displayTextInputStream(InputStream input) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
        while (true) {
            String line = reader.readLine();
            if (line == nullbreak;
 
            System.out.println("    " + line);
        }
        System.out.println();
    }
}
cs

 

 

오라클이 무료가 아니어서 그런가 죄다 MySQL로 가이드가 나와있어서 ORACLE 가이드륵 작성하였다.

 

 

MS- WORD BLOG 형식의 문서로 작성되어 있음

 

최대한 무료를 지향하도록 작성되어 있음.

 

무료로 쓸수 있을정도의 설정값으로 작성된 메뉴얼이다.

 

 

AWS RDS for Oracle Setup.docx
다운로드

 

 

 

AWS SDK for Java 설명서

 

AWS SDK for Java Getting Started Guide

This guide introduces you to the product, helps you set up an account, and walks you through a simple example to use the product for the first time. To help you move beyond the example it provides tips and links to advanced product features and resources.

 

AWS SDK for Java Developer Guide

This guide looks closely at the product for the users of the AWS Management Console and command line tools. It provides detailed descriptions of all the product concepts and provides instructions on using the various features with both the console and the command line tools.

 

AWS SDK for Java Tips and Tricks

This article contains helpful tips and tricks for developing applications using this SDK.

 

AWS SDK for Java API Reference

This is a detailed reference guide that describes all the API operations for this product in detail. In addition, it provides sample requests, responses, and errors for the supported web services protocols.

'AWS' 카테고리의 다른 글

Amazon Web Service, AWS - EC2 생성하기  (0) 2014.05.21
Amazon Web Service, AWS - EC2 접속하기  (0) 2014.05.21
Amazon Web Service, AWS - EC2에 파일 올리기  (0) 2014.05.21
[펌] AWS서비스 해지하기  (2) 2014.05.21
AWS Console Url  (0) 2014.05.21

+ Recent posts