AWS 주니어 기술면접
새 면접Q. VPC(Virtual Private Cloud)의 퍼블릭 서브넷과 프라이빗 서브넷의 차이점은 무엇이며, 각각 어떤 리소스를 배치하는 것이 적절한가요?
퍼블릭 서브넷은 인터넷 게이트웨이(IGW)로 라우팅되어 인터넷과 직접 통신이 가능한 서브넷이고, 프라이빗 서브넷은 인터넷 게이트웨이로 직접 라우팅되지 않아 외부에서 직접 접근할 수 없는 서브넷입니다. 퍼블릭 서브넷에는 웹 서버, 로드 밸런서, Bastion Host 등 외부 접근이 필요한 리소스를 배치하고, 프라이빗 서브넷에는 데이터베이스, 애플리케이션 서버 등 보안이 중요한 리소스를 배치합니다. 프라이빗 서브넷의 리소스가 인터넷 접근이 필요한 경우 NAT Gateway를 통해 아웃바운드 통신을 할 수 있습니다.
- • 퍼블릭 서브넷은 IGW로 라우팅되어 인터넷 통신 가능
- • 프라이빗 서브넷은 외부 직접 접근 불가능
- • 보안을 위해 계층별로 리소스 분리 배치
- • NAT Gateway로 프라이빗 서브넷의 아웃바운드 통신 지원
NAT Gateway와 NAT Instance의 차이점과 각각의 장단점은 무엇인가요?
Q. AWS IAM에서 사용자(User), 그룹(Group), 역할(Role)의 차이점을 설명하고, 각각을 사용하는 적절한 시나리오를 예를 들어 설명해주세요.
IAM 사용자는 AWS 콘솔이나 API에 접근하는 개별 사람이나 애플리케이션을 위한 영구적인 자격 증명입니다. 그룹은 여러 사용자를 묶어 동일한 권한을 일괄 관리하는 단위로, 예를 들어 개발팀 그룹에 개발자들을 추가하고 EC2, S3 접근 권한을 부여할 수 있습니다. 역할은 임시 자격 증명을 제공하는 것으로, EC2 인스턴스가 S3에 접근하거나 Lambda 함수가 DynamoDB를 사용할 때 역할을 부여합니다. 역할은 AWS 리소스 간 권한 부여나 크로스 계정 접근에 사용되며, 장기 자격 증명을 코드에 하드코딩하지 않아 보안상 안전합니다.
- • 사용자는 영구 자격 증명을 가진 개별 주체
- • 그룹은 사용자 권한을 일괄 관리하는 단위
- • 역할은 임시 자격 증명으로 AWS 리소스나 서비스에 부여
- • 역할 사용 시 자격 증명 하드코딩 불필요
IAM 정책에서 인라인 정책(Inline Policy)과 관리형 정책(Managed Policy)의 차이는 무엇인가요?
Q. S3의 다양한 스토리지 클래스(Standard, IA, Glacier 등) 중에서 로그 파일 보관 전략을 수립한다면 어떻게 설계하시겠습니까? 비용 최적화 관점에서 설명해주세요.
최근 30일간의 로그는 자주 조회될 수 있으므로 S3 Standard에 보관하고, 30일~90일 로그는 접근 빈도가 낮아지므로 S3 Standard-IA(Infrequent Access)로 이동시킵니다. 90일 이후의 로그는 규정 준수를 위한 장기 보관용이므로 S3 Glacier나 Glacier Deep Archive로 이동시켜 스토리지 비용을 대폭 절감합니다. 이러한 전환은 S3 Lifecycle Policy를 설정하여 자동화할 수 있으며, 객체의 나이에 따라 자동으로 스토리지 클래스를 변경하거나 삭제할 수 있습니다. 이를 통해 수동 관리 없이 비용을 최적화할 수 있습니다.
- • 접근 빈도에 따라 스토리지 클래스 선택
- • 최근 데이터는 Standard, 오래된 데이터는 IA나 Glacier 사용
- • Lifecycle Policy로 자동 전환 설정
- • 비용과 접근성의 트레이드오프 고려
S3 Glacier에서 데이터를 즉시 조회해야 하는 상황이 발생하면 어떻게 해야 하나요?
Q. AWS ELB(Elastic Load Balancer)의 세 가지 유형인 ALB, NLB, CLB의 주요 차이점과 각각 어떤 상황에서 사용하는 것이 적절한지 설명해주세요.
ALB(Application Load Balancer)는 HTTP/HTTPS 트래픽을 처리하는 Layer 7 로드 밸런서로, URL 경로나 호스트 기반 라우팅이 가능하여 마이크로서비스 아키텍처에 적합합니다. NLB(Network Load Balancer)는 TCP/UDP 트래픽을 처리하는 Layer 4 로드 밸런서로, 초고성능과 낮은 지연시간이 필요한 경우나 고정 IP가 필요한 경우에 사용합니다. CLB(Classic Load Balancer)는 이전 세대 로드 밸런서로 현재는 ALB나 NLB 사용을 권장합니다. 일반적인 웹 애플리케이션은 ALB를, 실시간 게임 서버나 IoT 데이터 수집은 NLB를 선택합니다.
- • ALB는 Layer 7에서 HTTP/HTTPS 처리 및 콘텐츠 기반 라우팅
- • NLB는 Layer 4에서 고성능 TCP/UDP 처리
- • ALB는 웹 애플리케이션, NLB는 고성능 요구 상황에 적합
- • CLB는 레거시로 신규 프로젝트에서는 비권장
ALB에서 타겟 그룹(Target Group)의 헬스 체크는 어떻게 동작하며, 어떤 설정을 조정할 수 있나요?
Q. EC2 인스턴스의 구매 옵션인 온디맨드, 예약 인스턴스, 스팟 인스턴스의 차이점을 설명하고, 각각을 조합하여 비용 효율적인 인프라를 구성하는 전략을 제시해주세요.
온디맨드 인스턴스는 사용한 만큼 초 단위로 과금되며 약정 없이 즉시 시작/종료가 가능하지만 가격이 가장 비쌉니다. 예약 인스턴스는 1년 또는 3년 약정으로 최대 75% 할인을 받을 수 있어 안정적인 기본 워크로드에 적합합니다. 스팟 인스턴스는 최대 90% 할인되지만 AWS가 회수할 수 있어 중단 가능한 배치 작업이나 빅데이터 처리에 적합합니다. 효율적인 전략은 기본 트래픽을 처리하는 최소 용량은 예약 인스턴스로 확보하고, 트래픽 변동에 대응하는 확장 부분은 스팟 인스턴스를 우선 사용하며, 스팟이 불가능할 때 온디맨드로 대체하는 방식입니다.
- • 온디맨드는 유연하지만 비용이 높음
- • 예약 인스턴스는 장기 약정으로 최대 75% 할인
- • 스팟 인스턴스는 최대 90% 할인이지만 중단 가능
- • 기본 용량은 예약, 변동 용량은 스팟+온디맨드 조합
스팟 인스턴스가 중단될 때를 대비한 애플리케이션 설계 방법은 무엇이 있나요?
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!