AWS 64

[AWS] CloudShell 이란

CloudShell 브라우저 기반의 사전 인증된 Shell로, AWS Management Console에서 사용할 수 있다. CloudShell을 시작하면 Amazon Linux 2 기반의 컴퓨팅 환경이 생성되고 Bash, PowerShell, Z shell 등의 원하는 쉘을 이용해 AWS CLI를 사용할 수 있다. 즉, 별도의 설치 없이 AWS CLI를 수행할 수 있다. 단, CloudShell을 이용하기 위해서는 AWSCloudShellFullAccess와 같은 권한이 필요하다. 이 글에서는 간단히 CloudShell에서 제공하는 기능을 살펴보고 직접 사용해보려고 한다. 기능 CloudShell은 다음과 같은 기능을 지원한다. AWS CLI AWS 콘솔에 로그인한 자격증명으로 Shell을 시작한다. ..

AWS 2023.08.02

[AWS cli] s3 sync/cp - An error occurred () when calling the GetObjectTagging operation: Access Denied

개요 Ubuntu 14.04 LTS에서 사용하고 있던 aws s3 sync, cp 명령이 동일하게 구성한 Ubuntu 22.04 LTS에서 아래와 같은 에러를 발생시키며 동작하지 않았다. 실행 명령어 aws s3 cp \ --profile=dev \ s3://prd-bucket/test/parser-v1.parquet s3://dev-bucket/test/parser-v1.parquet 발생 오류 메시지 copy failed: s3://s3://prd-bucket/test/parser-v1.parquet to s3://dev-bucket/test/parser-v1.parquet An error occurred (AccessDenied) when calling the GetObjectTagging oper..

AWS 2023.07.28

[AWS] S3 - 멀티파트 업로드/다운로드

멀티파트 업로드기본적으로 S3에 단일 작업으로 업로드할 수 있는 객체의 크기는 최대 5GB이다. 만약 5GB를 초과하는 객체를 업로드해야 한다면 멀티파트 업로드 기능을 사용해야 하는데. 멀티파트 업로드 기능이란 하나의 대용량 파일을 여러 개의 부분으로 나눠 업로드하는 기능이다. 일반적으로 객체 크기가 100MB를 넘으면 멀티파트 업로드를 권장한다. 멀티파트 업로드를 이용하면 최대 5TB의 객체를 업로드할 수 있고, 큰 객체를 여러 조각으로 나눠 병렬 처리할 수 있어 빠르게 업로드할 수 있다.다만 객체의 일부분만 업로드된 경우에는 객체가 S3에 표시되지 않는다. 하지만 용량을 차지하고 있기 때문에 비용이 발생하므로 수명주기 규칙 등을 활용해 삭제해 주는 등의 관리가 필요하다.  cli를 이용한 멀티파트 업..

AWS 2023.07.27

[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

[Linux] 명령어 실행 결과를 다른 명령 인자로 전달하기

개요 예로 들어 AWS 계정 내 모든 S3 버킷에 대한 버전 관리 기능 활성화 여부를 확인하고 싶다. 계정 내 S3 버킷 목록은 list-buckets 명령어로 확인할 수 있고, aws s3api list-buckets 버킷의 버전 관리 기능 활성화 여부는 get-bucket-versioning 명령어에 확인할 버킷을 지정하여 확인할 수 있다. aws s3api get-bucket-versioning --bucket BUCKET_NAME 이 두 개 명령을 묶어서 하나의 명령어로 처리하고 싶다. 방법을 적어둔다. xargs 빈칸이나 새 줄로 구분된 표준 입력을 읽어 명령어의 인자(argument)로 전달할 수 있는 명령어다. 앞 명령어의 출력을 다음 명령어의 입력으로 전달하는 PIPE(|)와 같이 사용한다..

Linux 2023.05.31

[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
1 2 3 4 5 6 7