[AWS] S3 다른 계정 버킷에 있는 객체 복사하기

AWS 콘솔을 접속하여 S3 버킷의 COPY 기능을 통해 같은 계정에서 동일한 리전의 S3 버킷과 또는 다른 리전의 S3 버킷에 객체를 복사할 수 있습니다.


하지만 AWS 콘솔에서 S3 버킷의 COPY 기능을 통해 다른 계정의 버킷으로는 객체를 복사할 수 없습니다.
IAM 정책 및 버킷 정책을 통해 권한을 허용하여 다른 계정의 S3 버킷에 있는 객체를 복사하는 방법을 알아봅시다.

 


기본 설정

B 계정에서 AWS CLI를 통해 A 계정의 S3 버킷에 있는 객체를 B 계정의 S3 버킷으로 복사할 수 있도록 작업을 진행해보겠습니다.

 

 

우선 각각의 계정에 S3 버킷을 생성합니다.

  • A 계정 S3 버킷

  • B 계정 S3 버킷

 

 

A 계정의 S3 버킷에는 복사하고자 하는 txt 파일을 생성하였습니다.

 


IAM 정책 추가 및 적용

B 계정의 IAM 정책을 추가하여 A 계정의 S3 버킷을 조회하거나 가져올 수 있도록 허용하고,

자신의 S3 버킷에 업로드할 수 있도록 정책을 허용합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::{SOURCE-S3-BUCKET}",
                "arn:aws:s3:::{SOURCE-S3-BUCKET}/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::{TARGET-S3-BUCKET}",
                "arn:aws:s3:::{TARGET-S3-BUCKET}/*"
            ]
        }
    ]
}

 

정책은 이름 설정 후 생성합니다.

 

B 계정에서 생성한 IAM 정책은 사용하고자하는 AWS CLI 계정의 정책에 추가합니다.


B 계정에서의 정책 설정을 완료하였습니다.

 

 


버킷 정책 추가

A 계정의 S3 버킷에 정책을 추가하여, B 계정에서 A 계정의 S3 버킷 객체를 가져갈 수 있도록 허용합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DelegateS3Access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{B Account ID}:user/{B Account IAM UserName}"
            },
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::copy-test-src-s3/*",
                "arn:aws:s3:::copy-test-src-s3"
            ]
        }
    ]
}
  • AWS 예시
    • arn:aws:iam::123412341234:user/TestUser

 

A 계정의 S3 버킷 설정을 완료하였습니다.

 


객체 복사

AWS CLI에 B 계정의 Access Keys를 등록합니다.

 

B 계정의 S3 버킷을 조회합니다.

# aws s3 ls
2023-10-17 09:18:32 copy-test-target-s3

 

A 계정의 S3 버킷을 조회할 수 있습니다. 사전에 정책을 추가해줬기 때문에 가능합니다.

# aws s3 ls s3://copy-test-src-s3
2023-10-17 09:21:40       1218 TextFile.txt

 

이제 A 계정의 S3 버킷에 있는 객체를 B 계정의 S3 버킷에 복사해보겠습니다.

# aws s3 sync s3://copy-test-src-s3 s3://copy-test-target-s3
copy: s3://copy-test-src-s3/TextFile.txt to s3://copy-test-target-s3/TextFile.txt

 

복사가 완료되었으며 AWS 콘솔을 통해서도 확인하실 수 있습니다.

 

 

 

IAM 정책 및 S3 버킷 정책을 추가하여 다른 계정 버킷에 있는 객체 복사하여 사용해보시기 바랍니다.
지금까지 S3 다른 계정 버킷에 있는 객체 복사하는 방법을 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

 

[Reference]

 

 

 

VMware OVF to OVA 변환 ovftool

VMware 도구인 ovftool은 VMware 제품 간에 OVF 패키지를 가져오고 내보내는데 도움을 주는 유틸리티 입니다.
ovftool을 사용하여 OVF 파일을 OVA 파일로 변환하는 작업을 진행해보도록 하겠습니다.

 


OVF 파일, OVA 파일 차이점

OVF(Open Virtualization Format) 파일과 OVA(Open Virtual Appliance) 파일은 가상 머신 및 가상화 환경에서 가상 머신 이미지를 배포, 공유 및 관리하는 데 사용되는 포맷입니다.


두 파일 형식 사이의 차이점을 요약하자면 OVF 파일은 가상 머신의 구성 정보를 포함하고, OVA 파일은 OVF 파일과 가상 머신 이미지를 함께 포함하는 패키지입니다


상세한 차이점은 다음과 같습니다.

 

1. 파일 형식

  • OVF 파일: OVF는 가상 머신 이미지와 구성 설정을 설명하는 여러 XML 파일과 관련 파일로 구성된 디렉토리 구조를 나타냅니다. OVF 파일은 주로 가상 머신 이미지와 관련 설정 정보를 설명하는 메타데이터를 포함합니다.
  • OVA 파일: OVA는 OVF 파일을 하나의 아카이브로 패키징한 파일입니다. OVA 파일은 OVF 파일 및 해당 가상 머신 이미지와 관련 파일을 하나의 아카이브 파일로 묶어 더 쉽게 배포 및 공유할 수 있도록 합니다.

 

2. 포함 내용

  • OVF 파일: OVF 파일은 가상 머신의 구성, 가상 하드웨어 설정, 네트워크 구성 등과 관련된 메타데이터를 포함합니다. 실제 가상 머신 디스크 이미지는 포함하지 않습니다.
  • OVA 파일: OVA 파일은 OVF 파일뿐만 아니라 가상 머신 디스크 이미지와 관련 파일도 포함합니다. 이렇게 하면 가상 머신을 완전한 형태로 패키징하여 배포 및 공유할 수 있습니다.

 

3. 배포 및 공유

  • OVF 파일: OVF 파일은 주로 가상 머신의 구성 정보를 공유하고, 실제 가상 머신 이미지는 따로 제공해야 합니다. 이로 인해 가상 머신 이미지와 구성 설정을 별도로 관리해야 할 수 있습니다.
  • OVA 파일: OVA 파일은 가상 머신 이미지와 구성 설정을 하나로 묶어 배포 및 공유할 수 있기 때문에 편리하게 사용할 수 있습니다.

 

4. 휴대성

  • OVF 파일: OVF 파일을 다른 환경으로 이동하려면 OVF 파일과 관련 파일을 함께 복사해야 합니다.
  • OVA 파일: OVA 파일은 하나의 아카이브 파일로, 이를 이동하거나 다른 VMware 호스트에서 가져오는 데 더 용이합니다.

 


OVF to OVA 변환

ovftool을 사용하여 OVF 파일을 OVA 파일로 변환해보도록 하겠습니다.


ovftool 다운로드 링크를 통해 ovftool을 다운로드 받으실 수 있습니다.

 

 

OVF 파일 구성

OVF는 여러 파일을 패키지로 포함하며 .ovf, .mf, .vmdk, .nvram 파일 등으로 구성되어 있습니다.

  • 해당 파일들은 같은 디렉토리에 위치해야 하며, OVF 파일 생성 시 이름을 사용해야 됩니다.
  • .vmdk 파일과 같은 경우 이름 변경 시 ovftool을 사용하여 OVA 파일로 변환 시 에러가 발생합니다.

 

ovftool 변환

ovftool을 사용하여 OVF 파일을 OVA 파일로 변환합니다.

# ovftool.exe {{OVF 파일 이름}} {{OVA 파일 이름}}
> .\ovftool.exe .\VM\relay\DEV-RELAY-CentOS6.7.ovf .\VM\relay\DEV-RELAY-CentOS6.7.ova

 

 

완료 시 아래와 같이 Completed successfully을 확인하실 수 있습니다.

 

해당 경로에 .ova 파일 또한 확인하실 수 있습니다.

 

 

이제 OVA 파일을 사용하여 보다 쉽게 가상 머신 이미지를 배포 및 공유하여 사용하시길 바랍니다.


지금까지 ovftool을 사용하여 OVF 파일을 OVA 파일로 변환하는 작업을 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[AWS] Route 53 도메인 신규 등록하기

Amazon Route 53은 가용성과 확장성이 뛰어난 도메인 네임 시스템(DNS) 웹 서비스 입니다.
도메인 연결을 관리할 뿐만 아니라 신규로 도메인을 등록하여 사용할 수 있습니다.
Route 53을 이용하여 도메인을 신규로 등록하는 방법을 알아봅시다.

 

 


도메인 신규 등록하기

Route 53 메인 화면에서 신규 도메인 등록을 위한 Domains -> Registered domains 메뉴를 클릭합니다.

 

 

Register domains 버튼을 클릭하여 신규 도메인을 등록하는 절차를 진행합니다.

 

 

우선 사용하고자하는 도메인 정보를 검색합니다.
사용 가능한 도메인인지 검색 후 사용 가능하다면 Select 후 다음 절차를 진행합니다.

 

 

도메인 가격 정보를 확인합니다.
기본적으로 1년 단위로 결제되며, Auto-renew 활성화 시 자동으로 1년마다 갱신됩니다.

 

 

도메인 발급에 필요한 상세 정보를 입력합니다.
국가, 이름, 이메일, 전화번호 등의 정보가 필요합니다.

 

 

설정을 완료하였으며 Review and submit을 통해 설정한 값을 한번씩 확인합니다.

Terms and conditions(이용약관) 확인 후 Submit을 통해 도메인 발급을 신청합니다.

 

 

이제 메인 화면에서 Domains -> Requests 메뉴를 클릭하면 발급 진행 중인 도메인을 확인하실 수 있습니다.

 

 

일정 시간이 지나면 아래와 같이 도메인 발급이 완료됩니다.

이제 발급이 완료된 신규 도메인을 자유롭게 사용하시면 됩니다.

 

 

지금까지 Amazon Route 53 서비스를 통해 도메인을 신규로 등록하는 방법을 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[AWS] Amazon Kinesis 알아보기

운영중인 서비스가 점차 커진다면 대용량의 실시간 데이터를 수집, 처리 및 분석할 수 있도록 구성해야됩니다. 별도의 데이터 처리 서버를 구성할 수 있겠지만 확장성 및 실시간 모니터링 등 데이터 처리에 필요한 기능을 구현해야 하므로 어려움이 많습니다. AWS에서는 클라우드 기반 데이터 스트리밍 플랫폼인 Amazon Kinesis를 사용하여 대용량의 실시간 데이터를 수집, 처리 및 분석할 수 있습니다.

 

 


주요 기능

Amazon Kinesis의 주요 기능은 크게 4가지로 구성되어 있습니다.

  • Kinesis Video Streams
    • 비디오 스트림 캡처, 처리 및 저장
  • Kinesis Data Streams
    • 데이터 스트림 캡처, 처리 및 저장
  • Kinesis Data Firehose
    • 데이터 스트림 AWS 데이터 스토어로 로드
  • Kinesis Data Analytics
    • SQL 또는 Apache Flink로 데이터 스트림 분석

 

Kinesis Video Streams

Kinesis Video Streams는 동영상 스트림을 쉽게 처리하고 저장하기 위한 기능입니다.
IoT 디바이스나 카메라에서 생성되는 동영상 스트림을 실시간으로 수집하고 처리할 수 있습니다. 또한 동영상 데이터를 압축하고 인코딩하며, 실시간으로 스트리밍하거나 저장할 수 있는 인프라를 제공합니다.

 

 

Kinesis Data Streams

Kinesis Data Streams은 대량의 실시간 데이터 스트림을 처리하고 분석하기 위한 기능입니다.
데이터 스트림은 하나 이상의 샤드로 구성되며, 각 샤드는 데이터의 순서를 보장하고 병렬 처리가 가능합니다. 데이터를 수집한 후 필요한 처리를 수행하거나 다른 AWS 서비스와 연동하여 사용할 수 있습니다.

 

 

Kinesis Data Firehose

Kinesis Data Firehose는 스트림 데이터를 처리하여 다양한 대상으로 전달하는 역할을 합니다.
데이터를 Amazon S3, Amazon Redshift, Amazon Elasticsearch 등과 같은 저장소나 분석 도구로 전달할 수 있습니다. 또한 데이터 전달 과정을 자동으로 관리하므로 개발자는 데이터 전달 파이프라인을 구축하고 관리하는데 시간을 절약할 수 있습니다.

 

 

Kinesis Data Analytics

Kinesis Data Analytics는 SQL 쿼리를 사용하여 스트림 데이터를 실시간으로 분석하는 데 사용됩니다.
데이터 스트림에서 생성된 실시간 데이터를 실시간으로 데이터를 가공하고, 패턴을 발견하며, 실시간 대시보드를 생성할 수 있습니다. 또한 SQL 쿼리를 통해 분석하면서 시각화 및 모니터링에 활용할 수 있습니다.

 

 


장단점

Amazon Kinesis는 강력한 실시간 데이터 스트리밍 및 처리 플랫폼이지만, 사용 시 고려해야 할 장점과 단점이 있습니다.

 

장점

  1. 실시간 데이터 처리: 대량의 실시간 데이터를 처리하고 분석하는데 탁월한 성능을 제공합니다.
  2. 확장성: 데이터 스트림을 여러 샤드로 나누어 처리할 수 있으며, 필요에 따라 확장하여 데이터 처리의 확장성을 보장하면서도 성능을 유지할 수 있습니다.
  3. 다양한 데이터 유형 처리: 웹사이트 로그, 센서 데이터, 애플리케이션 로그 등 다양한 소스의 데이터 유형을 처리할 수 있습니다.
  4. 간편한 데이터 파이프라인 구축: 간편하게 데이터 파이프라인을 쉽게 구축하고, 데이터 변환과 전달을 자동으로 관리하므로 개발자는 데이터 이동에만 집중하면 됩니다.
  5. 실시간 분석 및 모니터링: 실시간으로 데이터를 분석하고 모니터링할 수 있습니다.
  6. 다양한 대상으로의 전달: 데이터를 다양한 AWS 서비스 및 저장소로 전달할 수 있습니다.

 

단점

  1. 복잡성: 대규모 애플리케이션에서는 설정 및 구성 과정이 다소 복잡해질 수 있습니다.
  2. 비용: 데이터 처리량 및 스트림의 크기에 따라 과금되므로, 대규모 데이터 처리 시 비용이 증가할 수 있습니다.
  3. 모니터링 및 디버깅: 대용량 데이터 처리 시 모니터링 및 디버깅이 복잡해질 수 있습니다.
  4. 서비스 의존성: AWS 서비스에 의존성이 높아지므로, AWS 서비스가 불안정한 경우 영향을 받을 수 있습니다.

 

 


비용

Amazon Kinesis의 비용은 사용되는 리소스와 데이터 처리량에 따라 다를 수 있습니다

 

Kinesis Data Streams

데이터 샤드 수: 가장 큰 비용 요소는 데이터 샤드 수입니다. 데이터 샤드 수가 많을수록 비용이 증가합니다.
데이터 샤드 시간당 비용: 각 데이터 샤드당 시간당 비용이 부과됩니다.

 

Kinesis Data Firehose

전송량: 전송된 데이터 양에 따라 비용이 부과됩니다. 데이터 전송량이 많을수록 비용이 증가합니다.
전송 시간당 비용: 데이터 전송 시간당 비용이 부과됩니다.

 

Kinesis Data Analytics

처리량: 처리되는 데이터 양에 따라 비용이 부과됩니다. 처리량이 많을수록 비용이 증가합니다.
처리 시간당 비용: 처리된 시간당 비용이 부과됩니다.

 

 


활용

 

웹 사이트 모니터링 및 분석

모바일 서비스 발전에 따라 모바일에서 어플이나 웹 사이트를 통해 다양한 서비스를 이용하고 있습니다.
어플이나 웹 사이트에서 생성되는 로그 데이터를 수집하고 분석하여 성능, 사용자 동작, 에러 등을 실시간으로 모니터링 및 분석할 수 있습니다. 실시간 대시보드 및 경고 시스템을 구축하여 웹사이트의 상태를 실시간으로 파악하고 개선할 수 있습니다.

 

금융 거래 감지 및 분석

결제, 입출금, 주식 거래 등 실시간으로 많은 수의 금융 거래가 실시간으로 계속 발생되고 있습니다.
금융 거래 데이터를 실시간으로 처리하여 부정 거래나 신용카드 사기 등을 감지할 수 있습니다.
또한 금융 거래의 이상 패턴을 실시간으로 분석하여 신속하게 대응할 수 있습니다.

 

게임 분석

온라인 게임에서는 실시간으로 다른 플레이어들과 상호작용을 하면서 다양한 게임 플레이를 진행합니다.
온라인 게임에서 생성되는 사용자 데이터를 실시간으로 분석하여 게임 플레이, 플레이어 상호작용, 성과 등을 추적하고 게임 개선에 활용할 수 있습니다.

 

 

 

Amazon Kinesis를 통해 대용량의 실시간 데이터를 유연하게 처리해보시기 바랍니다.
지금까지 Amazon Kinesis를 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]

 

 

 

[AWS] EC2 Placement 알아보기

EC2(온디맨드, 스팟, 예약) 인스턴스를 실행할 때, 인스턴스들은 물리적으로 AWS의 데이터 센터에 배치(Placement)되어 실행됩니다.


이렇게 AWS의 데이터 센터에 배치되는 위치를 EC2 Placement라고 하며, EC2 Placement에는 가용 영역 (Availability Zone)과 배치 그룹 (Placement Group), 두 가지 주요 요소가 있습니다

 

 


가용 영역 (Availability Zone)

가용 영역(Availability Zone)은 AWS의 데이터 센터가 물리적으로 분리된 지리적 위치입니다.


각 가용 영역은 고유한 전력, 네트워킹 및 연결성을 갖고 있으며, 장애가 발생할 경우 다른 가용 영역은 독립적으로 작동할 수 있습니다. 따라서 가용 영역을 사용하여 고가용성 및 내구성을 보장할 수 있습니다.

 

 


배치 그룹 (Placement Group)

배치 그룹은 동일한 물리적 하드웨어에서 여러 EC2 인스턴스를 실행할 수 있도록 지원하는 것입니다.


배치 그룹을 사용하면 인스턴스 간의 네트워크 지연 시간을 최소화하고 클러스터 컴퓨팅 또는 데이터 간의 고성능 통신을 제공할 수 있습니다. 배치 그룹은 크게 세 가지의 유형을 선택하여 생성할 수 잇습니다.

 

클러스터 배치 그룹(Cluster Placement Group)

클러스터 배치 그룹은 하나의 물리적 호스트에 인스턴스를 모아서 실행되어, 가장 높은 네트워크 성능을 제공합니다.
짧은 네트워크 지연 시간, 높은 네트워크 처리량 또는 둘 다의 이점을 활용할 수 있는 애플리케이션에 권장됩니다.
하지만 특정 가용 영역에 제한되어 물리적 호스트에 장애 발생 시 모든 EC2에 장애가 발생할 수 있어 고가용성은 떨어집니다.

 

 

파티션 배치 그룹(Partition Placement Group)

파티션 배치 그룹은 EC2를 파티션으로 분리하여 여러 물리적 호스트에 분산하여 실행합니다.
배치 그룹 내 파티션이 동일한 랙을 공유해지 않으므로 하드웨어 장애 가능성을 줄이는데 도움이 됩니다.
여러 가용 영역에 걸쳐 고가용성을 제공할 수 있지만 파티션 장애 발생 시 같은 파티션의 EC2에 모두 장애가 발생할 수 있습니다.

 

 

스프레드 배치 그룹(Spread Placement Group)

스프레드 배치 그룹은 인스턴스를 가능한 한 물리적으로 분리된 호스트에 실행하여 가용 영역 및 물리적 하드웨어에서 실패가 발생해도 안정성을 보장합니다.
서로 떨어져 있어야 하는 중요 인스턴스의 수가 적은 애플리케이션에서는 분산형 배치 그룹이 권장됩니다.

 

 


비용

EC2 Placement를 사용하여 EC2 인스턴스를 구성할 때, 추가 비용 없이 인스턴스의 배치를 최적화하여 성능과 가용성을 개선할 수 있습니다.


EC2 Placement는 인스턴스를 배치하는 방법에 대한 설정이며, 이는 인스턴스의 가격이나 인스턴스 자체에 영향을 미치지 않습니다. 비용은 EC2 인스턴스의 유형, 크기, 운영 체제 등과 같은 인스턴스 자체의 속성에 따라 결정됩니다.

 

 


EC2 Placement는 성능, 내구성 및 확장성을 위해 중요한 요소이며, 올바르게 구성하고 관리함으로써 안정적인 인스턴스 운영과 서비스 제공에 도움을 줍니다. 따라서 인스턴스를 실행하기 전에 가용 영역 및 플레이스먼트 그룹을 신중하게 선택하고 구성해보시기 바랍니다.

 

 

 

지금까지 EC2 Placement를 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]

 

 

 

'AWS' 카테고리의 다른 글

[AWS] Route 53 도메인 신규 등록하기  (0) 2023.09.19
[AWS] Amazon Kinesis 알아보기  (0) 2023.08.17
[AWS] Amazon Route 53 알아보기  (0) 2023.07.19
[AWS] AWS Direct Connect 알아보기  (0) 2023.07.12
[AWS] Amazon SNS 알아보기  (0) 2023.07.11

[AWS] Amazon Route 53 알아보기


도메인은 인터넷에서 웹사이트나 이메일 등을 식별하는 주소로, 사용자가 웹사이트를 방문하거나 이메일을 보낼 때 사용됩니다.

 

도메인을 사용하기 위해서는 도메인 서버를 직접 구성하거나 가비아, 후이즈 등 도메인 리셀러를 통해서 공인 도메인을 구매하여 사용이 가능한데요.


Amazon에서는 가용성과 확장성이 뛰어난 클라우드 기반 DNS 웹 서비스를 Route 53을 통해 제공합니다.
Route 53을 통해 EC2, ELB, S3 버킷 등 다양한 AWS 서비스와 연동하여 사용할 수도 있습니다.

 

 


주요 기능

 

Amazon Route 53은 확장 가능하고 안정적인 DNS 서비스로서, 도메인 이름 관리와 DNS 라우팅을 효과적으로 수행하는 데 필요한 주요 기능을 제공합니다.

 

  1. 도메인 등록 및 관리
    • Route 53을 사용하여 도메인을 등록하고, 도메인 이름의 소유권을 관리할 수 있습니다.
    • 도메인은 amazon.com을 사용할 수 있지만 Route 53에서 바로 리셀러를 선택하여 공인 도메인을 구매하여 사용할 수 있습니다.
    • 관리 콘솔을 통해 도메인 이름 등록, 갱신, 이전, 삭제 등의 작업을 손쉽게 수행할 수 있습니다.
  2. DNS 라우팅
    • Route 53은 DNS 라우팅을 제공하여 도메인 이름을 해당하는 웹 서버 또는 AWS 리소스와 연결할 수 있습니다.
    • 라우팅 정책을 사용하여 트래픽을 여러 리소스 간에 분산하거나, 특정 리전 또는 지연 시간이 가장 낮은 리소스로 트래픽을 전달할 수 있습니다.
  3. 고가용성 및 신뢰성
    • Route 53은 글로벌로 분산된 네트워크를 통해 DNS 서비스를 제공하므로 고가용성과 신뢰성이 높습니다.
    • 전 세계의 DNS 서버로 트래픽을 분산하여 서비스 지연 시간을 최소화하고, 장애 발생 시 자동으로 트래픽을 다른 서버로 전환하여 연결성을 유지합니다.
  4. 상태 확인과 모니터링
    • Route 53은 지정된 도메인 또는 리소스에 대한 상태 확인 및 모니터링 기능을 제공합니다.
    • 도메인 또는 엔드포인트의 가용성, 지연 시간, 성능 등을 모니터링하고, 상태가 변경되면 경고 및 알림을 제공합니다.

 

 


작동 방식

Amazon Route 53은 사용자(End User)의 요청을 AWS 또는 온프레미스에서 실행되는 인터넷 애플리케이션에 연결합니다.

리소스의 상태를 확인하기 위해서 Health Check를 통해 정상 작동 중인지 확인하고, AWS CloudWatch를 통해 모니터링 매트릭 및 알람을 관리합니다.

 

 


다이어그램

Amazon Route 53을 사용하는 웹 애플리케이션의 아키텍처입니다.


Amazon Route 53의 기능을 통해 DNS 서비스를 제공하고, 전체 웹 트래픽을 클라우드 프런트를 통해 전달됩니다.
또한 서비스 요청에 따라 특정 리전의 EIP 또는 ELB로 라우팅하거나, AWS에서 사용 중인 다른 리소스로 전달할 수도 있습니다.

 

 


각 요소들

 

DNS (Domain Name System)

  • 인터넷에서 도메인 이름과 해당 도메인에 대한 IP 주소를 매핑하는 시스템입니다.
  • 사용자가 사람이 이해하기 쉬운 도메인 이름을 입력하여 웹사이트나 이메일 서버 등의 리소스에 접근할 수 있게 합니다.

 

DNS 레코드 (DNS Record)

  • 도메인 이름과 해당 도메인과 연결된 IP 주소 또는 서비스의 정보를 매핑하는 기록으로, 인터넷에서 도메인을 식별하고 해당 도메인으로의 트래픽을 올바르게 전송하는 역할을 합니다.
  • 각각의 DNS 레코드 유형(A, CNAME, MX, TXT 등)은 특정 도메인 이름과 IP 주소, 서브도메인 등의 매핑 정보를 정의하여 웹사이트 호스팅, 이메일 전송, 서비스 지정 등을 가능하게 합니다.

 

호스팅 영역(Hosted Zone)

  • Amazon Route 53에서 도메인 이름의 DNS 정보를 저장하고 관리하는 영역입니다.
  • Route 53의 Hosted Zone을 사용하여 DNS 레코드를 추가, 수정, 삭제하여 도메인 이름과 관련된 리소스를 관리할 수 있습니다.

 

DNS 쿼리 (DNS Query)

  • 사용자 또는 클라이언트(예: 웹 브라우저)가 도메인 이름을 IP 주소로 변환하기 위해 DNS 서버에 보내는 요청으로, 도메인 이름에 대한 정확한 IP 주소나 다른 DNS 레코드 정보를 받아오는 프로세스를 말합니다.

 

 


요금

 

Amazon Route 53은 사용한 내역에 대해서만 요금을 지불합니다.
큰 항목으로는 호스팅 영역 관리, DNS 쿼리 제공, 도메인 이름 관리 항목에서 요금이 지불됩니다.

 

 

호스팅 영역 및 레코드

  • 처음 25개 호스팅 영역의 경우 월별 호스팅 영역당 0.50 USD
  • 추가 호스팅 영역의 경우 월별 호스팅 영역당 0.10 USD
    호스팅 영역 하나에는 10,000개의 레코드가 포함되며, 영역당 10,000개를 초과하는 각 레코드에는 월 0.0015 USD의 요금이 부과됩니다.

 

 

쿼리

표준 쿼리

  • 월별 첫 10억 개 쿼리의 경우 1백만 쿼리당 0.40 USD
  • 월별 10억 개를 초과하는 쿼리의 경우 1백만 쿼리당 0.20 USD

지연 시간 기반 라우팅 쿼리

  • 월별 첫 10억 개 쿼리의 경우 1백만 쿼리당 0.60 USD
  • 월별 10억 개를 초과하는 쿼리의 경우 1백만 쿼리당 0.30 USD

지역 DNS 및 지역 근접성 쿼리

  • 월별 첫 10억 개 쿼리의 경우 1백만 쿼리당 0.70 USD
  • 월별 10억 개를 초과하는 쿼리의 경우 1백만 쿼리당 0.35 USD

IP 기반 라우팅 쿼리*

  • 월별 첫 10억 개 쿼리의 경우 1백만 쿼리당 0.80 USD
  • 월별 10억 개를 초과하는 쿼리의 경우 1백만 쿼리당 0.40 USD

 

 

도메인 이름

도메인 이름에 대한 요금은 최상위 도메인(Top-level domain, TLD)별로 다릅니다.
< TLD별 현재 요금에 대한 전체 목록 >
도메인 이름은 1년 단위로 등록되며, 계정당 최대 20개까지 도메인 이름을 등록할 수 있습니다

그외에는 DNS 방화벽, DNSSEC, 쿼리 로깅등을 구성한 경우 요금이 부과될 수 있습니다.

 

 


활용

 

  • DNS 라우팅 및 로드 밸런싱
    Cloud 환경에서 서비스 운영 시 확장성과 가용성을 고려하여 서비스를 설계하고 운영해야합니다.
    서비스는 DNS를 기반으로 운영되기 때문에 Amazon Route 53을 통해 DNS 라우팅을 구성하여 도메인 이름과 해당하는 리소스(예: 웹 서버, 로드 밸런서)를 연결할 수 있습니다.
    라우팅 정책을 설정하여 트래픽을 분산하거나 지연 시간에 따라 트래픽을 가장 빠른 리소스로 전달하여 확장성과 가용성을 향상시킬 수 있습니다.

 

  • 지리적 라우팅
    SaaS 서비스를 국내 뿐만 아니라 해외 고객에 제공할 경우 각 서비스 사용자들은 해외 네트워크를 통해 서비스를 사용하게 됩니다.
    해외에서 접속하는 서비스 사용자들은 지역에 따라 네트워크 지연에 따른 서비스 이용에 지연이 발생할 수 잇습니다.
    Amazon Route 53을 활용하여 지리적 라우팅을 구성하여, 사용자들의 지역에 따라 트래픽을 다른 리소스로 라우팅하여 지역별로 최적화된 서비스를 제공할 수 있습니다.

 

  • SSL/TLS 인증서 관리
    HTTPS로 웹 서비스를 운영하기 위해서는 공인 도메인 발급 후 SSL/TLS 인증서 발급 및 적용이 필요합니다.
    Amazon Route 53을 사용하여 SSL/TLS 인증서를 발급하고 관리할 수 있습니다.
    또한 SSL/TLS 인증서를 추가로 구매하여 사용할 필요 없이 Amazon Certificate Manager(ACM)과 통합하여 무료로 SSL/TLS 인증서를 쉽게 구성할 수 있습니다.

 

 

 

지금까지 Amazon에서 제공하는 클라우드 기반 DNS 웹 서비스를 Route 53을 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]

 

 

 

'AWS' 카테고리의 다른 글

[AWS] Amazon Kinesis 알아보기  (0) 2023.08.17
[AWS] EC2 Placement 알아보기  (0) 2023.07.26
[AWS] AWS Direct Connect 알아보기  (0) 2023.07.12
[AWS] Amazon SNS 알아보기  (0) 2023.07.11
[AWS] Amazon Elastic Container Registry 알아보기  (0) 2023.06.14

[AWS] AWS Direct Connect 알아보기

AWS의 네트워크 서비스로는 대표적으로 Amazon VPC(Virtual Private Cloud)가 있습니다.
VPC의 기능을 통해서 내부 네트워크를 할당하거나 외부 네트워크를 사용할 수 있도록 설정할 수 있는데요.

 

AWS Direct Connect은 AWS의 클라우드 서비스에 직접적으로 연결할 수 있는 네트워킹 서비스로,
공용 인터넷을 우회하고 전용 연결을 통해 더 안정적이고 안전한 네트워크 연결을 구성할 수 있습니다.

 

 


주요 기능

AWS Direct Connect를 사용하면 전용 케이블을 통해 내부 네트워크를 AWS Direct Connect와 연결 할 수 있습니다.

주요 기능은 아래와 같습니다.

 

  1. 전용 연결
    • 내부 네트워크 망이나 AWS 리전 간의 전용 연결읕 설정할 수 있습니다.
    • 전용 연결을 통해 안정적이고 저지연의 연결을 제공하며, 데이터 속도와 신뢰성을 향상시킵니다
  2. 가상 인터페이스
    • 가상 인터페이스를 통해 AWS 내의 VPC 또는 기타 AWS 서비스와 연결할 수 있습니다.
  3. 보안
    • 공용 인터넷 대역폭을 우회하여 데이터 전송을 보안하며 전용 연결을 통해 고객의 데이터는 인터넷을 거치지 않고 직접 AWS에 도달하므로 더 높은 보안 수준을 제공합니다.
  4. 대역폭 제어
    • 1Gbps, 10Gbps, 100Gbps 등 다양한 속도의 연결을 선택하여 필요한 만큼의 대역폭을 확장하거나 축소하여 비용을 효율적으로 관리할 수 있습니다.

 

 


다이어그램

AWS Direct Connect를 사용하여 네트워크에 대한 종합적인 개요를 보여주는 다이어그램입니다.


온프레미스의 고객 네트워크와 AWS Cloud와의 네트워크 통신을 AWS Direct Connect의 전용 연결을 통해 네트워크 통신을 할 수 있습니다. AWS Direct Connect의 라우터와 고객 라우터는 BGP 라우팅을 통해서 설정을 관리하고 라우팅 정보를 교환합니다.


Private Subnet과의 연결을 위해 Virtual Private Gateway를 설정하고 가상 인터페이스를 통해 Direct Connect와 연결합니다. 이제 보안 그룹 및 네트워크 ACL 규칙 등을 설정하면 온프레미스의 고객 네트워크와 AWS Cloud와의 네트워크 통신을 할 수 있습니다.

 

 


각 요소들

가상 인터페이스(Virtual Interface, VIF)

  • 가상 인터페이스는 AWS Direct Connect 연결을 통해 생성되는 논리적인 연결로 VPC 및 기타 AWS 서비스와 연결할 수 있는 방법을 제공합니다.
  • VLAN(Virtual LAN)을 사용하여 네트워크 트래픽을 분리하고, BGP를 사용하여 라우팅을 구성합니다.

 

전용 연결(dedicated connections)

  • AWS Direct Connect의 연결 유형 중 하나로, 고객이 AWS Direct Connect 위치에 직접 연결하여 대량의 트래픽을 처리하는 데 사용되는 유형입니다
  • 전용 연결을 설정하기 위해 고객은 AWS Direct Connect 위치에서 고객 장비를 설치하거나, AWS Direct Connect 서비스 파트너를 통해 연결을 요청해야 합니다.
  • 대량의 트래픽을 처리하거나 고객의 네트워크에 안정적이고 고성능의 연결을 제공하는데 적합한 방법입니다.

 

호스팅 연결(hosted connections)

  • AWS Direct Connect의 연결 유형 중 하나로, AWS Direct Connect 위치와 인터넷 서비스 공급자(ISP)의 피어링 지점에 연결하여 작은 양의 트래픽이나 테스트 및 개발 용도로 사용되는 유형입니다.
  • 호스팅 연결을 설정하기 위해 고객은 AWS Direct Connect 위치와 ISP 피어링 지점에 대한 연결 요청을 수행해야 합니다.
  • 작은 규모의 트래픽이나 테스트, 개발 용도에 적합한 방법입니다.

 

SiteLink

  • AWS Direct Connect의 연결 유형 중 하나로, 동일한 AWS Direct Connect 위치의 여러 장치나 데이터 센터 간에 전용 연결을 설정하는 기능을 제공합니다.
  • 여러 지역 또는 데이터 센터 간에 AWS Direct Connect 연결을 구성하여 AWS의 다중 지역 아키텍처를 구축하거나, 여러 데이터 센터에서 AWS 리소스에 안전하고 고성능의 연결을 확보할 수 있습니다.

 

Virtual Private Gateway

  • Virtual Private Gateway는 AWS 클라우드 내에서 VPC와 인터넷 간의 연결을 제공하는 가상 장치입니다.
  • AWS Direct Connect와 함께 사용하여 VPC를 온프레미스 환경 또는 다른 외부 네트워크와 연결할 수 있습니다.
  • Site-to-Site VPN 연결과 BGP 라우팅을 통해 네트워크 연결을 구성하고 제어할 수 있습니다.

 

 


요금

AWS Direct Connect의 요금은 포트 연결 시간 및 송수신 데이터에 따라 결정됩니다.

 

포트 시간: 전용 연결

전용 연결은 AWS Direct Connect 위치 내 AWS 네트워크 포트 및 사용자의 네트워크 포트 간 물리적 연결입니다.
전용 포트 시간은 사용하기 위해 포트를 프로비저닝한 만큼 요금이 청구됩니다.

 

트 시간 : 호스팅 연결

호스팅 연결은 AWS Direct Connect 제공 파트너가 사용자를 대신하여 프로비저닝하는 논리적 연결입니다.
호스팅 연결을 사용하는 경우 파트너 포트 중 하나를 사용하여 AWS 네트워크에 연결합니다.

 

데이터 송신(DTO)

DTO 요금은 소스 AWS 리전 또는 로컬 영역 및 AWS Direct Connect 위치에 따라 다르며, GB당 USD 요금이 부과됩니다.

 

SiteLink 데이터 전송

SiteLink는 AWS Direct Connect 서비스에서 제공되는 네트워크 연결 유형 중 하나로,
여러 지리적 위치나 데이터 센터 간에 안전하고 신뢰성 있는 전용 연결을 설정하는 기능을 제공합니다

 

 


활용

  1. Hybrid Cloud 구축
    온프레미스에서 운영중인 시스템을 한번에 모두 AWS Cloud로 Migration 하기는 어렵습니다.
    또한 내부에 구축한 환경을 동일하게 AWS Cloud로 구현할 수 없다면 온프레미스에서 운영중인 시스템을 같이 사용해야 되는데요.
    AWS Direct Connect을 사용하여 온프레미스와 AWS 클라우드 간의 안전하고 고성능의 연결을 설정할 수 있습니다.
    이를 통해 하이브리드 클라우드 아키텍처를 구축하고 온프레미스 리소스를 사용 가능하게 합니다.

 

  1. 보안 네트워크 구축
    별도의 방화벽과 보안 장치가 없이 인터넷 망을 통해서 AWS Cloud와 온프레미스 서로간의 네트워크 접근과 데이터를 전송한다면 보안에 취약합니다.
    AWS Direct Connect은 전용 연결을 통해 인터넷을 거치지 않고 공용 인터넷 대역폭을 우회하여 데이터 전송을 보안함으로써 더 높은 보안 수준을 제공합니다.
    또한 VPC 내의 프라이빗 서브넷과 온프레미스 리소스 간에 안전하고 효율적인 통신을 가능하게 합니다.

 

  1. 대용량 데이터 전송 및 고품질 네트워크 구축
    인터넷 망을 통해서 AWS Cloud와 온프레미스 서로간의 대용량의 데이터를 전송한다면 네트워크 지연 발생으로 안정적으로 데이터를 전송할 수 없습니다.
    AWS Direct Connect을 사용하여 대용량의 데이터를 안정적으로 업로드하거나 다운로드 할 수 있으며,
    실시간 비디오 스트리밍, 온라인 게임, 음성 통화 등의 애플리케이션에서는 네트워크 지연을 최소화하고 품질을 향상시킬 수 있습니다.

 

 

AWS Direct Connect에 대한 주요 기능, 요금, 활용 등 다양한 부분을 확인해봤는데요. 내부 네트워크 연결을 위해 AWS Direct Connect의 다양한 기능을 사용해보시기 바랍니다.

 

 

 

지금까지 AWS의 클라우드 서비스에 직접적으로 연결할 수 있는 네트워킹 서비스인 AWS Direct Connect를 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]

 

 

 

[AWS] Amazon SNS 알아보기

서비스 장애 메시지를 실시간으로 확인하거나 서비스 업데이트 알림 등을 보내기 위해서는 이메일, 모바일 푸시 알림 및 모바일 문자 메시지(SMS) 등을 사용하고 있는데요. AWS 에서는 메시지 전송 관리형 서비스인 Amazon Simple Notification Service(Amazon SNS)를 통해 서비스를 지원하고 있습니다.

 

Amazon SNS는 다양한 클라이언트들에게 실시간으로 메시지를 보내고 수신할 수 있으며는 주제, 구독자, 발행자의 개념을 기반으로 관리되고 있습니다. 다양한 프로토콜을 지원하여 이메일, SMS, HTTP/HTTPS 모바일 푸시 알림 등을 통해 메시지를 전송할 수 있으며 Amazon Kinesis Data Firehose, Amazon SQS, AWS Lambda 등의 AWS 서비스에도 연동하여 사용할 수 있습니다.

 

 


주요 기능

Amazon SNS는 애플리케이션, 시스템, 서비스 간에 신속하고 안정적인 메시지 전송을 제공하며

아래와 같은 주요 기능을 제공합니다.

 

  1. 메시지 푸시
    • Amazon SNS를 사용하여 다양한 클라이언트에게 메시지를 푸시할 수 있습니다.
    • 이메일, SMS, HTTP/HTTPS, 모바일 푸시 알림 등 다양한 프로토콜을 통해 메시지를 전송할 수 있습니다.
  2. 주제 기반 구독
    • Amazon SNS는 주제(Topic)를 생성하여 관련 구독자를 그룹화할 수 있습니다.
    • 구독자는 특정 주제에 대한 알림을 받기 위해 해당 주제에 가입하고, 이를 통해 세밀한 구독 관리와 대상 그룹의 동적 구성이 가능합니다.
  3. 다양한 엔드포인트 지원
    • Amazon SNS는 이메일 주소, SMS 번호, AWS Lambda 함수, Amazon Simple Queue Service (SQS) 대기열 등 다양한 대상에게 메시지를 전달하고 연동할 수 있습니다.
  4. 확장성과 안정성
    • Amazon SNS는 확장 가능한 서비스로, 메시지 처리량이 매우 높은 환경에서도 안정적으로 동작합니다.
    • 수신 확인 및 재시도 기능을 제공하여 메시지 전송의 신뢰성을 보장합니다.
  5. 필터링 및 메시지 페이로드
    • Amazon SNS는 메시지 필터링을 통해 특정 조건에 따라 메시지를 선택적으로 전송할 수 있습니다.
    • 메시지 페이로드를 통해 추가 데이터를 전송하고 수신측에서 이를 활용할 수 있습니다.
  6. AWS 서비스와의 통합
    • Amazon SNS는 다른 AWS 서비스와의 강력한 통합을 제공합니다.
    • Amazon Kinesis Data Firehose, Amazon SQS, AWS Lambda와의 연동을 통해 실시간 데이터 스트리밍, 큐잉 및 서버리스 아키텍처 시나리오에서 유연하게 메시지를 전송하고 처리할 수 있습니다.

 

 


작동 방식

Amazon SNS는 A2A와 A2P의 두 가지 방식으로 알림을 전송합니다.

 

A2A는 분산된 시스템, 마이크로서비스 및 이벤트 중심의 서버리스 애플리케이션 간에 처리량이 많은 푸시 기반의 다대다 메시징을 제공합니다. 이러한 애플리케이션에는 Amazon Simple Queue Service(SQS), Amazon Kinesis Data Firehose, AWS Lambda, 기타 HTTPS 엔드포인트가 포함됩니다.


A2P 기능을 사용하면 SMS 텍스트, 푸시 알림, 이메일을 통해 고객에게 메시지를 전송할 수 있습니다.

 

게시/구독

 

SMS

 

모바일 푸시

 


요금

Amazon SNS의 요금은 표준 주제 API 요청, FIFO 주제 API 요청, 페이로드 크기, Amazon S3에서 페이로드 크기 확장, AWS KMS와 상호 작용으로 측정됩니다.


간단히 요약한다면 API 요청과 데이터 전송으로 나눠져 있다고 생각하면 좋을 것 같습니다.

 

알림 전달

 

데이터 전송

 

상세한 내용은 아래 링크를 통해 확인하시기 바랍니다.
https://aws.amazon.com/ko/sns/pricing/

 

 

추가적으로 모바일 문자 메시지(SMS) 및 모바일 푸시 알림 등은 지원되는 리전이 정해져있으니 참고하시기 바랍니다.

 

 


화면

Amazon SNS은 주제(Topic)을 기준으로 서비스를 관리할 수 있습니다.

 

 

Topics 메뉴에서 Topic을 생성하거나 기존에 생성된 Topic을 관리할 수 있습니다.
Subscriptions 메뉴에서는 각 Topic에 대한 구독자를 관리할 수 있습니다.

 

 


활용

서비스에서 발생하는 이벤트에 대한 알림을 실시간으로 Email 및 SMS 등을 전송할 수 있습니다.
예를 들어 주문 상태 변경, 결제 완료 등의 이벤트가 있습니다.

 

 

서비스에 중요한 이벤트나 장애가 발생하면 실시간으로 이벤트를 Email 및 SMS 등을 통해 경고 알림을 전송할 수 있습니다.

예를 들어, 시스템 다운, CPU or Memory 부하 발생, 서비스 이용자 급증 등의 이벤트가 있습니다.

 

 

AWS에서 제공하는 암호화 서비스(KMS) 등과의 연동을 통해 암호화된 메시지를 전송할 수 있습니다.

SageMaker에서 S3 버킷에 저장된 기계 학습 데이터를 사용하는 작업을 완료하였습니다.

 

 

Amazon SNS에 대한 기존적인 정보들을 알아보았으니 실제 서비스에 적용하여 활용해보시기 바랍니다.

지금까지 Amazon에서 제공하는 메시지 전송 관리형 서비스인 Amazon Simple Notification Service(Amazon SNS)을 알아보는 시간이었습니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

 

[Reference]

 

 

 

 

+ Recent posts