[AWS] AWS CLI (Command Line Interface)
·
Minding's Programming/AWS
AWS CLIAWS CLI (Command Line Interface)는 AWS 서비스를 관리할 수 있는 통합 도구로, 명령어를 통해 서비스를 제어하고 스크립트를 통해 자동화할 수 있는 shell이다. AWS CLI 설치pip 명령어를 통해 간단히 설치할 수 있다.pip install awscli 설치 확인은 아래 명령어로 가능하다.aws --version>>>aws-cli/1.35.14 Python/3.11.7 Windows/10 botocore/1.35.48 계정 연결AWS CLI 설치 뒤 내 계정을 등록해주어야 CLI를 통해 AWS 서비스에 접근할 수 있다. 이를 위해서는 액세스 키를 발급받아야 한다. 임의로 사용자를 하나 생성해보았다. 해당 사용자 계정 상세 정보로 진입해 '보안 자격 증명'이라는..
[AWS] CI / CD (CodeCommit, CodeBuild, CodeDeploy, CodePipeline)
·
Minding's Programming/AWS
CI / CDCI와 CD는 프로그램을 배포하는 과정에서 많이 쓰이는 용어다. 그 개념에 대해 알아보자. CI (continuous Integration)모든 개발자가 개발한 코드를 공유 리포지토리에 하루에도 여러 번 코드를 커밋하고 병합하는 것으로, 빌드 및 테스트 자동화 과정을 의미한다.CD (continuous Delivery)개발팀이 짧은 주기로 소프트웨어를 개발하고 언제든지 운영환경으로 안정적 배포하는 것으로, 배포 자동화 과정을 의미한다. 즉, CI와 CD는 하나의 통합된 과정이며, '개발 - 테스트 - 배포 - 운영 - 개발'의 흐름이 반복되는 과정이라고 생각할 수 있다.위는 AWS EC2에 웹 애플리케이션을 배포하는 파이프라인이다. Github 리포지토리에서 변경 사항을 커밋해 AWS 리소스..
[AWS] S3
·
Minding's Programming/AWS
S3Amazon S3(Simple Storage Service)는 객체 스토리지 서비스다.(파일이나 객체 등을 저장) 데이터 레이크, 웹 사이트, 모바일 앱 등 다양한 분야에서 원하는 양의 데이터를 저장하고 보호할 수 있는 기능을 가지고 있다. S3는 특정 비즈니스, 조직 및 규정 준수 요구 사항에 맞게 데이터에 대한 엑세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공하고 있다. S3 기능스토리지 클래스스토리지 관리액세스 관리데이터 처리스토리지 로깅 및 모니터링분석 및 인사이트강력한 일관성정적 웹 사이트 호스팅S3를 이용해 별도의 서버없이 정적 웹 사이트를 호스팅할 수도 있다. 클라이언트 측 스크립트를 포함할 수도 있다. S3의 구조S3는 크게 버킷, 객체, 키로 구성되어 있다. 버킷 > 객체..
[AWS] IAM
·
Minding's Programming/AWS
IAMAWS IAM(Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 사용해 리소스를 사용하도록 인증(로그인) 및 권한 부여된 대상을 제어할 수 있다. 즉, 각 계정의 역할을 관리한다. AWS 계정 생성 시 해당 계정의 모든 AWS 서비스와 리소스에 완전한 액세스 권한이 있는 단일 로그인 ID로 시작한다.(=루트 계정) 이 때 생성 시 사용한 이메일 주소와 암호로 로그인해 액세스 한다. 하지만 일상적인 작업 시 이 루트 계정을 사용하는 것은 추천하지 않는다. IAM의 특징AWS 계정에 대한 공유세분화된 권한Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스멀티 팩터 인증(MFA)ID 페더레..
[AWS] VPC
·
Minding's Programming/AWS
VPCVPC(Virtual Private Cloud)는 사용자가 정의한 가상 네트워크로, AWS에서는 Amazon VPC라는 이름의 서비스로 제공되고 있다. 클라우드 망에서 가상의 네트워크망을 구축하는 것이다. 이를 통해 데이터 엔지니어는 안전한 네트워크 망에서 중요한 데이터가 오갈 수 있도록 설정할 수 있고, 내부 네트워크 디자인 경로를 디자인할 수 있어 데이터를 처리하는 과정을 모두 내부화할 수 있다. DB에 접근을 제어할 수 있을 뿐 아니라 공유할 때에도 VPC 연결 설정을 이용할 수 있다. VPC의 기능서브넷: VPC의 IP 주소 범위이다. 서브넷은 단일 가용 영역에 상주해야 하고, 서브넷 추가 후에 VPC에 AWS 리소스를 배포할 수 있다.IP 주소 지정: VPC와 서브넷에 IPv4 주소와 IP..
[AWS] ELB (Elastic Load Balancing)
·
Minding's Programming/AWS
ELB (Elastic Load Balancing)ELB (Elastic Load Balancing)는 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법이라고 할 수 있다. 로드 밸런서 (Load Balancer)로드 밸랜서는 서버에 가해지는 부하(로드)를 분산(밸런싱)해주는 장치 또는 기술을 통칭한다. 크게 L4 로드밸런서와 L7 로드밸런서로 나뉘는데, 다음과 같은 차이가 있다. ELB 대상그룹로드 밸런서를 생성 후 어디에 연결되는 ELB인지 대상그룹을 등록해 주어야 사용할 수 있다. ELB 설정 방법ELB는 다른 서비스와 달리 EC2에 포함된 서비스로, EC2 대시보드의 좌측 메뉴 바에서 확인할 수 있다.'로드 밸런서' 항목에 진인해 로드 밸런서 생성을 누르면 다음과 ..
[AWS] CloudFront
·
Minding's Programming/AWS
CloudFrontCloudFront는 AWS의 콘텐츠 전송 네트워크(CDN) 서비스이며, 굳이 메인 서버까지 가지 않고 각 지역에 퍼져있는 가장 가까운 서버에서 콘텐츠를 다운로드 받을 수 있다. 서버가 분산되어 성능 및 보안 측면에서 유리하다. 주로 SW나 게임의 패치에 CDN이 많이 쓰인다. 또한 자주 반복되는 이미지, 콘텐츠 등을 캐싱(저장)하여 서버가 이를 반복적으로 처리하지 않고 빠르게 사용자에게 전달 가능하다는 장점도 있다. 특징대기시간 감소보안 향상비용 절감사용자 정의 전송CloudFront 배포 생성미리 등록된 도메인(CDN 서비스가 가능한)을 등록해 CloudFront 배포를 생성할 수 있다.  HTTP, HTTPS등 프로토콜부터 HTTP 요청 방식에 제약을 둘 수도 있다. 이외에 특정 ..
[AWS] Certification Manager
·
Minding's Programming/AWS
Certification ManagerAWS Certification Manager(ACM)는 AWS 서비스 및 연결된 내부 리소스에 대한 공인 및 사설 SSL/TLS 인증서를 프로비저닝하고 관리/배포할 수 있는 서비스다. ACM을 이용하면 인증서를 구매, 업로드 및 갱신할 때 드는 시간 및 프로세스 소모를 줄일 수 있다. ACM의 특징ACM 통합 서비스를 위한 무료 퍼블릭 인증서관리형 인증서 갱신손쉽게 인증서 받을 수 있음SSL 인증서https에 사용되는 SSL 인증서는 공개 키(publice key)와 개인 키(private key)라는 쌍을 가지고 있으며, 이 키들이 함께 작용해 암호화된 연결을 수립한다. 이 인증서에는 주체(subject)를 포함하고 이는 인증서/웹사이트 소유자의 ID를 뜻한다. ..