목록📖 ☁️ 클라우드 (28)
즐겁게, 코드
여러 개발 도구들 중에서도 쿠버네티스는 어려운 축에 꼽히는데요, 쿠버네티스를 이해하려면 먼저 클러스터를 구성하는 기본 구성 요소들에 대해 알아야 합니다. 이번 글에서는 클러스터를 구성하는 컴포넌트들과 각각의 역할을 간단히 정리해보도록 하겠습니다. 메인 쿠버네티스 컴포넌트 목록 제가 아직 사용해보지 않은 DaemonSet 등 일부 쿠버네티스 컴포넌트는 이 글에서 다루지 않지만, 주로 사용되는 컴포넌트를 정리해 보았습니다. (정리되지 않은 컴포넌트 역시 추후 추가할 수 있도록 해보겠습니다. 🙂) Pod Pod(파드)는 쿠버네티스의 가장 작은 유닛으로, 컨테이너를 감싸 추상화한 결과물을 의미합니다. 주로 1개 파드에서 1개 어플리케이션을 운영하며, 각 파드는 고유한 내부 IP 주소를 부여받아 노드 내에서 파드..
EC2 인스턴스를 사용하는 목적은 다양할 텐데요, 누군가는 여러 EC2 인스턴스들을 하나로 묶어 높은 컴퓨팅 성능을 원할 것이고, 다른 누군가는 EC2 인스턴스들에 고가용성에 초점을 맞출 수도 있습니다. 사용자가 EC2 인스턴스를 생성하면 AWS에서는 하드웨어(랙)에 이를 생성하는데요, 컴퓨팅, 분산처리 특화 등의 인스턴스 활용 전략을 수립하기 위해 EC2 배치 그룹(Placement Group) 설정을 활용하면 여러 EC2 인스턴스들을 랙 상에서 어떤 형태로 배치할 지 설정할 수 있습니다. 인스턴스 배치 그룹 배치 그룹은 EC2 관리 콘솔 사이드바 중 [네트워크 및 보안] 탭에서 생성할 수 있습니다. 배치 그룹 메뉴에 들어가면 여러 배치 그룹을 관리하거나 생성할 수 있는 메뉴가 나타나는데요, 우측 상단..
🚨 주의! 본 포스팅은 리액트 웹 어플리케이션을 기반으로 합니다. 지난 글에 이어 유저 페이지에서 프로필 사진을 지정할 수 있도록 하고, 이미지를 업로드하면 곧장 S3에 올라갈 수 있도록 합니다. 이를 구현하는 과정을 크게 [input 태그 커스텀] - [AWS SDK 연동] - [대체 이미지 설정] 단계로 나눠 설명드리겠습니다. [1 / 3] - input 태그 커스텀 먼저 클라이언트의 파일 업로드를 위해 input[type=file] 태그를 활용합니다. 그런데, 이걸 스타일하는게 아주 악랄합니다. input[type=file]는 브라우저가 기본적으로 “파일 선택 / 선택된 파일 없음” 이라는 문구를 출력하는데요, 이게 속성을 설정한다고 해서 보이지 않는게 아니라 position: absolute 등 ..
산학프로젝트 진행 중, AWS 사용 비율이 낮다는 지적을 받아 S3를 사용할 곳을 찾고 있었습니다. 그러다 떠올린 것이 S3를 활용해 "유저 프로필 사진을 업로드하는 기능을 추가할 수 있게 하면 어떨까?" 라는 생각을 하게 되어 바로 제작에 들어갔습니다. ⚙️ AWS S3 설정하기 S3 사용 순서는 크게 [정책 / 역할 설정] - [Cognito로 접근 권한 부여] - [S3 버킷 퍼블릭 설정] - [클라이언트 코드에서 SDK로 접근] 단계로 나뉩니다. 과정이 꽤나 긴 만큼, 이미지 스크린샷 위주로 설명을 진행하겠습니다. [1 / 3] - IAM에서 역할 설정하기 먼저, 정책을 생성하기 위해 IAM 메뉴에 들어옵니다. IAM 메뉴에서는 AWS 서비스에 접근할 수 있는 권한을 부여할 수 있는데요, [역할]..
산학프로젝트 과목의 AWS 특강을 듣고 CI/CD와 인프라에 대한 내용에 관심이 생겨 찾아보던 중, "도커" 라는 플랫폼을 통해 개발과 운영 환경을 통합할 수 있음을 알게 되었습니다. 이번 글에서는 도커와 도커의 핵심 구성요소인 이미지와 컨테이너에 대해 간단히 정리해보도록 하겠습니다. 1. Why Docker? 당연하지만 회사나 조직에서 근무하는 모든 인원들의 개발 환경이 같을 수는 없습니다. 누구는 리눅스를, 누구는 맥을, 누구는 Node.js 14를, 누구는 Node.js 12를... 이렇게 모두 다른 환경에서는 설치 과정과 실행방법이 모두 다를 수밖에 없지만, 도커를 활용하면 어떤 환경에서든 동일한 조건과 방법으로 소프트웨어를 실행할 수 있습니다. (※ 아마 여기서 버추얼박스같은 가상 OS를 떠올리..
서버리스 프레임워크로 로컬 환경에서 dynamoDB를 활용하려 하니 Serverless: Skipping start: DynamoDB Local is not available for stage: dev 라는 오류가 출력되는 경우가 있다. 이럴 경우 serverless.yml에 다음 구문을 복사해주면 된다. custom: dynamodb: stages: - dev 유사한 오류로 Serverless: Skipping start: DynamoDB Local is not available for stage: test 라는 메시지가 출력되면 위 코드를 -dev 에서 -test 로 고쳐주자.
이번 글에서는 AWS Lambda 서비스를 활용하는 방법을 다룬다. 바닥부터 배포를 경험해보기 위해 serverless 프레임워크나 AWS 웹 콘솔을 사용하는 대신 aws-cli를 활용하는 방법을 정리한다. 1. aws-cli 설치 실습을 위해 AWS 계정과 aws-cli를 설치해준다. 설치 방법은 운영체제마다 상이하니 AWS 문서 에서 본인 OS에 맞게 설치하자. aws-cli 설치가 끝나면 터미널에서 aws --version 커맨드를 통해 설치가 완료되었는지 확인한다. 2. 사용자 계정 연동하기 다음은 aws-cli와 AWS 계정을 연동하기 위해 [내 보안 자격 증명] 메뉴에 들어간다. 이곳이 IAM 대시보드인데, 사용자 인증 및 권한 부여 등의 기능을 모두 여기서 관리한다. aws-cli와의 연동을..