이 글은 최주호님의 개발자를 위한 AWS DevOps 입문 [CI/CD 무중단 배포]를 통해 학습한 내용을 정리하여 작성합니다.
EC2 서버 임대
프리티어 버전에서 무료로 사용하가능한 EC2에 대해 설명한다.
우선 AWS에 로그인 후 지역(region)을 '서울'로 변경해주어야 한다.
EC2의 '인스턴스'로 이동 후 '인스턴스 시작'을 클릭한다.
인스턴스 시작
이름
- '이름(Name)'은 인스턴스를 식별하고 구분하기 위해 사용되는 옵션이다.
- 이 이름은 사용자가 임의로 지정하며, 인스턴스를 관리하고 식별하는 데 도움을 준다.
- 이름은 EC2 콘솔, AWS CLI(Command Line Interface), AWS SDK(Software Development Kit) 등을 통해 인스턴스를 생성할 때 지정할 수 있다.
- 또한 인스턴스가 생성된 후에도 이름을 수정할 수 있습니다.
- 인스턴스의 이름은 다양한 목적으로 사용될 수 있다.
- 식별 및 관리
- 이름을 통해 여러 개의 인스턴스를 구분하여 쉽게 식별할 수 있다.
- 예를 들어, 개발 환경, 테스트 환경, 프로덕션 환경 등을 구분하기 위해 각 인스턴스에 고유한 이름을 부여할 수 있다.
- 태그 기반의 리소스 관리
- AWS 리소스에는 태그(Tag)라는 추가 정보를 부여할 수 있다.
- 인스턴스에 이름을 태그로 지정하면 특정 이름을 가진 인스턴스들을 필터링하거나 특정 작업에 대해 일괄적으로 적용할 수 있다.
- 예를 들어, 특정 태그를 가진 인스턴스들에 대해 자동 백업 정책을 적용하거나, 비용 관리를 위해 특정 태그를 가진 인스턴스들의 비용을 모니터링할 수 있다.
- 사용자 정의
- 이름은 사용자의 편의에 따라 자유롭게 설정할 수 있다.
- 식별 및 관리
- 예를 들어, 인스턴스의 용도, 소유자, 프로젝트 이름 등을 포함한 의미 있는 이름을 부여하여 사용자의 작업 흐름에 맞게 인스턴스를 관리할 수 있다.
애플리케이션 및 OS 이미지(Amazon Machine Image)
- 'Amazon Machine Image(AMI)'는 인스턴스를 시작하는 데 사용되는 템플릿이다.
- AMI는 EC2 인스턴스를 시작할 때 인스턴스의 운영 체제(예: Linux, Windows 등)와 사전 설치된 소프트웨어, 설정, 데이터 등을 포함한 이미지이다.
- AMI는 다음과 같은 주요 기능을 제공한다.
- 사전 구성된 이미지
- AMI는 특정 운영 체제와 사전 설치된 소프트웨어, 설정, 데이터 등을 이미 포함하고 있다.
- 따라서 새로운 EC2 인스턴스를 시작할 때 AMI를 선택하면 이러한 사전 구성된 이미지를 기반으로 인스턴스를 빠르게 시작할 수 있다.
- 확장성
- AMI는 EC2 인스턴스의 복제와 확장을 용이하게 한다.
- 한 번 생성한 AMI를 여러 인스턴스에 사용하여 일관된 환경과 설정을 유지할 수 있다.
- 또한 AMI를 사용하여 필요에 따라 인스턴스 그룹을 확장하고 애플리케이션의 수요에 따라 인스턴스를 추가할 수 있다.
- 사용자 정의 AMI
- 사용자는 자신의 요구에 맞게 AMI를 생성할 수 있다.
- 예를 들어, 사용자가 설치하고 설정한 특정 소프트웨어와 구성을 포함한 AMI를 생성하여 이를 기반으로 인스턴스를 시작할 수 있다.
- 이는 개발 환경, 애플리케이션 스택 등을 미리 정의하여 다른 인스턴스에서 재사용할 수 있는 장점을 제공한다.
- 사전 구성된 이미지
인스턴스 유형
- '인스턴스 유형(Instance Type)'은 인스턴스의 리소스, 성능 및 용도를 결정하는 데 사용되는 옵션이다.
- 각 인스턴스 유형은 CPU, 메모리, 스토리지, 네트워크 대역폭 등과 같은 특정한 하드웨어 구성을 가지고 있으며, 다양한 용도와 요구 사항에 맞게 최적화되어 있다.
- 인스턴스 유형은 다음과 같은 주요 특성을 가지고 있다.
- CPU 및 메모리
- 인스턴스 유형은 다양한 CPU와 메모리 구성을 제공한다.
- 작은 규모의 애플리케이션을 호스팅하기 위한 저성능 인스턴스부터 고성능 컴퓨팅 작업을 위한 대규모 메모리 인스턴스까지 다양한 선택지가 있다.
- 스토리지
- 인스턴스 유형은 인스턴스에 사용할 수 있는 스토리지의 유형과 용량을 결정한다.
- 일부 인스턴스 유형은 로컬 스토리지(인스턴스가 실행 중인 호스트에 직접 연결된 스토리지)를 제공하며, 다른 인스턴스 유형은 Amazon EBS(Elastic Block Store)와 같은 네트워크 기반 스토리지를 사용할 수 있다.
- 네트워킹
- 인스턴스 유형은 네트워크 대역폭, 네트워크 I/O 성능, 고정 IP 주소 등과 같은 네트워킹 관련 기능을 제공한다.
- 이는 애플리케이션의 트래픽 처리 요구 사항을 충족하기 위해 선택할 수 있는 다양한 옵션을 의미한다.
- GPU 및 FPGA
- 일부 인스턴스 유형은 그래픽 처리 장치(GPU) 또는 필드 프로그래밍 가능 게이트 어레이(FPGA)와 같은 특수한 하드웨어 가속을 제공한다.
- 이러한 인스턴스 유형은 고성능 컴퓨팅, 기계 학습, 데이터 처리 등에 사용된다.
- CPU 및 메모리
- 인스턴스 유형은 애플리케이션의 요구 사항에 맞추어 선택되어야 한다.
- CPU 집약적 작업에는 CPU가 강력한 인스턴스 유형이 적합하고, 메모리 집약적 작업에는 메모리가 많은 인스턴스 유형이 적합하다.
- 네트워크 처리나 그래픽 가속이 필요한 작업에는 해당 기능을 제공하는 인스턴스 유형을 선택해야 한다.
- AWS는 다양한 인스턴스 유형을 제공하므로 필요에 맞는 최적의 인스턴스 유형을 선택할 수 있다.
- 인스턴스 유형은 인스턴스 생성 시 선택되며, 이후에도 필요에 따라 인스턴스 유형을 변경할 수 있다.
키 페어(로그인)
- '키 페어'는 인스턴스에 안전하게 접속하고 관리하기 위한 인증 메커니즘이다.
- 키 페어는 공개 키와 비밀 키의 쌍으로 구성되어 있다.
- 키 페어를 사용하면 다음과 같은 작업을 수행할 수 있다.
- 인스턴스에 안전한 원격 접속
- 키 페어는 SSH(Secure Shell) 프로토콜을 사용하여 AWS EC2(Elastic Compute Cloud) 인스턴스와 안전하게 연결할 수 있도록 한다.
- 키 페어를 사용하면 암호 없이 SSH를 통해 인스턴스에 접속할 수 있으며, 인증을 위한 비밀번호를 사용할 필요가 없다.
- 인스턴스 보안 강화
- 키 페어는 인스턴스에 대한 접근을 제어하여 보안을 강화한다.
- 키 페어를 가진 사용자만 해당 인스턴스에 접속할 수 있으며, 키 페어를 분실하거나 악용당한 경우에는 키 페어를 교체하여 보안을 유지할 수 있다.
- 데이터 보호
- 키 페어를 사용하여 인스턴스에 암호화된 데이터를 전송할 수 있다.
- 공개 키를 사용하여 데이터를 암호화하고, 비밀 키는 암호를 해독하기 위해 필요하다.
- 이를 통해 데이터의 안전성을 보장할 수 있습니다.
- 인스턴스에 안전한 원격 접속
- AWS에서 키 페어를 생성하면 공개 키(.pem 파일)를 다운로드하게 된다.
- 이 공개 키는 접속할 인스턴스에 등록되며, 개인 키는 안전한 곳에 보관해야 한다.
- 개인 키는 보안을 위해 공유되지 않아야 하며, 잃어버리거나 유출되지 않도록 주의해야 한다.
- 키 페어는 AWS EC2 인스턴스에서 가장 일반적으로 사용되는 인증 메커니즘 중 하나이며, 인스턴스에 안전하게 접속하고 보안을 강화하는 데 중요한 역할을 한다.
네트워크 설정
- '네트워크 설정'은 인스턴스와 관련된 네트워크 관련 구성을 지정하는 옵션이다.
- 이 옵션은 인스턴스의 네트워크 연결, 서브넷, 보안 그룹 등을 설정하는 데 사용된다.
- 네트워크 설정에는 다음과 같은 요소들이 포함될 수 있다.
- 가상 프라이빗 클라우드(VPC) 및 서브넷
- 가상 프라이빗 클라우드는 가상 네트워크를 제공하며, 서브넷은 VPC 내에서 인스턴스가 배치될 네트워크 영역을 정의한다.
- 인스턴스 시작 시 어느 VPC와 서브넷에 배치할지 선택할 수 있다.
- 가상 프라이빗 클라우드는 가상 네트워크를 제공하며, 서브넷은 VPC 내에서 인스턴스가 배치될 네트워크 영역을 정의한다.
- 보안 그룹
- 보안 그룹은 인스턴스의 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 한다.
- 인스턴스 시작 시 하나 이상의 보안 그룹을 선택하거나 생성하여 인스턴스의 보안 규칙을 구성할 수 있다.
- 보안 그룹은 인스턴스의 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 한다.
- 탄력적 IP
- 탄력적 IP는 고정된 공인 IP 주소를 제공한다.
- 인스턴스 시작 시 탄력적 IP를 할당하여 인스턴스에 고정된 공인 IP 주소를 부여할 수 있다.
- 탄력적 IP는 고정된 공인 IP 주소를 제공한다.
- 키 페어
- 키 페어는 인스턴스에 원격으로 접속하기 위한 인증 메커니즘이다.
- 인스턴스 시작 시 특정 키 페어를 선택하여 인스턴스에 접속할 수 있도록 설정할 수 있다.
- 키 페어는 인스턴스에 원격으로 접속하기 위한 인증 메커니즘이다.
- 네트워크 인터페이스
- 인스턴스에는 하나 이상의 네트워크 인터페이스를 연결할 수 있다.
- 이를 통해 인스턴스에 여러 가상 네트워크 인터페이스, 서브넷 또는 IP 주소를 할당할 수 있다.
- 인스턴스에는 하나 이상의 네트워크 인터페이스를 연결할 수 있다.
- 가상 프라이빗 클라우드(VPC) 및 서브넷
스토리지 구성
- '스토리지 구성'은 인스턴스에 연결되는 스토리지 디바이스와 관련된 구성을 지정하는 옵션이다.
- 이 옵션을 사용하여 인스턴스의 스토리지 유형, 용량, 스토리지 옵션 등을 설정할 수 있다.
- 스토리지 구성에는 다음과 같은 요소들이 포함될 수 있다.
- 인스턴스 스토어
- 일부 인스턴스 유형은 EC2 인스턴스와 함께 제공되는 로컬 스토리지인 "인스턴스 스토어"를 사용할 수 있다.
- 인스턴스 스토어는 인스턴스가 실행 중인 호스트에 물리적으로 연결된 스토리지이며, 고성능의 임시 데이터 스토리지로 사용된다.
- 인스턴스를 종료하면 인스턴스 스토어의 데이터는 영구적으로 삭제된다.
- 일부 인스턴스 유형은 EC2 인스턴스와 함께 제공되는 로컬 스토리지인 "인스턴스 스토어"를 사용할 수 있다.
- Amazon Elastic Block Store(EBS)
- 대부분의 EC2 인스턴스는 Amazon EBS를 사용하여 영구적인 블록 수준의 스토리지를 제공한다.
- EBS는 인스턴스에 연결되는 가상 스토리지 디바이스로 사용된다.
- EBS는 고성능, 지속성, 스냅샷 및 데이터 복제 등 다양한 기능을 제공한다.
- 인스턴스의 EBS 볼륨은 인스턴스가 종료되어도 데이터를 보존하며, 필요에 따라 다른 인스턴스에 연결하여 재사용할 수 있다.
- 스토리지 유형
- EBS를 사용하는 경우 다양한 스토리지 유형을 선택할 수 있다.
- 예를 들어, General Purpose(SSD) 스토리지, Provisioned IOPS(SSD) 스토리지, Cold HDD 스토리지 등이 있다.
- 각 스토리지 유형은 다른 성능 특성과 비용을 가지고 있으므로 애플리케이션의 요구 사항에 맞게 선택할 수 있다.
- EBS를 사용하는 경우 다양한 스토리지 유형을 선택할 수 있다.
- 용량 및 구성
- 스토리지 구성에서는 인스턴스에 연결되는 스토리지의 용량을 설정할 수 있다.
- EBS의 경우 볼륨의 크기를 지정하고, 인스턴스 스토어의 경우에는 인스턴스 유형에 따라 할당된 용량을 사용한다.
- 또한, RAID 구성 등 추가적인 스토리지 설정도 가능하다.
- 인스턴스 스토어
- 스토리지 구성을 적절히 설정함으로써 인스턴스에 필요한 스토리지 용량과 유형을 제공할 수 있다.
- 데이터의 지속성, 성능 요구 사항, 가용성, 확장성 등을 고려하여 인스턴스에 적합한 스토리지 구성을 선택하고 관리해야 한다.
고급 세부 정보
- '고급 세부 정보(Advanced Details)'는 인스턴스의 환경과 구성을 세밀하게 조정할 수 있는 옵션이다.
- 이 옵션을 사용하여 인스턴스의 부가적인 설정을 수행하거나 사용자 지정 정보를 제공할 수 있다.
- 고급 세부 정보에는 다음과 같은 요소들이 포함될 수 있다.
- 사용자 데이터(User Data)
- 사용자 데이터는 인스턴스가 시작될 때 실행할 스크립트나 명령을 지정하는 기능이다.
- 사용자 데이터를 통해 인스턴스 시작 시 초기화 작업, 소프트웨어 설치, 환경 설정 등을 자동화할 수 있다.
- 사용자 데이터는 클라우드 인스턴스 내에서 스크립트나 명령을 실행하고, 인스턴스가 시작될 때 실행된다.
- 사용자 데이터는 인스턴스가 시작될 때 실행할 스크립트나 명령을 지정하는 기능이다.
- IAM 역할(IAM Role)
- IAM 역할을 인스턴스에 연결하여 인스턴스가 AWS 리소스에 접근하고 AWS 서비스와 상호 작용할 수 있는 권한을 부여할 수 있다.
- IAM 역할을 사용하면 인스턴스의 보안 및 자격 증명 관리를 향상시킬 수 있다.
- 클라우드 모니터링(CloudWatch Monitoring)
- 인스턴스 시작 시 CloudWatch Monitoring을 활성화하여 인스턴스의 성능 지표를 수집하고 모니터링할 수 있다.
- 이를 통해 CPU 사용률, 네트워크 트래픽, 디스크 I/O 등 인스턴스의 리소스 사용량에 대한 가시성을 얻을 수 있다.
- 네트워크 인터페이스
- 인스턴스에 하나 이상의 네트워크 인터페이스를 연결할 수 있다.
- 이를 통해 인스턴스에 여러 가상 네트워크 인터페이스, 서브넷 또는 IP 주소를 할당할 수 있다.
- 인스턴스에 하나 이상의 네트워크 인터페이스를 연결할 수 있다.
- 보안 및 암호화 설정
- 인스턴스의 보안 설정을 구성할 수 있다.
- 예를 들어, 인스턴스에 대한 특정 포트의 액세스를 제한하거나 보안 그룹을 구성할 수 있다.
- 또한, 인스턴스에 EBS 볼륨을 연결하고 해당 볼륨을 암호화하여 데이터 보안을 강화할 수도 있다.
- 인스턴스의 보안 설정을 구성할 수 있다.
- 스토리지 구성
- 인스턴스에 연결할 스토리지 디바이스 및 구성을 설정할 수 있다.
- 이를 통해 인스턴스에 필요한 용량 및 스토리지 유형을 지정할 수 있다.
- 인스턴스에 연결할 스토리지 디바이스 및 구성을 설정할 수 있다.
- 사용자 데이터(User Data)
인스턴스 생성
- 인스턴스가 정상적으로 생성되어 '실행 중'인 것을 확인할 수 있다.
'AWS > AWS 배포' 카테고리의 다른 글
RSA 인증 (0) | 2023.07.04 |
---|---|
EC2서버 방화벽 (0) | 2023.07.04 |
EC2서버 맥(MAC) 접속 (0) | 2023.07.04 |
전산실 구축시 고려사항 (0) | 2023.07.02 |
학습목표 (0) | 2023.06.26 |