AWS 62

[AWS] ECR Private Repository에 이미지 푸시

개요 2023.07.07 - [AWS] ECR 이란?에서 ECR의 개념, 구성 요소, 특징 정도를 간단하게 살펴보았다. 이 글에서는 실제로 레포지터리를 생성해보고, 도커 이미지를 푸시해보려고 한다. 생성할 레포지터리는 프라이빗 레포지터리고, 관련 권한은 이미 부여되어 있다고 가정한다. 참고로 AWS EC2 Ubuntu 20.04에서 테스트하며 EC2에는 간단히 EC2InstanceProfileForImageBuilderECRContainerBuilds 정책을 적용했다. 레포지터리를 사용하기 위해서는 aws cli와 docker가 필요하므로 미설치 상태라면 설치하도록 한다. apt install awscli apt install docker.io 레포지터리 생성 프라이빗 레포지터리를 생성해본다. 1. AW..

AWS 2023.07.10

[AWS] ECR 이란?

ECR Amazon Elastic Container Registry의 약자로, 안전하고 확장 가능하고 신뢰할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스이다. DockerHub처럼 Docker 이미지를 저장하고 사용할 수 있다. AWS IAM 기반으로 특정 사용자나 EC2 인스턴스가 레포지터리나 이미지에 접근할 수 있도록 제어하는 프라이빗 레포지터리를 지원한다. 퍼블릭 레포지터리로도 사용할 수 있다. 이 글에서는 ECR에 개념적인 부분만 간단히 정리한다. 특징 1. OCI(Open Container Intiative) 표준 및 Docker Registry HTTP API V2 지원 - Docker CLI 명령을 통해 ECR을 사용할 수 있다. 또한 Docker 컨테이너 이미지 및 관련 OCI..

AWS 2023.07.07

[AWS] EC2 인스턴스 Type 변경

개요 AWS 특징 중 하나는 유연함이다. 필요하다면 리소스의 수나 유형을 편리하게 조정할 수 있다. 마침 테스트 서버로 사용할 EC2의 타입을 잘못 지정해서…… 이 글에서는 EC2 Type을 변경하는 방법을 적어둔다. EC2 인스턴스 유형을 변경하는 방법은 크게 두 가지다. - 변경할 EC2의 AMI를 생성한 뒤 새 인스턴스로 생성한다. - 변경할 EC2 인스턴스 자체의 유형을 변경한다. 이 글에서는 두 번째 방법을 이용한다. 요구 사항 EC2 인스턴스의 유형을 변경할 때는 다음과 같은 사항이 요구된다. 1. EC2 인스턴스가 중지(Stopped)된 상태여야 한다. 2. 인스턴스 구성과 호환되는 유형을 선택해야 한다. 만약 호환되지 않는 경우 새 인스턴스를 생성하는 방식으로 진행해야 한다. (참고 : 인..

AWS 2023.06.22

[AWS] RDS 스냅샷을 S3로 내보내기 관련 CLI

RDS 스냅샷을 S3로 내보내기 RDS는 스냅샷을 S3로 저장할 수 있는 내보내기(export) 기능을 제공하고 있다. 스냅샷에서 데이터를 추출해 Apache Parquet 형식으로 데이터를 저장하는 기능으로 백그라운드로 동작해 RDS 성능에 영향을 주지 않는다. AWS에서 생성한 모든 유형의 스냅샷(수동 스냅샷, 자동화된 시스템 스냅샷, AWS Backup 서비스에서 생성된 수동 스냅샷)을 내보낼 수 있고, 모든 데이터뿐만 아니라 특정 데이터베이스나 특정 테이블만 내보내도록 할 수도 있다. 이 글에서는 내보내기 기능을 사용할 때 사용한 CLI 정도만 간단히 정리한다. 해당 기능을 사용하기 위해 어떤 부분이 필요한지는 공식 문서 Amazon S3로 DB 스냅샷 데이터 내보내기를 살펴보면 좋을 것 같다. ..

AWS 2023.05.28

[AWS] LB 동작 방식

AWS LB 동작 방식 로드밸런서는 클라이언트에서 오는 트래픽을 허용하고, 하나 이상의 가용 영역에 등록된 target으로 요청을 라우팅 한다. 또한 주기적으로 target의 상태를 모니터링하고 healthy 상태인 target으로만 트래픽을 라우팅 한다. unhealthy 상태인 target을 확인하면 해당 target으로의 라우팅을 중지하고, 이후에 healthy 상태를 확인하면 라우팅을 재개한다. 가용 영역 및 로드 밸런서 노드 로드밸런서가 가용 영역을 활성화하면 활성화한 가용 영역에 로드밸런서 노드를 생성한다. 로드밸런서 노드로의 트래픽은 라운드 로빈 라우팅 알고리즘 기반으로 균일하게 분산되는 것으로 보인다. LB는 활성화되어 있는 가용영역에 구성되어 있는 target에 트래픽을 라우팅한다. 즉,..

AWS 2023.05.25

[AWS] nslookup으로 NLB의 IP가 모두 확인되지 않는 경우

개요 NLB를 통한 EC2 접속을 위해 아래와 같이 구성된 인프라가 있다고 하자. 생성한 NLB는 외부 접속이 가능한 Internet-facing 체계이고, 가용 영역 an2-a, an2-b에 구성된 subnet을 활성화한 상태이다. xnlb-test가 라우팅 하는 target group에 등록된 대상은 다음과 같다. 즉, NLB는 an2-a, an2-b를 활성화하고 있지만, 실제로 라우팅 하는 대상은 an2-b에만 구성되어 있는 상태이다. 이 상태에서 NLB에 할당된 IP를 AWS 콘솔에서 확인하면 다음과 같다. 활성화된 서브넷마다 1개의 IP가 할당되어 있다. 하지만 cmd 등에서 nslookup을 이용해 LB의 IP를 확인해보면 하나의 IP만 확인할 수 있다. 🤔 원인 추측 nslookup으로 확인..

AWS 2023.05.24

[boto3] S3 특정 prefix 아래 모든 객체 가져오기

개요 Python에서 boto3을 이용해 S3 버킷에 저장된 객체 목록을 가져올 때는 list_object, list_object_v2 함수를 사용한다. 이 두 함수는 최대 1000개의 객체를 반환한다. 따라서 1000개 이상의 객체가 저장된 prefix에 대해 list_object를 요청해도 모든 객체를 반환받지 못한다. AWS에서 제공하는 Paginator를 사용해 문제를 해결해 보자. Paginator 사용 AWS operation 중 전체 결과 집합을 얻기 위해 후속 요청이 필요한 경우, 이전 요청이 중단된 곳에서 작업을 지속하기 위해 후속 요청을 보내는 프로세스를 pagination이라고 한다. Paginator는 API 작업의 전체 결과 집합에 대해 반복하는 프로세스에 대한 추상화 역할을 한다..

AWS 2023.05.23

[AWS] MFA 활성화 사용자로 aws cli 사용

개요 평소 AWS를 사용할 때 MFA 활성화된 계정은 콘솔에서만 사용하고, 서버나 EC2에서 AWS CLI를 사용할 때는 별도의 액세스 키나 IAM Role에 권한을 부여받아 사용해왔다. 다만 테스트 시 MFA 활성화 사용자로 AWS CLI를 사용하는 방법을 알게 되어 직접 적용해보았다. 사용자 생성 1. 사용자 생성 생성한 사용자에게는 간단히 권한을 확인하기 좋은 AmazonS3FullAccess나 AmazonEC2FullAccess 권한을 부여한다. AWS CLI를 사용할 것이기 때문에 액세스 키도 생성한다. 2. 권한 확인 생성한 사용자가 S3 서비스를 이용할 수 있는지 CLI로 확인해본다. aws configure --profile mfa aws s3 ls --profile mfa MFA 인증 요..

AWS 2023.03.16

[AWS] EFS 개념 및 생성/마운트

Amazon Elastic File System AWS에서 제공하는 서버리스 파일 시스템이다. EC2 하나에만 마운트 할 수 있는 EBS와 달리, NFS(Network File System)을 지원하여 여러 서버에서 동시에 접근하여 사용할 수 있다. AWS가 제공하는 NAS라고 생각할 수 있다. 또한 파일 시스템에 저장된 파일의 용량에 따라 자동으로 확장되며, 처리량과 IOPS 또한 자동으로 조절된다. 다만 사용한 용량만큼의 비용이 발생하므로 주의해야 한다. 이 글에서는 EFS를 생성하고 EC2에 마운트해보려고 한다. EFS 생성 1. AWS Console EFS 서비스 이동 파일 시스템 생성 버튼을 클릭한다. 2. 파일 시스템 생성 > 사용자 지정 클릭 서비스 권장 설정으로 EFS를 간단히 생성할 수도..

AWS 2023.03.15

[AWS] S3 Select VS Athena

개요 S3 Select과 AWS Athena는 S3 버킷에 저장된 데이터를 DB를 사용하는 것처럼 SQL을 사용하여 조회할 수 있게 해 준다. 비슷한 기능을 제공하는데 두 서비스의 차이는 어떻게 될까? 간단히 정리해 둔다. S3 Select 참고 : 2022.11.07 - [AWS] S3 Select - 객체 내 데이터 쿼리 간단한 SQL을 사용해 전체 객체를 검색하는 대신 S3 객체 콘텐츠의 하위 집합을 검색하는 S3 기능이다. CSV, JSON, Apache Parquet 형식이어야 하며, GZIP, BZIP2 방식으로 압축된 데이터 대해서도 사용할 수 있다. 서버리스 기능이므로 기능을 사용하기 위해 관리해야 하는 인프라가 없다. 다만 SELECT 문만 지원하며 FROM, WHERE, LIMITS 절..

AWS 2023.03.13
1 2 3 4 5 6 7