새발블로그
[AWS SAA] 스토리지 본문

S3
핵심 개념
- S3는 객체 스토리지 서비스
- 파일을 객체 단위로 저장하며, 각 객체는 버킷 안에 저장됨
- 객체는 키, 값, 메타데이터로 구성됨
- 웹 이미지, 로그, 백업 파일, 정적 웹 사이트 파일, 데이터레이크 원천 데이터 저장 등에 사용
- S3는 파일 시스템이 아니라 객체 스토리지이므로, EBS처럼 EC2에 블록 디스크로 연결하는 서비스가 아님
- S3 버킷에는 보안 그룹을 연결할 수 없음
- S3는 기본적으로 리전 단위 서비스이며, 버킷 이름은 전 세계에서 고유해야 함
- S3는 높은 내구성을 제공하지만, 스토리지 클래스에 따라 가용성, 비용, 최소 보관 기간, 검색 방식이 달라짐
S3 스토리지 클래스 비교
| 클래스 | 특징 | 사용용도 |
| Standard | 즉시 검색, 자주 접근하는 일반 객체 저장, 최소 보관 기간 없음 | 일반 데이터, 정적 콘텐츠, 자주 접근하는 파일 |
| Standard-IA | 자주 접근하지 않지만 필요 시 빠른 접근 필요, 최소 30일 보관 | 백업, DR, 장기 보관 데이터 |
| One Zone-IA | 단일 AZ에 저장, Standard-IA보다 저렴하지만 AZ 장애 시 데이터 손실 위험 | 재생 가능 데이터, 중요도가 낮은 백업 |
| Intelligent-Tiering | 액세스 패턴을 예측하기 어려운 경우 자동으로 비용 최적화 | 접근 패턴이 불규칙한 데이터 |
| Glacier Instant Retrieval | 아카이브 데이터지만 밀리초 단위 즉시 접근 가능, 최소 90일 보관 | 분기별 접근, 즉시 검색이 필요한 아카이브 |
| Glacier Flexible Retrieval | 장기 보관용, 검색에 수 분~수 시간이 걸림, 최소 90일 보관 | 백업, 장기 아카이브 |
| Glacier Deep Archive | 가장 저렴한 장기 보관 클래스, 검색 시간이 가장 김, 최소 180일 보관 | 규정 준수, 장기 보존, 거의 접근하지 않는 데이터 |
S3 최소 보관 기간
| 스토리지 클래스 | 최소 보관 기간 |
| Standard | 없음 |
| Standard-IA | 30일 |
| One Zone-IA | 30일 |
| Intelligent-Tiering | 기본 Frequent/Infrequent Access 티어는 최소 보관 기간 없음 |
| Glacier Instant Retrieval | 90일 |
| Glacier Flexible Retrieval | 90일 |
| Glacier Deep Archive | 180일 |
- 최소 보관 기간이 있는 스토리지 클래스는 해당 기간 전에 삭제하더라도 최소 기간만큼의 요금이 부과될 수 있음
- Standard-IA, One Zone-IA는 자주 접근하지 않지만 빠른 검색이 필요한 데이터에 적합
- Glacier 계열은 장기 보관에 적합하지만, 검색 시간과 최소 보관 기간을 고려해야 함
Glacier Flexible Retrieval 검색 옵션
| 검색옵션 | 특징 |
| Expedited | 수 분 내 검색, 빠른 접근이 필요할 때 사용 |
| Standard | 수 시간 내 검색, 일반적인 검색 옵션 |
| Bulk | 5~12시간 정도 소요, 가장 저렴한 대량 검색 옵션 |
- Glacier Flexible Retrieval은 검색 옵션에 따라 검색 속도와 비용이 달라짐
- Deep Archive는 검색 시간이 더 길기 때문에 즉시 접근이 필요한 데이터에는 적합하지 않음
S3 Lifecycle Policy
- Lifecycle Policy는 시간이 지나면서 접근 빈도가 줄어드는 객체를 더 저렴한 스토리지 클래스로 자동 이동하거나 삭제하는 기능
- 예를 들어 업로드 후 30일이 지나면 Standard-IA로 이동하고, 90일 후 Glacier Flexible Retrieval로 이동하고, 1년 후 삭제하는 식으로 구성 가능
- 비용 최적화에 자주 사용됨
- 미완료 멀티파트 업로드를 자동 삭제하는 데도 사용할 수 있음
멀티파트 업로드 주의
- 대용량 파일 업로드 시 멀티파트 업로드를 사용하면 안정적으로 업로드 가능
- 완료되지 않은 멀티파트 업로드가 남아 있으면 스토리지 비용이 계속 발생할 수 있음
- Lifecycle Policy에서 미완료 멀티파트 업로드를 일정 기간 후 자동 삭제하도록 설정 가능
S3 Versioning과 삭제 보호
- Versioning을 활성화하면 같은 키의 객체가 여러 버전으로 보관됨
- 실수로 객체를 덮어쓰거나 삭제해도 이전 버전을 복구할 수 있음
- 삭제 작업을 수행하면 실제 객체가 바로 삭제되는 것이 아니라 Delete Marker가 생성됨
- MFA Delete를 사용하면 버전 삭제나 버전 관리 중지 작업에 MFA 인증을 요구할 수 있음
- MFA Delete는 우발적 삭제 방지에 도움이 되지만, 설정과 운영이 번거로울 수 있음
S3 Object Lock
- S3 Object Lock은 객체를 일정 기간 삭제하거나 덮어쓰지 못하도록 보호하는 기능
- WORM, 즉 Write Once Read Many 요구사항에 사용
- 법적 보관, 감사, 규정 준수 요구사항에 적합
- Object Lock을 사용하려면 버킷의 Versioning이 활성화되어 있어야 함
| 모드 | 특징 |
| Governance Mode | 일반 사용자는 객체를 삭제하거나 보존 설정을 변경할 수 없음. 특별 권한이 있는 사용자는 우회 가능 |
| Compliance Mode | 루트 사용자를 포함해 누구도 보존 기간 동안 객체를 삭제하거나 보존 설정을 완화할 수 없음 |
- Governance Mode는 내부 통제 수준의 삭제 방지에 적합
- Compliance Mode는 법적 보관이나 강한 규정 준수 요구사항에 적합
S3 Object Lambda
- S3 Object Lambda는 S3 객체를 애플리케이션에 반환하기 전에 Lambda로 가공하거나 변환하는 기능
- 원본 객체를 직접 수정하지 않고, 요청 시점에 데이터를 변환해서 제공할 수 있음
- 예를 들어 개인정보 마스킹, 이미지 리사이징, JSON 필드 필터링 등에 사용할 수 있음
S3 Batch Operations
- S3 Batch Operations는 다수의 객체에 대해 일괄 작업을 수행하는 기능
- 객체 복사, 태그 변경, ACL 변경, Object Lock 보존 설정, Glacier 객체 복원 등의 작업을 대량으로 처리할 수 있음
- 수백만~수십억 개 객체에 반복 작업을 수행해야 할 때 적합
S3 Inventory
- S3 Inventory는 객체 목록과 메타데이터를 정기적으로 보고서로 생성하는 기능
- 객체의 스토리지 클래스, 암호화 상태, 복제 상태 등을 확인하는 데 사용할 수 있음
- S3 Inventory 자체가 객체를 이동하거나 삭제하는 기능은 아님
- 대량 객체 상태 확인 후, S3 Batch Operations와 함께 활용할 수 있음
S3 Storage Lens
- S3 Storage Lens는 S3 사용량, 활동, 비용 최적화 지표를 시각화하고 분석하는 기능
- 여러 계정과 여러 버킷의 스토리지 사용 현황을 한눈에 파악할 수 있음
- 버전 관리, 복제, 미완료 멀티파트 업로드, 암호화 상태 등 운영 지표를 분석하는 데 유용
- S3 Storage Lens는 분석 도구이며, 객체를 직접 이동하거나 삭제하는 기능은 아님
S3 Transfer Acceleration
- S3 Transfer Acceleration은 CloudFront 엣지 로케이션을 활용하여 먼 거리의 클라이언트가 S3로 더 빠르게 업로드/다운로드할 수 있도록 하는 기능
- 전 세계 사용자로부터 S3 버킷으로 대용량 파일 업로드가 많은 경우 유용
- 전용 엔드포인트 형식은 <bucket>.s3-accelerate.amazonaws.com
- 같은 리전 또는 가까운 거리에서 전송하는 경우에는 효과가 크지 않을 수 있음
Presigned URL
- Presigned URL은 S3 객체에 대해 임시 접근 권한을 부여하는 URL
- S3 객체를 퍼블릭으로 열지 않고도 제한된 시간 동안 다운로드 또는 업로드를 허용할 수 있음
- URL 만료 시간이 지나면 접근할 수 없음
- 사용자에게 임시 다운로드 링크를 제공할 때 자주 사용
Requester Pays
- Requester Pays는 S3 요청자에게 요청 비용과 데이터 전송 비용을 부담시키는 기능
- 데이터 소유자가 아니라 데이터를 가져가는 요청자가 비용을 지불하는 구조
- 대규모 공개 데이터셋 제공 시 비용 부담을 줄이기 위해 사용할 수 있음
S3 Multi-Region Access Point
- S3 Multi-Region Access Point는 여러 리전의 S3 버킷에 대해 단일 글로벌 엔드포인트를 제공하는 기능
- 클라이언트 요청을 지연 시간이 낮은 리전의 버킷으로 라우팅할 수 있음
- 요청은 AWS 글로벌 네트워크를 통해 라우팅되어 성능과 가용성을 높일 수 있음
- Active-Active 형태의 멀티 리전 애플리케이션 구성에 사용할 수 있음
- 단, Multi-Region Access Point 자체가 데이터를 자동으로 복제하는 기능은 아님
- 여러 리전 버킷 간 데이터를 일관되게 유지하려면 S3 Cross-Region Replication을 함께 구성해야 함
- 장애 조치가 필요한 경우 Multi-Region Access Point Failover Control을 사용할 수 있음
S3 접근 제어
- S3 버킷에는 보안 그룹을 연결할 수 없음
- S3 접근 제어는 IAM 정책, 버킷 정책, ACL, Access Point 정책, VPC Endpoint 정책 등을 통해 수행
- 최근에는 ACL보다 IAM 정책과 버킷 정책 중심으로 접근 제어하는 방식이 권장됨
- 퍼블릭 접근을 막으려면 S3 Block Public Access 설정을 사용
- CloudFront를 통해서만 S3에 접근하도록 하려면 OAI 또는 OAC를 사용할 수 있음
- 신규 구성에서는 OAI보다 OAC 사용을 우선 고려
- HTTPS 강제가 필요하면 버킷 정책에서 aws:SecureTransport 조건을 사용
- 저장 중 암호화가 필요하면 SSE-S3 또는 SSE-KMS 사용
- KMS 키 단위 권한 제어가 필요하면 SSE-KMS 사용
S3 접근 제어 핵심 정리
| 방식 | 용도 |
| IAM 정책 | 사용자, 역할, 애플리케이션 단위 권한 제어 |
| 버킷 정책 | 버킷 단위 접근 제어 |
| ACL | 객체/버킷 단위 접근 제어. 최근에는 사용을 줄이는 추세 |
| Block Public Access | 실수로 퍼블릭 공개되는 것 방지 |
| CloudFront OAI/OAC | CloudFront를 통해서만 S3 접근 허용 |
| VPC Endpoint 정책 | VPC Endpoint를 통한 S3 접근 범위 제어 |
| Access Point 정책 | 애플리케이션 또는 사용자 그룹별 S3 접근 경로 분리 |
CloudFront + S3
- S3 객체를 전 세계 사용자에게 빠르게 제공하려면 CloudFront와 함께 사용할 수 있음
- CloudFront를 사용하면 엣지 로케이션에 콘텐츠를 캐싱하여 지연 시간을 줄일 수 있음
- S3 버킷을 직접 퍼블릭으로 열지 않고 CloudFront를 통해서만 접근하도록 구성 가능
- 이때 OAI 또는 OAC를 사용
- OAC는 CloudFront에서 S3 오리진 접근을 제어하는 최신 방식
- 정적 웹 사이트 호스팅, 이미지/동영상 콘텐츠 배포, 다운로드 서비스 등에 적합
S3 Cross-Region Replication
- Cross-Region Replication은 한 리전의 S3 버킷에 저장된 객체를 다른 리전의 S3 버킷으로 자동 복제하는 기능
- 재해 복구, 지연 시간 개선, 컴플라이언스 요구사항에 사용
- 복제를 사용하려면 원본 버킷과 대상 버킷 모두 Versioning이 활성화되어 있어야 함
- SSE-KMS로 암호화된 객체도 복제할 수 있지만, KMS 키 권한 설정이 필요함
- 양방향 복제가 필요하면 두 방향으로 복제 규칙을 구성해야 함
- S3 Multi-Region Access Point와 함께 사용하면 멀티 리전 접근성과 데이터 복제를 함께 구성할 수 있음
S3 Access Points
- S3 Access Points는 공유 데이터셋에 대한 접근을 애플리케이션 또는 사용자 그룹별로 나누어 관리하는 기능
- 각 Access Point는 고유한 호스트 이름과 정책을 가짐
- 하나의 버킷에 여러 접근 경로와 정책을 적용할 수 있음
- 대규모 데이터레이크에서 팀별, 애플리케이션별 접근 제어를 단순화하는 데 유용
SFTP/FTP 연동
- 기존 SFTP, FTPS, FTP 클라이언트를 유지하면서 S3 또는 EFS로 파일을 저장해야 하면 AWS Transfer Family 사용
- 단순 FTP는 암호화가 없으므로 보안 요구사항이 있으면 SFTP 또는 FTPS 사용
- SFTP는 SSH 기반 파일 전송 방식
- FTPS는 TLS 기반 FTP 방식
- 기존 레거시 파일 전송 구조를 크게 바꾸지 않고 AWS 스토리지로 이전할 때 적합
EBS
- EBS는 EC2에 연결해서 사용하는 블록 스토리지
- 운영체제 디스크, 데이터베이스 디스크, 애플리케이션 데이터 저장소 등에 사용
- 일반적으로 같은 가용 영역의 EC2 인스턴스에만 연결 가능
- EC2 인스턴스와 EBS 볼륨이 서로 다른 AZ에 있으면 연결할 수 없음
- 고성능 IOPS가 필요한 워크로드는 io1 또는 io2 같은 Provisioned IOPS SSD를 고려
- RDS 또는 MySQL 쓰기 성능 병목이 스토리지 IOPS라면 CloudWatch 지표를 확인하고 프로비저닝된 IOPS 조정 고려
- EBS 스냅샷으로 새 볼륨을 복원하고 EC2에 연결할 수 있음
- EBS 스냅샷은 증분 백업 방식으로 저장됨
- EBS 스냅샷은 S3에 저장되지만, 사용자가 직접 S3 버킷의 객체처럼 관리하는 구조는 아님
EFS
- EFS는 여러 EC2 인스턴스에서 동시에 마운트 가능한 파일 스토리지
- NFS 프로토콜을 지원하며, Linux 기반 공유 파일 시스템에 적합
- 여러 가용 영역에서 접근 가능한 공유 파일 시스템 구성 가능
- 여러 EC2 인스턴스가 같은 파일을 동시에 읽고 써야 하는 경우 적합
- EFS IA는 생명주기 정책을 통해 자주 접근하지 않는 파일을 저렴한 스토리지 클래스로 전환하여 비용 절감 가능
- Windows 파일 공유나 Active Directory 통합이 필요하면 EFS가 아니라 FSx for Windows File Server 고려
- 대규모 병렬 파일 처리, HPC, ML 워크로드에는 FSx for Lustre 고려
EFS vs FSx for Windows
| 항목 | EFS | FSx for Windows |
| 프로토콜 | NFS | SMB |
| 주요 OS | Linux | Windows |
| AD 통합 | 적합하지 않음 | 지원 |
| POSIX 호환 | 지원 | 주 용도 아님 |
| 주요 용도 | Linux 기반 공유 파일 시스템 | Windows 파일 공유, AD 통합 파일 서버 |
FSx
FSx for Windows File Server
- SMB 프로토콜을 지원하는 Windows 기반 파일 시스템
- Active Directory 통합 지원
- Windows 파일 공유가 필요한 애플리케이션에 적합
- 온프레미스 Windows 파일 서버를 AWS로 이전할 때 사용
- Windows 권한 모델과 SMB 기반 접근이 필요한 경우 선택
FSx for Lustre
- 고성능 병렬 파일 시스템
- HPC, ML, 빅데이터 분석 워크로드에 적합
- S3와 연계하여 데이터셋을 가져오거나 처리 결과를 S3로 내보낼 수 있음
- Scratch 파일 시스템은 임시 처리 중심
- Persistent 파일 시스템은 장기 워크로드용
FSx for NetApp ONTAP
- NetApp ONTAP 기반의 관리형 파일 스토리지
- NFS, SMB, iSCSI 등 다중 프로토콜 액세스 지원
- 스냅샷, 복제, 압축, 중복 제거 같은 NetApp 기능 활용 가능
- 기존 NetApp 환경을 AWS로 확장하거나 이전할 때 적합
FSx for OpenZFS
- OpenZFS 기반의 관리형 파일 시스템
- NFS 프로토콜 지원
- 짧은 지연 시간과 ZFS 기반 데이터 관리 기능이 필요한 경우 사용
Storage Gateway
- Storage Gateway는 온프레미스 환경과 AWS 스토리지를 연결하는 하이브리드 스토리지 서비스
- 온프레미스 애플리케이션이 기존 파일, 블록, 테이프 방식으로 접근하면서 백엔드는 AWS 스토리지를 사용할 수 있음
- 로컬 캐시를 지원하여 온프레미스 애플리케이션이 짧은 지연 시간으로 자주 사용하는 데이터에 접근할 수 있음
- 마이그레이션 후에도 온프레미스 애플리케이션이 계속 같은 방식으로 접근해야 하는 경우 적합
Storage Gateway 유형
| 유형 | 프로토콜 | 용도 |
| File Gateway | NFS/SMB | 온프레미스 파일 데이터를 S3에 객체로 저장 |
| Volume Gateway | iSCSI | 온프레미스 블록 스토리지를 AWS 스토리지와 연동 |
| Tape Gateway | VTL | 물리적 백업 테이프를 가상 테이프로 대체 |
Volume Gateway
| 유형 | 특징 |
| Cached Volumes | 기본 데이터는 S3에 저장하고, 자주 접근하는 데이터만 로컬 캐시에 보관 |
| Stored Volumes | 전체 데이터를 로컬에 저장하고, AWS에는 스냅샷 형태로 백업 |
- Cached Volumes는 온프레미스 스토리지 확장 부담을 줄이면서 자주 접근하는 데이터는 로컬에서 빠르게 제공
- Stored Volumes는 로컬에 전체 데이터를 유지하면서 AWS를 백업 대상으로 활용하는 방식
Storage Gateway vs DataSync
| 항목 | Storage Gateway | DataSync |
| 주 용도 | 지속적인 하이브리드 스토리지 연결 | 대량 데이터 이동/마이그레이션/동기화 |
| 로컬 캐시 | 지원 | 애플리케이션용 로컬 캐시 아님 |
| 접근 방식 | 온프레미스 애플리케이션이 파일/블록/테이프 방식으로 계속 접근 | 데이터 전송 작업을 구성하여 소스에서 대상으로 복사 |
| 사용 시점 | 온프레미스 앱이 기존 방식으로 계속 접근해야 할 때 | 데이터를 AWS로 빠르고 반복적으로 이동해야 할 때 |
| 대표 키워드 | 로컬 캐시, 짧은 지연 시간, 하이브리드 스토리지 | 마이그레이션, 대량 전송, 일정 기반 동기화 |
- 문제에서 마이그레이션, 대량 전송, 일정 기반 동기화가 핵심이면 DataSync 고려
- 온프레미스 애플리케이션이 기존 방식으로 계속 접근해야 하고, 로컬 캐시와 짧은 지연 시간이 중요하면 Storage Gateway 고려
DataSync
- DataSync는 데이터 마이그레이션과 동기화를 자동화하는 서비스
- 온프레미스 스토리지, 다른 클라우드, AWS 스토리지 간 데이터를 전송할 수 있음
- DataSync 에이전트를 구성하면 온프레미스 또는 다른 스토리지에서 S3, EFS, FSx 등 AWS 스토리지로 데이터를 전송할 수 있음
- 일정 기반 반복 전송이 가능
- 파일 서버, NAS, S3, EFS, FSx 등으로 데이터를 전송할 때 사용
- 네트워크를 통한 온라인 전송이 가능하고 반복 동기화가 필요하면 DataSync가 적합
- 네트워크 제약이 크거나 온라인 전송이 현실적으로 어렵다면 Snowball 같은 오프라인 마이그레이션 방식 고려
- SFTP, FTPS, FTP 접속 자체가 필요하면 DataSync가 아니라 AWS Transfer Family 고려
Snow Family
- Snow Family는 네트워크로 전송하기 어렵거나 시간이 오래 걸리는 대용량 데이터를 물리적 장비를 통해 이전하는 서비스
- 대역폭이 부족하거나 보안상 오프라인 반출입이 필요한 경우 사용
- Snowball은 반복 백업보다는 주로 1회성 또는 제한된 기간의 대용량 오프라인 이전 요구사항에서 고려
- 엣지 환경에서 데이터 수집, 전처리, 간단한 컴퓨팅을 수행해야 하는 경우에도 사용할 수 있음
Snow Family 유형
| 유형 | 특징 |
| Snowcone | 작은 용량의 엣지/오프라인 이전 장비. 휴대성이 높음 |
| Snowball Edge Storage Optimized | 대용량 데이터 오프라인 이전에 적합 |
| Snowball Edge Compute Optimized | 엣지 환경에서 컴퓨팅 작업이 필요한 경우 적합 |
- 수십 TB~PB 단위의 데이터 이전에는 Snowball Edge를 고려
- 소규모 엣지 환경이나 휴대성이 중요한 경우 Snowcone 고려
- 10PB 이상의 초대용량 이전은 SAA 시험에서는 보통 Snowball Edge 여러 대 또는 AWS와 별도 협의가 필요한 시나리오로 이해하면 됨
AWS Transfer Family
- AWS Transfer Family는 SFTP, FTPS, FTP 기반 파일 전송 서비스를 제공
- 기존 SFTP/FTP 클라이언트를 유지하면서 S3 또는 EFS로 파일 저장 가능
- 레거시 애플리케이션을 크게 변경하지 않고 AWS 스토리지를 백엔드로 사용할 수 있음
- 단순 FTP는 암호화가 없으므로 보안 요구사항이 있으면 SFTP 또는 FTPS 사용
- 사용자 인증은 서비스 관리형 사용자, SSH 키, 커스텀 ID 공급자, Active Directory 연동 등을 사용할 수 있음
- Active Directory 연동이 필요한 경우 AWS Managed Microsoft AD 또는 AD Connector를 사용할 수 있음
- 온프레미스 AD를 그대로 사용해야 하는 경우 AD Connector를 통해 기존 디렉터리와 연결하는 구성을 고려할 수 있음
스토리지 서비스 선택 기준 요약
| 요구사항 | 적합한 서비스 |
| 객체 저장, 백업, 정적 파일 저장 | S3 |
| 자주 접근하는 일반 객체 저장 | S3 Standard |
| 자주 접근하지 않지만 빠른 접근 필요 | S3 Standard-IA |
| 재생 가능한 저비용 비활성 데이터 | S3 One Zone-IA |
| 접근 패턴 예측 어려움 | S3 Intelligent-Tiering |
| 즉시 검색 가능한 아카이브 | S3 Glacier Instant Retrieval |
| 장기 보관, 수 분~수 시간 검색 허용 | S3 Glacier Flexible Retrieval |
| 최장기 저비용 보관 | S3 Glacier Deep Archive |
| EC2에 연결하는 블록 스토리지 | EBS |
| 여러 Linux EC2에서 공유 파일 시스템 | EFS |
| Windows 파일 공유, SMB, AD 통합 | FSx for Windows File Server |
| HPC/ML 고성능 병렬 파일 시스템 | FSx for Lustre |
| NetApp 기반 다중 프로토콜 스토리지 | FSx for NetApp ONTAP |
| 온프레미스 앱이 기존 방식으로 계속 AWS 스토리지 접근 | Storage Gateway |
| 대량 데이터 마이그레이션/동기화 | DataSync |
| 네트워크 전송이 어려운 대용량 오프라인 이전 | Snow Family |
| SFTP/FTPS/FTP 기반 파일 전송 | AWS Transfer Family |
'자격증 > SAA' 카테고리의 다른 글
| [AWS SAA] 보안 / IAM (0) | 2026.06.22 |
|---|---|
| [AWS SAA] 네트워크 (0) | 2026.06.21 |
| [AWS SAA] 데이터베이스 (0) | 2026.06.21 |
| [AWS SAA] 컴퓨팅 (0) | 2026.06.21 |
| AWS SAA-C03 합격 (0) | 2026.06.21 |