Amazon EC2: 클라우드 컴퓨팅의 유연성과 효율성

안녕하세요, 기술에 관심이 많은 여러분! 오늘은 클라우드 컴퓨팅의 핵심 요소 중 하나인 Amazon EC2(Elastic Compute Cloud)에 대해 알아보려 합니다. EC2는 비즈니스의 다양한 컴퓨팅 요구사항을 충족시키는 강력한 서비스로, 클라우드 컴퓨팅의 유연성과 효율성을 상징합니다.

Amazon EC2란 무엇인가요?

Amazon EC2는 AWS(Amazon Web Services)가 제공하는 클라우드 기반의 가상 서버 서비스입니다. 사용자는 필요에 따라 서버의 CPU, 메모리, 스토리지 등을 선택하고, 애플리케이션의 요구에 맞춰 이러한 자원을 유연하게 조절할 수 있습니다.

EC2의 주요 사용 사례

  1. 웹 서버 호스팅: EC2는 웹사이트나 웹 애플리케이션을 호스팅하는 데 이상적입니다. 트래픽 변동에 맞춰 자원을 조절할 수 있어, 언제나 안정적인 서비스를 제공할 수 있죠.
  2. 개발 및 테스트: EC2는 개발 및 테스트 환경을 빠르고 효율적으로 구축하는 데 사용됩니다. 개발자는 필요한 환경을 쉽게 설정하고, 필요 없을 때는 서버를 종료하여 비용을 절약할 수 있습니다.
  3. 대규모 데이터 처리: 빅 데이터 분석이나 기계 학습 작업에 필요한 대량의 컴퓨팅 파워를 EC2가 제공할 수 있습니다.
  4. 비상 복구: EC2를 활용하여 비상 상황에 대비한 복구 계획을 수립할 수 있습니다. 클라우드에 데이터를 백업해두면, 문제 발생 시 신속하게 복구할 수 있죠.

EC2의 주요 장점

  • 유연성과 확장성: 사용자의 요구에 맞춰 서버 자원을 쉽게 조정할 수 있습니다.
  • 비용 효율성: 사용한 만큼의 리소스에 대해서만 비용을 지불합니다.
  • 보안: AWS의 강력한 보안 인프라를 통해 데이터를 안전하게 보관할 수 있습니다.

마치며

Amazon EC2는 비즈니스가 클라우드 컴퓨팅의 혜택을 최대한 활용할 수 있게 해줍니다. 유연하고 비용 효율적인 컴퓨팅 솔루션을 찾고 계시다면, EC2는 여러분의 필요를 충족시킬 수 있는 훌륭한 선택이 될 것입니다.

EC2나 클라우드 컴퓨팅에 대한 여러분의 경험과 생각을 댓글로 공유해주세요!

블로그 이미지

RIsN

,
  • 한 회사가 단일 Amazon S3 버킷에서 정적 웹 사이트를 호스팅하고 있다. 지연 시간을 줄이고 전송 속도를 높일 수 있는 AWS 서비스는 무엇인가?
    • Amazon CloudFront
  • 한 회사는 AWS 계정 루트 사용자와 관련된 AWS 관리 콘솔 로그인 이벤트를 모니터링하고 이에 대한 알림을 받아야 한다. 회사에서 이러한 요구 사항을 충족하기 위해 사용할 수 있는 AWS 서비스는 무엇인가?
    • Amazon CloudWatch
  • AWS 계정에 프로그래밍 방식으로 액세스하려면 어떤 자격 증명 구성 요소가 필요한가? (2개 선택.)
    • 액세스 키 ID
    • 비밀 액세스 키
  • 전화 통화를 통해 기술 지원을 제공하는 최소의 AWS Support 플랜은 무엇인가?
    • Business
  • 한 회사 내의 각 부서에 독립적인 자체 AWS 계정과 자체 결제 방법이 있다. 회사에서는 부서별 거버넌스를 중앙 집중화하고 결제를 통합하려고 한다. 회사는 AWS 서비스 또는 기능을 사용하여 이러한 목표를 어떻게 달성할 수 있는가?
    • 하나의 계정 내에서 모든 기능이 활성화된 AWS Organizations에 조직을 생성한다. 조직에 가입하도록 모든 계정을 초대한다.
  • AWS 공동 책임 모델에 따라 고객이 책임을 져야 할 태스크는 무엇인가? (2개 선택.)
    • 최소 권한의 원칙에 따라 IAM 사용자를 구성한다.
    • Amazon S3 버킷을 구성하여 퍼블릭 액세스를 허용한다.
  • 한 회사에 Oracle 데이터베이스가 실행되는 온프레미스 Linux 기반 서버가 있다. 회사는 AWS의 Amazon EC2 인스턴스에서 실행되도록 데이터베이스 서버를 마이그레이션하고자 한다. 회사에서 마이그레이션을 완료하려면 어떤 서비스를 사용해야 하는가?
    • AWS Application Migration Service(AWS MGN)
  • 여러 가용 영역에 Amazon EC2 인스턴스를 사용하여 애플리케이션을 배포하면 어떤 이점이 있는가? (2개 선택.)
    • 단일 장애 지점 방지
    • 어플리케이션의 가용성 향상
  • Amazon S3에 저장된 민감한 데이터를 자동으로 검색, 분류 및 보호해야 하는 한 사용자가 있다. 이러한 요구 사항을 충족할 수 있는 AWS 서비스는 무엇인가?
    • Amazon Macie
  • 전 세계 여러 국가에서 고객을 보유한 기업이 AWS 클라우드를 사용하면 어떤 이점이 있는가? (2개 선택.)
    • 기업은 여러 AWS 리전에 애플리케이션을 배포하여 지연 시간을 줄일 수 있다.
    • Amazon CloudFront는 지연 시간을 줄이기 위해 전 세계에 여러 엣지 로케이션을 보유하고 있다.
  • 다음 중 사용자의 AWS 리소스에 대한 무제한 액세스를 허용하는 보안 그룹을 식별하는 AWS 서비스는 무엇인가?
    • AWS Trusted Advisor
  • 한 회사는 회사의 온프레미스 데이터 센터에서 AWS 클라우드로 일관된 비공개 연결을 구축하고자 한다. 다음 중 이러한 요구 사항을 충족하는 AWS 서비스는 무엇인가?
    • AWS Direct Connect
  • 한 회사는 웹 사이트에서 발생한 신규 고객 주문을 기록하는 AWS상의 관계형 데이터베이스를 필요로 한다. 이 요구 사항을 충족하는 AWS 서비스 또는 기능은 무엇인가?
    • AWS Aurora
  • 한 회사에서 학생들을 위한 학습 애플리케이션을 만들고자 한다. 학습 애플리케이션은 학생들이 텍스트가 소리내어 읽혀지는 버튼을 선택할 수 있는 옵션을 제공해야 한다. 이 요구 사항을 충족하는 AWS 기계 학습 서비스는 무엇인가?
    • Amazon Polly
  • 고객이 사용되지 않은 Amazon EC2 용량을 종종 할인된 가격으로 구매할 수 있게 해 주는 AWS 서비스는 무엇인가?
    • 스팟 인스턴스
  • 프리 티어를 초과한 경우 AWS는 AWS Lambda 사용량에 대한 요금을 어떻게 청구하는가? (2개 선택.)
    • Lambda 함수를 실행하는 데 걸리는 시간 기준
    • 지정된 Lambda 함수에 대한 요청 수 기준
  • 한 사용자가 여러 가용 영역에 Amazon RDS DB 인스턴스를 배포하고 있다. 이 전략에는 AWS Well-Architected Framework의 어떤 원칙이 관련되는가?
    • 신뢰성
  • Amazon S3의 특징적인 기능은 다음 중 무엇인가? (2개 선택.)
    • 객체 스토어
    • 내구성이 뛰어난 스토리지 시스템
  • 한 회사가 모든 개발 활동을 AWS로 이전하고 있다. 이 회사는 개발자의 소스 코드를 저장하고 관리할 수 있는 솔루션을 원한다. 이 요구 사항을 충족하는 AWS 코딩 서비스는 무엇인가?
    • AWS CodeCommit
  • 한 회사는 회사의 온프레미스 서버와 AWS 간에 암호화된 연결을 필요로 한다. 연결은 회사의 기존 인터넷 연결을 사용해야 한다. 다음 중 이러한 요구 사항을 충족하는 솔루션은 무엇인가?
    • Amazon Site-to-Site VPN
블로그 이미지

RIsN

,

Module 4 네트워킹

  • VPC 구성요소
    • 프라이빗 서브넷
      • 고객의 개인 정보가 포함된 데이터베이스를 격리.
    • 가상 프라이빗 게이트웨이
      • VPC와 사내 네트워크 간 VPN 연결을 생성합니다.
    • 퍼블릭 서브넷
      • 고객 대상 웹 사이트를 지원합니다.
    • AWS Direct Connect
      • 온프레미스 데이터 센터와 VPC 간에 전용 연결을 설정합니다.
  • 다음 중 AWS 계정의 기본 네트워크 액세스 제어 목록을 가장 잘 설명한 것은 무엇입니까?
    • 기본 네트워크 액세스 제어 목록은 스테이트리스이며 모든 인바운드 및 아웃바운드 트래픽을 허용합니다.
      • 계정의 기본 네트워크 ACL은 기본적으로 모든 인바운드 및 아웃바운드 트래픽을 허용하지만 사용자가 자체 규칙을 추가하여 수정할 수 있습니다. 사용자 지정 네트워크 ACL은 사용자가 허용해야 할 트래픽을 지정하는 규칙을 추가할 때까지 모든 인바운드 및 아웃바운드 트래픽을 거부합니다.
  • 다음 중 DNS 확인을 가장 잘 설명한 것은 무엇입니까?
    • 도메인 이름을 IP 주소로 변환
      • 예를 들어 AnyCompany의 웹 사이트를 방문하려는 경우 PC에 도메인 이름을 입력하면 이 요청이 DNS 서버로 전송됩니다. 그러면 DNS 서버가 웹 서버에 AnyCompany 웹 사이트에 해당하는 IP 주소를 요청합니다. 웹 서버는 AnyCompany 웹 사이트의 IP 주소인 192.0.2.0을 제공하여 응답합니다.
  • 회사에 Amazon EC2 인스턴스를 사용하여 고객 대상 웹 사이트를 실행하고 Amazon RDS 데이터베이스 인스턴스를 사용하여 고객의 개인 정보를 저장하는 애플리케이션이 있습니다. 모범 사례에 따르면 개발자는 VPC를 어떻게 구성해야 합니까?
    • Amazon EC2 인스턴스를 퍼블릭 서브넷에 배치하고 Amazon RDS 데이터베이스 인스턴스를 프라이빗 서브넷에 배치합니다.
      • 서브넷은 보안 또는 운영 요구 사항에 따라 리소스를 그룹화할 수 있는 VPC 내의 한 섹션입니다. 서브넷은 퍼블릭이거나 프라이빗일 수 있습니다. 퍼블릭 서브넷에는 온라인 상점의 웹 사이트와 같이 누구나 액세스할 수 있어야 하는 리소스가 포함됩니다. 프라이빗 서브넷에는 고객의 개인 정보 및 주문 내역이 포함된 데이터베이스와 같이 프라이빗 네트워크를 통해서만 액세스할 수 있는 리소스가 포함됩니다.
  • 다음 중 회사의 데이터 센터와 AWS 간에 비공개 전용 연결을 설정하는 데 사용할 수 있는 구성 요소는 무엇입니까?
    • AWS Direct Connect
  • 다음 중 보안 그룹을 가장 잘 설명한 것은 무엇입니까?
    • 보안 그룹은 스테이트풀이며 기본적으로 모든 인바운드 트래픽을 거부합니다.
      • 기본적으로 보안 그룹은 모든 인바운드 트래픽을 거부하지만 운영 및 보안 요구 사항에 따라 사용자 지정 규칙을 추가할 수 있습니다.
  • 다음 중 VPC를 인터넷에 연결하는 데 사용되는 구성 요소는 무엇입니까?
    • 인터넷 게이트웨이
  • 다음 중 도메인 이름의 DNS 레코드를 관리하는 데 사용되는 서비스는 무엇입니까?
    • Amazon Route 53
      • Amazon Route 53은 DNS 웹 서비스입니다. 이 서비스는 개발자와 기업이 최종 사용자를 AWS에서 호스팅되는 인터넷 애플리케이션으로 라우팅할 수 있는 신뢰할 수 있는 방법을 제공합니다. Route 53의 또 다른 기능에는 도메인 이름의 DNS 레코드를 관리하는 기능도 있습니다. 다른 도메인 등록 대행자가 관리하는 기존 도메인 이름의 DNS 레코드를 전송할 수 있습니다. Route 53에 직접 새 도메인 이름을 등록할 수도 있습니다.
블로그 이미지

RIsN

,

Module 3 글로벌 인프라 및 신뢰성

  • 다음 중 가용 영역을 가장 잘 설명한 것은 무엇입니까?
    • 리전 내의 단일 데이터 센터 또는 데이터 센터 그룹
  • 다음 중 AWS 글로벌 인프라에 대한 올바른 설명은 무엇입니까?
    • 리전은 세 개 이상의 가용 영역으로 구성됩니다.
  • 리전을 선택할 때 고려해야 할 요소는 무엇입니까? (2개 선택)
    • 데이터 거버넌스 및 법적 요구 사항 준수
    • 고객과의 근접성
  • 다음 중 Amazon CloudFront를 가장 잘 설명한 것은 무엇입니까?
    • 글로벌 콘텐츠 전송 서비스
  • 다음 중 Amazon CloudFront에서 사용자가 어느 위치에 있든 콘텐츠를 더 빠르게 전송하기 위해 콘텐츠 복사본을 캐싱하는 데 사용하는 사이트는 무엇입니까?
    • 엣지 로케이션
  • 다음 중 AWS Outposts로 수행할 수 있는 작업은 무엇입니까?
    • AWS 인프라 및 서비스를 온프레미스 데이터 센터 등 다른 위치로 확장합니다.
블로그 이미지

RIsN

,
  • Amazon S3의 특징적인 기능은 다음 중 무엇인가? (2개 선택.)
    • 객체 스토어
      • Amazon S3은 객체 스토리지 서비스입니다.
    • 내구성이 뛰어난 스토리지 시스템
      • Amazon S3은 내구성이 뛰어난 객체 스토리지 서비스입니다.
  • 한 회사는 회사의 온프레미스 서버와 AWS 간에 암호화된 연결을 필요로 한다. 연결은 회사의 기존 인터넷 연결을 사용해야 한다. 다음 중 이러한 요구 사항을 충족하는 솔루션은 무엇인가?
    • AWS Site-to-Site VPN
      • Site-to-Site VPN은 온프레미스 네트워크와 AWS 클라우드 네트워크 간에 암호화된 네트워크 경로를 생성합니다. 온프레미스 네트워크와 AWS 클라우드 네트워크 간의 이러한 연결은 인터넷을 사용합니다.
  • 한 회사는 웹 사이트에서 발생한 신규 고객 주문을 기록하는 AWS상의 관계형 데이터베이스를 필요로 한다. 이 요구 사항을 충족하는 AWS 서비스 또는 기능은 무엇인가?
    • Amazon Aurora
      • Aurora는 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스입니다. Aurora는 기존 기업 데이터베이스의 성능 및 가용성과 오픈 소스 데이터베이스의 간편성 및 비용 효율성을 함께 제공합니다.
  • 전 세계 여러 국가에서 고객을 보유한 기업이 AWS 클라우드를 사용하면 어떤 이점이 있는가? (2개 선택.)
    • 기업은 여러 AWS 리전에 애플리케이션을 배포하여 지연 시간을 줄일 수 있다.
      • 전 세계의 리전을 사용하면 애플리케이션의 글로벌 성능이 향상되고 사용자의 지연 시간이 줄어듭니다.
    • Amazon CloudFront는 지연 시간을 줄이기 위해 전 세계에 여러 엣지 로케이션을 보유하고 있다.
      • CloudFront는 데이터, 비디오, 애플리케이션 및 API를 짧은 지연 시간과 높은 전송 속도로 전 세계 고객에게 안전하게 제공하는 콘텐츠 전송 네트워크(CDN) 서비스입니다.
  • 한 회사 내의 각 부서에 독립적인 자체 AWS 계정과 자체 결제 방법이 있다. 회사에서는 부서별 거버넌스를 중앙 집중화하고 결제를 통합하려고 한다. 회사는 AWS 서비스 또는 기능을 사용하여 이러한 목표를 어떻게 달성할 수 있는가?
    • 하나의 계정 내에서 모든 기능이 활성화된 AWS Organizations에 조직을 생성한다. 조직에 가입하도록 모든 계정을 초대한다.
      • Organizations는 여러 계정을 포함하여 AWS 환경에 대한 중앙 집중식 거버넌스와 결제를 제공합니다.
  • 여러 가용 영역에 Amazon EC2 인스턴스를 사용하여 애플리케이션을 배포하면 어떤 이점이 있는가? (2개 선택.)
    • 단일 장애 지점 방지
      • 여러 가용 영역에 EC2 인스턴스를 배포하면 단일 장애 지점을 방지할 수 있습니다. 가용 영역은 물리적 중복성을 위해 설계되었으며, 중단 없는 성능으로 복원력을 제공하도록 설계되었습니다.
    • 애플리케이션의 가용성 향상
      • 장애의 영향을 받는 한 곳의 위치에서 모든 인스턴스를 호스팅하면 인스턴스를 전혀 사용하지 못하게 될 수 있습니다. 가용 영역은 물리적 중복성을 위해 설계되었으며 중단 없는 성능으로 복원력을 제공하도록 설계되었습니다.
  • 다음 중 사용자의 AWS 리소스에 대한 무제한 액세스를 허용하는 보안 그룹을 식별하는 AWS 서비스는 무엇인가?
    • AWS Trusted Advisor
      • Trusted Advisor는 리소스에 대한 무제한 액세스를 허용하는 규칙에 대해 보안 그룹을 확인합니다. 무제한 액세스로 인해 해킹, 서비스 거부 공격 또는 데이터 손실과 같은 악의적인 활동의 기회가 증가합니다.
  • 한 회사에서 학생들을 위한 학습 애플리케이션을 만들고자 한다. 학습 애플리케이션은 학생들이 텍스트가 소리내어 읽혀지는 버튼을 선택할 수 있는 옵션을 제공해야 한다. 이 요구 사항을 충족하는 AWS 기계 학습 서비스는 무엇인가?
    • Amazon Polly는 텍스트를 음성으로 변환하는 기계 학습 서비스입니다. 이 서비스는 텍스트를 소리내어 읽을 수 있는 기능을 제공합니다.
  • AWS 공동 책임 모델에 따라 고객이 책임을 져야 할 태스크는 무엇인가? (2개 선택.)
    • 최소 권한의 원칙에 따라 IAM 사용자를 구성한다.
      • AWS는 AWS Identity and Access Management(IAM)를 서비스로 제공합니다. 고객은 IAM 사용자와 해당 사용자에게 적용되는 액세스 정책을 정의합니다.
    • Amazon S3 버킷을 구성하여 퍼블릭 액세스를 허용한다.
      • 고객이 자신이 소유한 S3 버킷에 대한 액세스 권한을 결정합니다.
  • 한 회사는 AWS 계정 루트 사용자와 관련된 AWS 관리 콘솔 로그인 이벤트를 모니터링하고 이에 대한 알림을 받아야 한다. 회사에서 이러한 요구 사항을 충족하기 위해 사용할 수 있는 AWS 서비스는 무엇인가?
    • Amazon CloudWatch
      • CloudWatch는 실시간으로 AWS에서 실행되는 애플리케이션 및 AWS 리소스를 모니터링합니다. CloudWatch와 AWS CloudTrail을 사용하여 AWS 계정 루트 사용자와 관련된 콘솔 로그인 이벤트를 모니터링하고 이에 대한 알림을 받을 수 있습니다.
  • 프리 티어를 초과한 경우 AWS는 AWS Lambda 사용량에 대한 요금을 어떻게 청구하는가? (2개 선택.)
    • Lambda 함수를 실행하는 데 걸리는 시간 기준
      • Lambda 요금은 코드를 실행하는 데 걸리는 시간에 따라 다릅니다.
    • 지정된 Lambda 함수에 대한 요청 수 기준
      • Lambda 요금은 Lambda 함수에 대한 요청 수에 따라 다릅니다.
  • 한 회사에 Oracle 데이터베이스가 실행되는 온프레미스 Linux 기반 서버가 있다. 회사는 AWS의 Amazon EC2 인스턴스에서 실행되도록 데이터베이스 서버를 마이그레이션하고자 한다. 회사에서 마이그레이션을 완료하려면 어떤 서비스를 사용해야 하는가?
    • AWS Application Migration Service(AWS MGN)
      • AWS MGN은 자동화된 리프트 앤 시프트 솔루션입니다. 이 솔루션은 물리적 서버와 해당 서버에서 실행되는 모든 데이터베이스 또는 애플리케이션을 AWS의 EC2 인스턴스로 마이그레이션할 수 있습니다.
  • 한 사용자가 여러 가용 영역에 Amazon RDS DB 인스턴스를 배포하고 있다. 이 전략에는 AWS Well-Architected Framework의 어떤 원칙이 관련되는가?
    • 신뢰성
      • 신뢰성 원칙은 워크로드의 기능이 필요한 때에 기능을 정확하고 일관되게 수행하는 역량을 포함합니다. 여러 가용 영역에 Amazon RDS를 배포하면 단일 장애 지점이 줄어들기 때문에 신뢰성 목표를 달성하는 데 도움이 됩니다.
  • 한 회사가 단일 Amazon S3 버킷에서 정적 웹 사이트를 호스팅하고 있다. 지연 시간을 줄이고 전송 속도를 높일 수 있는 AWS 서비스는 무엇인가?
    • Amazon CloudFront
      • CloudFront는 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하는 웹 서비스입니다. 콘텐츠는 엣지 로케이션에서 캐시됩니다. 반복적으로 액세스되는 콘텐츠는 소스 S3 버킷 대신 엣지 로케이션에서 제공될 수 있습니다.
  • 한 회사가 모든 개발 활동을 AWS로 이전하고 있다. 이 회사는 개발자의 소스 코드를 저장하고 관리할 수 있는 솔루션을 원한다. 이 요구 사항을 충족하는 AWS 코딩 서비스는 무엇인가?
    • AWS CodeCommit
      • CodeCommit은 소스 코드 버전 제어 서비스입니다. CodeCommit은 사용자가 개발자의 소스 코드를 AWS에 저장하고 관리할 수 있도록 도와줍니다.
  • 고객이 사용되지 않은 Amazon EC2 용량을 종종 할인된 가격으로 구매할 수 있게 해 주는 AWS 서비스는 무엇인가?
    • 스팟 인스턴스
      • 스팟 인스턴스를 사용하면 사용되지 않은 EC2 용량에 액세스할 수 있습니다. 스팟 인스턴스는 할인될 수 있습니다.
  • Amazon S3에 저장된 민감한 데이터를 자동으로 검색, 분류 및 보호해야 하는 한 사용자가 있다. 이러한 요구 사항을 충족할 수 있는 AWS 서비스는 무엇인가?
    • Amazon Macie
      • Macie는 AWS에 배포된 애플리케이션의 보안 및 규정 준수를 개선하는 데 도움이 되는 자동 보안 평가 서비스입니다.
  • AWS 계정에 프로그래밍 방식으로 액세스하려면 어떤 자격 증명 구성 요소가 필요한가? (2개 선택.)
    • 액세스 키 ID
      • 프로그래밍 방식으로 액세스하려면 AWS 사용자에게 할당할 수 있는 액세스 키 ID와 비밀 액세스 키가 필요합니다.
    • 비밀 액세스 키
      • 프로그래밍 방식으로 액세스하려면 AWS 사용자에게 할당할 수 있는 액세스 키 ID와 비밀 액세스 키가 필요합니다.
  • 한 회사는 회사의 온프레미스 데이터 센터에서 AWS 클라우드로 일관된 비공개 연결을 구축하고자 한다. 다음 중 이러한 요구 사항을 충족하는 AWS 서비스는 무엇인가?
    • AWS Direct Connect
      • Direct Connect는 표준 이더넷 광케이블을 통해 내부 네트워크를 Direct Connect 위치에 연결합니다. 케이블의 한쪽 끝을 라우터에 연결합니다. 케이블의 다른 쪽 끝은 Direct Connect 라우터에 연결합니다. AWS Direct Connect는 귀 회사가 케이블의 유일한 사용자이므로 일관되고 비공개로 유지됩니다.
  • 전화 통화를 통해 기술 지원을 제공하는 최소의 AWS Support 플랜은 무엇인가?
    • Business
      • Business Support 플랜 또는 Enterprise Support 플랜을 사용하여 기술 지원에 전화하거나 채팅할 수 있습니다. Business Support 플랜은 이 기능을 제공하는 최소 플랜입니다.
블로그 이미지

RIsN

,

모듈 2: 클라우드 컴퓨팅

  • 데이터 웨어하우징 애플리케이션에 적합한 Amazon EC2 인스턴스 유형은 무엇입니까?
    • 스토리지 최적화
    • 데이터 웨어하우징이란?
      • 대량의 구조화된 데이터를 저장, 관리, 검색, 분석할 수 있는 중앙화된 데이터베이스를 의미합니다. 일반적으로 이 데이터 웨어하우스는 비즈니스 인텔리전스 활동, 데이터 분석, 데이터 보고 등에 사용되는 정보를 저장하고 있습니다. 흔히 말하는 빅 데이터 분석이나, 다양한 형태의 데이터 쿼리를 위한 기반이 됩니다.
  • 컴퓨팅, 메모리, 네트워킹 리소스를 균형 있게 제공하는 Amazon EC2 인스턴스 유형은 무엇입니까?
    • 범용
  • 고성능 데이터베이스에 적합한 Amazon EC2 인스턴스 유형은 무엇입니까?
    • 메모리 최적화
  • 고성능 프로세서를 제공하는 Amazon EC2 인스턴스 유형은 무엇입니까?
    • 컴퓨팅 최적화
  • 한 리전에서 특정 OS, 인스턴스 패밀리 및 크기, 테넌시를 실행할 여러 EC2 인스턴스를 지정할 경우 할인을 제공하는 Amazon EC2 요금 옵션은 무엇입니까?
    • 표준 예약 인스턴스
  • 특정 인스턴스 패밀리 및 리전에 대해 1년 또는 3년 기간 동안 시간당 지출 약정을 할 경우 할인을 제공하는 Amazon EC2 요금 옵션은 무엇입니까?
    • EC2 Instance Savings Plans
  • 구독자에게 메시지를 게시하는 데 가장 적합한 AWS 서비스는 무엇입니까?
    • Amazon Simple Notification Service(Amazon SNS)
  • 배치 처리 워크로드에 Amazon EC2 인스턴스를 사용하려고 합니다. 가장 적합한 Amazon EC2 인스턴스 유형은 무엇입니까?
    • 컴퓨팅 최적화
  • Amazon EC2 예약 인스턴스의 약정 기간 옵션은 무엇입니까? (2개 선택)
    • 1년
    • 3년
  • 총 6개월 동안 실행되며 중단을 견딜 수 있는 워크로드가 있습니다. 가장 비용 효율적일 수 있는 Amazon EC2 구매 옵션은 무엇입니까?
    • 스팟 인스턴스
  • 다음 프로세스 중 Elastic Load Balancing의 예는 무엇입니까?
    • 단일 Amazon EC2 인스턴스가 전체 워크로드를 처리하지 않아도 되도록 보장
  • 컨테이너식 애플리케이션을 배포하고 관리하려고 합니다. 어떤 서비스를 사용해야 합니까?
    • Amazon Elastic Kubernetes Service(Amazon EKS)
    • Kubernetes란?
      • Kubernetes는 컨테이너식 애플리케이션을 대규모로 배포하고 관리하는 데 사용할 수 있는 오픈 소스 소프트웨어입니다.
블로그 이미지

RIsN

,

모듈 1: AMAZON WEB SERVICES 소개

  • 클라우드 컴퓨팅이란?
    • 인터넷을 통해 IT 리소스와 애플리케이션을 온디맨드로 제공하는 것(종량 과금제)
  • 온프레미스 배포의 또 다른 이름은 무엇입니까?
    • 프라이빗 클라우드 배포
  • 클라우드 컴퓨팅의 규모는 어떻게 비용 절감에 도움이 됩니까?
    • 많은 고객의 클라우드 사용량이 집계되므로 종량 과금제 요금이 낮아집니다.
블로그 이미지

RIsN

,
  • 전화 통화를 통해 기술 지원을 제공하는 최소의 AWS Support 플랜은 무엇인가?
    • Business
      • Business Support 플랜 또는 Enterprise Support 플랜을 사용하여 기술 지원에 전화하거나 채팅할 수 있습니다. Business Support 플랜은 이 기능을 제공하는 최소 플랜입니다.
  • 한 회사는 AWS 계정 루트 사용자와 관련된 AWS 관리 콘솔 로그인 이벤트를 모니터링하고 이에 대한 알림을 받아야 한다. 회사에서 이러한 요구 사항을 충족하기 위해 사용할 수 있는 AWS 서비스는 무엇인가?
    • Amazon CloudWatch
      • CloudWatch는 실시간으로 AWS에서 실행되는 애플리케이션 및 AWS 리소스를 모니터링합니다. CloudWatch와 AWS CloudTrail을 사용하여 AWS 계정 루트 사용자와 관련된 콘솔 로그인 이벤트를 모니터링하고 이에 대한 알림을 받을 수 있습니다.
  • 전 세계 여러 국가에서 고객을 보유한 기업이 AWS 클라우드를 사용하면 어떤 이점이 있는가? (2개 선택.)
    • 기업은 여러 AWS 리전에 애플리케이션을 배포하여 지연 시간을 줄일 수 있다.
      • 전 세계의 리전을 사용하면 애플리케이션의 글로벌 성능이 향상되고 사용자의 지연 시간이 줄어듭니다.
    • Amazon CloudFront는 지연 시간을 줄이기 위해 전 세계에 여러 엣지 로케이션을 보유하고 있다.
      • CloudFront는 데이터, 비디오, 애플리케이션 및 API를 짧은 지연 시간과 높은 전송 속도로 전 세계 고객에게 안전하게 제공하는 콘텐츠 전송 네트워크(CDN) 서비스입니다.
  • 한 회사 내의 각 부서에 독립적인 자체 AWS 계정과 자체 결제 방법이 있다. 회사에서는 부서별 거버넌스를 중앙 집중화하고 결제를 통합하려고 한다. 회사는 AWS 서비스 또는 기능을 사용하여 이러한 목표를 어떻게 달성할 수 있는가?
    • 하나의 계정 내에서 모든 기능이 활성화된 AWS Organizations에 조직을 생성한다. 조직에 가입하도록 모든 계정을 초대한다.
      • Organizations는 여러 계정을 포함하여 AWS 환경에 대한 중앙 집중식 거버넌스와 결제를 제공합니다.
    • 거버넌스란?
      • '거버넌스(Governance)'는 일반적으로 조직이나 시스템을 어떻게 관리하고 제어할 것인지에 대한 전반적인 접근 방식이나 원칙을 의미합니다. IT 컨텍스트에서 거버넌스는 데이터의 품질, 관리, 작동, 리스크 관리 등을 중심으로 회사의 IT 자원과 프로세스가 효율적으로 동작하도록 지침을 설정하는 것이 주 목적입니다.
  • 한 회사는 회사의 온프레미스 데이터 센터에서 AWS 클라우드로 일관된 비공개 연결을 구축하고자 한다. 다음 중 이러한 요구 사항을 충족하는 AWS 서비스는 무엇인가?
    • AWS Direct Connect
      • Direct Connect는 표준 이더넷 광케이블을 통해 내부 네트워크를 Direct Connect 위치에 연결합니다. 케이블의 한쪽 끝을 라우터에 연결합니다. 케이블의 다른 쪽 끝은 Direct Connect 라우터에 연결합니다. AWS Direct Connect는 귀 회사가 케이블의 유일한 사용자이므로 일관되고 비공개로 유지됩니다.
    • 온프레미스 데이터 센터란?
      • "온프레미스(On-Premises)"는 기업이나 조직이 자체 시설 내에 IT 인프라를 두고 운영하는 것을 의미합니다. 이렇게 회사 건물 내나 별도의 물리적 장소에 설치된 데이터 센터를 "온프레미스 데이터 센터"라고 부릅니다.
  • 여러 가용 영역에 Amazon EC2 인스턴스를 사용하여 애플리케이션을 배포하면 어떤 이점이 있는가? (2개 선택.)
    • 단일 장애 지점 방지
      • 여러 가용 영역에 EC2 인스턴스를 배포하면 단일 장애 지점을 방지할 수 있습니다. 가용 영역은 물리적 중복성을 위해 설계되었으며, 중단 없는 성능으로 복원력을 제공하도록 설계되었습니다.
    • 애플리케이션의 가용성 향상
      • 장애의 영향을 받는 한 곳의 위치에서 모든 인스턴스를 호스팅하면 인스턴스를 전혀 사용하지 못하게 될 수 있습니다. 가용 영역은 물리적 중복성을 위해 설계되었으며 중단 없는 성능으로 복원력을 제공하도록 설계되었습니다.
  • 고객이 사용되지 않은 Amazon EC2 용량을 종종 할인된 가격으로 구매할 수 있게 해 주는 AWS 서비스는 무엇인가?
    • 스팟 인스턴스
      • 스팟 인스턴스를 사용하면 사용되지 않은 EC2 용량에 액세스할 수 있습니다. 스팟 인스턴스는 할인될 수 있습니다.
  • 한 회사가 단일 Amazon S3 버킷에서 정적 웹 사이트를 호스팅하고 있다. 지연 시간을 줄이고 전송 속도를 높일 수 있는 AWS 서비스는 무엇인가?
    • Amazon CloudFront
      • CloudFront는 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하는 웹 서비스입니다. 콘텐츠는 엣지 로케이션에서 캐시됩니다. 반복적으로 액세스되는 콘텐츠는 소스 S3 버킷 대신 엣지 로케이션에서 제공될 수 있습니다.
  • AWS 공동 책임 모델에 따라 고객이 책임을 져야 할 태스크는 무엇인가? (2개 선택.)
    • 최소 권한의 원칙에 따라 IAM 사용자를 구성한다.
      • AWS는 AWS Identity and Access Management(IAM)를 서비스로 제공합니다. 고객은 IAM 사용자와 해당 사용자에게 적용되는 액세스 정책을 정의합니다.
    • Amazon S3 버킷을 구성하여 퍼블릭 액세스를 허용한다.
      • 고객이 자신이 소유한 S3 버킷에 대한 액세스 권한을 결정합니다.
  • 한 회사는 웹 사이트에서 발생한 신규 고객 주문을 기록하는 AWS상의 관계형 데이터베이스를 필요로 한다. 이 요구 사항을 충족하는 AWS 서비스 또는 기능은 무엇인가?
    • Amazon Aurora
      • Aurora는 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스입니다. Aurora는 기존 기업 데이터베이스의 성능 및 가용성과 오픈 소스 데이터베이스의 간편성 및 비용 효율성을 함께 제공합니다.
  • 한 회사에 Oracle 데이터베이스가 실행되는 온프레미스 Linux 기반 서버가 있다. 회사는 AWS의 Amazon EC2 인스턴스에서 실행되도록 데이터베이스 서버를 마이그레이션하고자 한다. 회사에서 마이그레이션을 완료하려면 어떤 서비스를 사용해야 하는가?
    • AWS Application Migration Service(AWS MGN)
      • AWS MGN은 자동화된 리프트 앤 시프트 솔루션입니다. 이 솔루션은 물리적 서버와 해당 서버에서 실행되는 모든 데이터베이스 또는 애플리케이션을 AWS의 EC2 인스턴스로 마이그레이션할 수 있습니다.
    • 마이그레이션이란?
      • "마이그레이션(Migration)"은 하나의 운영 환경에서 다른 운영 환경으로 데이터나 애플리케이션, 서비스 등을 옮기는 과정을 의미합니다. 예를 들어, 여기서의 경우는 Oracle 데이터베이스를 온프레미스 Linux 서버에서 AWS의 Amazon EC2 인스턴스로 옮기는 작업이 마이그레이션에 해당합니다.
  • 한 회사가 모든 개발 활동을 AWS로 이전하고 있다. 이 회사는 개발자의 소스 코드를 저장하고 관리할 수 있는 솔루션을 원한다. 이 요구 사항을 충족하는 AWS 코딩 서비스는 무엇인가?
    • AWS CodeCommit
      • CodeCommit은 소스 코드 버전 제어 서비스입니다. CodeCommit은 사용자가 개발자의 소스 코드를 AWS에 저장하고 관리할 수 있도록 도와줍니다.
  • Amazon S3의 특징적인 기능은 다음 중 무엇인가? (2개 선택.)
    • 객체 스토어
      • Amazon S3은 객체 스토리지 서비스입니다.
    • 내구성이 뛰어난 스토리지 시스템
      • Amazon S3은 내구성이 뛰어난 객체 스토리지 서비스입니다.
    • 객체 스토리지란?
      • 객체 스토리지(Object Storage)는 데이터를 '객체'라고 불리는 단위로 저장하는 스토리지 아키텍처를 의미합니다. 각 객체는 데이터 뿐만 아니라 메타데이터와 고유한 식별자도 포함하고 있어. 이 식별자를 통해 데이터에 빠르게 접근할 수 있습니다.
      • 객체 스토리지의 특징
        • 무제한 확장성: 거의 무제한에 가까운 데이터를 저장할 수 있습니다.
        • 메타데이터 관리: 각 객체는 풍부한 메타데이터를 가질 수 있으며, 이를 통해 더 복잡한 데이터 관리와 분석이 가능합니다.
        • HTTP/HTTPS 기반: 웹 기반의 API를 통해 접근하고 관리할 수 있습니다.
        • 평면 네임스페이스: 디렉토리나 폴더 구조 없이 모든 객체를 평면(Flat)한 네임스페이스에 저장합니다.
  • AWS 계정에 프로그래밍 방식으로 액세스하려면 어떤 자격 증명 구성 요소가 필요한가? (2개 선택.)
    • 액세스 키
      • 프로그래밍 방식으로 액세스하려면 AWS 사용자에게 할당할 수 있는 액세스 키 ID와 비밀 액세스 키가 필요합니다.
    • 비밀 액세스 키
      • 프로그래밍 방식으로 액세스하려면 AWS 사용자에게 할당할 수 있는 액세스 키 ID와 비밀 액세스 키가 필요합니다.
  • 다음 중 사용자의 AWS 리소스에 대한 무제한 액세스를 허용하는 보안 그룹을 식별하는 AWS 서비스는 무엇인가?
    • AWS Trusted Advisor
      • Trusted Advisor는 리소스에 대한 무제한 액세스를 허용하는 규칙에 대해 보안 그룹을 확인합니다. 무제한 액세스로 인해 해킹, 서비스 거부 공격 또는 데이터 손실과 같은 악의적인 활동의 기회가 증가합니다.
  • 프리 티어를 초과한 경우 AWS는 AWS Lambda 사용량에 대한 요금을 어떻게 청구하는가? (2개 선택.)
    • Lambda 함수를 실행하는 데 걸리는 시간 기준
      • Lambda 요금은 코드를 실행하는 데 걸리는 시간에 따라 다릅니다.
    • 지정된 Lambda 함수에 대한 요청 수 기준
      • Lambda 요금은 Lambda 함수에 대한 요청 수에 따라 다릅니다.
  • 한 회사에서 학생들을 위한 학습 애플리케이션을 만들고자 한다. 학습 애플리케이션은 학생들이 텍스트가 소리내어 읽혀지는 버튼을 선택할 수 있는 옵션을 제공해야 한다. 이 요구 사항을 충족하는 AWS 기계 학습 서비스는 무엇인가?
    • Amazon Polly
      • Amazon Polly는 텍스트를 음성으로 변환하는 기계 학습 서비스입니다. 이 서비스는 텍스트를 소리내어 읽을 수 있는 기능을 제공합니다.
  • Amazon S3에 저장된 민감한 데이터를 자동으로 검색, 분류 및 보호해야 하는 한 사용자가 있다. 이러한 요구 사항을 충족할 수 있는 AWS 서비스는 무엇인가?
    • Amazon Macie
      • Macie는 AWS에 배포된 애플리케이션의 보안 및 규정 준수를 개선하는 데 도움이 되는 자동 보안 평가 서비스입니다.
  • 한 회사는 회사의 온프레미스 서버와 AWS 간에 암호화된 연결을 필요로 한다. 연결은 회사의 기존 인터넷 연결을 사용해야 한다. 다음 중 이러한 요구 사항을 충족하는 솔루션은 무엇인가?
    • AWS Site-to-Site Connect
      • Site-to-Site VPN은 온프레미스 네트워크와 AWS 클라우드 네트워크 간에 암호화된 네트워크 경로를 생성합니다. 온프레미스 네트워크와 AWS 클라우드 네트워크 간의 이러한 연결은 인터넷을 사용합니다.
  • 한 사용자가 여러 가용 영역에 Amazon RDS DB 인스턴스를 배포하고 있다. 이 전략에는 AWS Well-Architected Framework의 어떤 원칙이 관련되는가?
    • 신뢰성
      • 신뢰성 원칙은 워크로드의 기능이 필요한 때에 기능을 정확하고 일관되게 수행하는 역량을 포함합니다. 여러 가용 영역에 Amazon RDS를 배포하면 단일 장애 지점이 줄어들기 때문에 신뢰성 목표를 달성하는 데 도움이 됩니다.
블로그 이미지

RIsN

,

[Steam] Steam Cloud

_Diary/Dev 2023. 7. 8. 10:28

원문: https://partner.steamgames.com/doc/features/cloud 

 

Steam Cloud (Steamworks Documentation)

Documentation Resources News & Updates Support

partner.steamgames.com

Steam Cloud

Steamworks Documentation > Features > Steam Cloud

요약
Steam Cloud는 사용자의 게임 파일을 자동으로 Steam 서버에 저장하여, 플레이어가 Steam에 로그인하고 어느 컴퓨터에서든 저장된 게임에 접근할 수 있게 해줍니다.

통합 수준
Steamworks 웹사이트에서 파일 경로의 설정이 필요합니다. 선택적으로, 업로드, 다운로드, 열거, 삭제를 위해 게임 코드 내에서 Steamworks로 일부 API 호출이 필요합니다.

Steam Cloud 개요

Steam Cloud는 게임에 대해 투명하고 쉬운 원격 파일 저장 시스템을 제공합니다. Auto-Cloud 구성에서 지정된 파일 또는 Cloud API를 사용하여 디스크에 작성된 파일(생성, 수정, 삭제 등)은 게임이 종료된 후 자동으로 Steam 서버에 복제됩니다.

사용자가 컴퓨터를 변경하면, 파일들은 게임이 시작되기 전에 새로운 컴퓨터로 자동 다운로드됩니다. 그러면 게임은 Cloud API를 통해 파일에 접근하거나, 평소처럼 디스크에서 직접 파일을 읽을 수 있습니다. 비디오 설정과 같은 기기 특정 설정은 피하세요.

Steam 클라이언트는 사용자가 접근할 수 있는 모든 컴퓨터에서 파일이 동기화되도록 보장하는 작업을 수행합니다.

사용자는 Steam 설정의 Cloud에서 "Enable Steam Cloud synchronization for applications which support it"를 선택 취소함으로써 전역적으로 Cloud 동기화를 비활성화할 수 있습니다.

사용자는 각 게임의 속성에서 게임별로 Cloud 동기화를 비활성화할 수도 있습니다.

내용과 사용 추천 사항

Steam은 모든 세션 전후로 사용자의 Steam Cloud 파일을 동기화하므로 이 점을 기억하는 것이 중요합니다. 세션 동안 변경되는 일치하는 파일은 세션 직후 즉시 Cloud 저장소에 업로드됩니다. 만약 게임이 매우 큰 파일이나 많은 작은 파일을 Steam Cloud에 작성한다면, 이는 사용자의 인터넷 대역폭에 눈에 띄는 영향을 미치고 Steam을 종료하거나 게임을 재실행하는 능력을 지연시킬 수 있습니다.

일반적으로, 더 작은 파일이 더 잘 작동합니다. 주어진 사용자의 저장 상태를 자주 변경될 수 있는 것과 자주 변경되지 않을 수 있는 것 - 이러한 카테고리로 나눌 수 있다면, 이러한 카테고리에 대해 별도의 파일을 사용하는 것을 추천합니다. 그럼으로써, 변경되지 않은 상태는 모든 세션 후에 다시 업로드되지 않을 것입니다.

파일 크기 제한

Steam Cloud에 대한 파일 크기의 절대적인 제한은 시간이 지남에 따라 변경될 수 있습니다. 다음은 일부 현재 제한과 임계값입니다:

크기 제한
100MB ISteamRemoteStorage::FileWrite 또는 ISteamRemoteStorage::FileWriteStreamWriteChunk 호출에 대한 최대 크기
256MB 사용자 위치에 대해 최적화되지 않은 저장 엔드포인트 선택으로 이어질 수 있으며, 업로드/다운로드 성능에 부정적인 영향을 미침

저장 파일 경로

저장 파일을 작성할 위치를 결정할 때, 경로가 현재 Steam 사용자에게 고유하게 설정되어야 합니다. 필요한 경우, ISteamUser::GetSteamID를 통해 사용자의 고유한 Steam ID를 얻을 수 있습니다. 그럼으로써, GetAccountID()에서 accountID에 접근할 수 있어, 저장 경로를 구성할 때 고유한 변수를 가질 수 있습니다.

크로스 플랫폼 저장

게임이 여러 플랫폼에서 지원되거나, 심지어 미래에 이를 지원할 계획이 있다면, 게임의 Steam Cloud를 설정할 때 이를 고려해야 합니다.

ISteamRemoteStorage 인터페이스를 통해 파일을 직접 읽고/쓰려는 계획이라면, ISteamRemoteStorage::SetSyncPlatforms를 통해 플랫폼 동기화를 제어할 수 있습니다. 새 파일의 기본 설정은 모든 플랫폼에 동기화하는 것입니다.

Steam Auto-Cloud를 사용할 계획이라면, 알아둘 중요한 점들이 있습니다. 첫째, 새 파일의 기본 설정은 연결된 Auto Cloud Root 경로의 OS 설정에만 동기화하는 것입니다. 이는 각 OS에 대해 별도의 루트를 설정하면, 모든 파일이 플랫폼별로 분할되고, 따라서 크로스 플랫폼 저장 기능이 없을 것이라는 것을 의미합니다.

크로스 플랫폼 저장을 활성화하려면, 대신 단일 Root 경로(아마도 Windows)를 정의하고, 다른 지원 플랫폼들에 대해 Root Overrides를 생성해야 합니다. 플랫폼 Root Overrides가 있는 주어진 Root 경로와 일치하는 파일은 원래의 Root와 모든 Overrides에 있는 모든 플랫폼에 동기화됩니다. 자세한 내용은 Steam Auto-Cloud 문서를 참조하세요.

초기 설정

Steam Cloud를 설정하려면 Steamworks 앱 관리 패널의 Steam Cloud 설정 페이지에서 사용자 당 바이트 할당량과 사용자 당 허용된 파일 수 옵션을 설정해야 합니다.

이 할당량은 각 Cloud 활성화 게임에서 사용자당 게임당 기준으로 적용됩니다. 게임 타이틀에 대해 합리적인 값으로 설정하는 것이 좋습니다.

주의: 페이지 하단에서 저장을 클릭하는 것을 잊지 마시고, 설정을 업데이트하여 게시하세요. 게시하면 Cloud 아이콘이 Steam 클라이언트에서 게임을 소유한 모든 사람에게 보일 것입니다.

게임이 이미 공개로 출시되었다면, '개발자 전용으로 클라우드 지원 활성화' 라벨이 붙은 상자를 체크할 수 있습니다. 개발자 전용 모드가 활성화되면, 게임 타이틀에 대해 "개발자 Comp" 라이선스를 소유한 Steam 계정만이 Cloud 아이콘을 볼 수 있고, Steam Cloud를 사용할 수 있습니다. 이는 공개 사용자 경험을 손상시키지 않고 안전하게 Steam Cloud 통합을 테스트하는 데 유용합니다. 아무도 아직 게임을 소유하지 않은 미출시 게임에는 영향이 없습니다. 그들은 특정 앱 ID에 대한 어떤 클라우드 저장소도 볼 수 없거나 접근할 수 없습니다.

Shared cloud APP ID 필드를 작성함으로써 두 앱 ID간에 Cloud 저장 공간을 공유할 수 있습니다. 이는 주로 데모와 전체 게임 사이에서 저장된 게임을 공유하는 데 가장 자주 사용됩니다. 값이 0이면 이 기능을 비활성화합니다.

Steam Cloud API와 Steam Auto-Cloud

Steam은 Steam Cloud를 활용하는 두 가지 다른 방법을 제공합니다. 두 방법이 어떻게 다른지 알아보고, 어떤 것이 귀하의 애플리케이션에 가장 적합한지 결정하세요.

먼저, Steam Cloud API입니다.
Cloud API는 Steam Cloud를 게임에 직접 통합할 수 있도록 하는 일련의 함수를 제공합니다. Cloud API는 개별 Steam 사용자 파일을 서로 격리하고 Steam Cloud에 대한 보다 높은 수준의 제어를 제공합니다.

Steam Cloud API는 ISteamRemoteStorage API 인터페이스를 통해 공개되며, Steamworks API 예제 애플리케이션(SpaceWar) 프로젝트에서 사용 예제를 찾을 수 있습니다.

두 번째는 Steam Auto-Cloud입니다.
Steam Auto-Cloud는 Steam Cloud API를 통합하지 않기로 선택한 게임을 위해 설계되었습니다. 빠르고 쉽게 시작할 수 있는 방법을 제공하지만, Steam Cloud API에서 가능한 유연성은 부족합니다.

Steam Cloud와 더 깊은 통합을 선호한다면(예를 들어, 클라우드에 저장되는 저장 파일을 선택할 수 있게 하는 등), Cloud API를 사용해야 합니다. 그렇지 않다면 Steam Auto-Cloud를 사용할 수 있습니다.

Steam Auto-Cloud

Steam Auto-Cloud는 코드 작성이나 게임을 어떤 방식으로도 수정하지 않고 앱이 Steam Cloud를 사용하게 해주는 Steam Cloud API의 대안입니다. 단지 Cloud에 유지하려는 파일 그룹을 지정하면 됩니다. Steam은 애플리케이션이 실행되고 종료될 때 자동으로 파일 그룹을 동기화합니다. 비디오 품질과 같은 기계별 설정은 피하세요.

참고: 파일 steam_autocloud.vdf는 Steamworks cloud 경로에 지정된 각 위치에 생성됩니다. 이 파일은 Steam에서 사용되며, 게임에서는 무시할 수 있습니다.

설정

초기 설정을 완료한 후에는 Steam Cloud Settings 페이지에서 Steam Auto-Cloud 설정 섹션을 열 수 있습니다.

루트 경로는 Steam Cloud에 지속적으로 저장될 파일 그룹을 설명합니다. 각 루트 경로는 단일 파일만큼 구체적일 수도 있고 주어진 하위 폴더 아래의 모든 파일을 포함할 수도 있습니다. 동기화할 각 파일 그룹에 대해 새 경로를 사용하세요.

루트 경로는 5부분으로 구성됩니다:

1. Root
게임 저장 파일이 일반적으로 위치하는 경로의 사전 결정된 목록입니다.

Root 지원 OS 실제 경로
App Install Directory All [Steam Install]\SteamApps\common[Game Folder]\
SteamCloudDocuments All 모두 플랫폼별 경로, 예: Linux에서:
~/.SteamCloud/[username]/[Gmae Folder]/
WinMyDocuments Windows %USERPROFILE%\My Documents\
WinAppDataLocal Windows %USERPROFILE%\AppData\Local\
WinAppDataLocalLow Windows %USERPROFILE%\AppData\LocalLow\
WinAppDataRoaming Windows %USERPROFILE%\AppData\Roaming\
WinSavedGame Windows %USERPROFILE%\Saved Games\
MacHome macOS ~/
MacAppSupport macOS ~/Library/Application Support/
MacDocuments macOS ~/Documents/
LinuxHome Linux ~/
LinuxXdgDataHome Linux $XDG_DATA_HOME/

Windows %USERPROFILE% 경로에 관한 주의 사항: 위에 나열된 해당 경로는 기본 위치입니다. 이제 사용자가 Windows 설치를 구성하여 이러한 폴더가 다른 위치에 있도록(반드시 %USERPROFILE% 아래에 있는 것은 아님) 설정할 수 있습니다. 기본 위치이든 사용자가 지정한 위치이든 상관없이, Steam은 이 폴더들의 현재 위치를 찾기 위해 필요한 Windows API를 사용합니다.

2. Subdirectory

"Root"에 상대적인 클라우드 파일에 대한 하위 디렉토리 경로입니다. 하위 디렉토리가 없다면 .을 사용하세요.

Auto-Cloud 특수 경로 값
Auto-Cloud는 하위디렉토리 경로에서 고유한 Steam 사용자 식별자의 사용을 허용합니다. 이를 통해 각 Steam 사용자의 저장 파일을 컴퓨터에서 별도로 저장할 수 있습니다. 게임에서 ISteamUser::GetSteamID를 사용하여 현재 사용자의 SteamID 또는 AccountID를 가져와 저장하고 읽을 수 있습니다.

  • {64BitSteamID} - 스팀 경로에 이 변수를 사용하여 사용자의 64비트 스팀 ID를 삽입합니다. 64비트 스팀 ID는 이런 식입니다: 76561198027391269
  • {Steam3AccountID} - 스팀 경로에 이 변수를 사용하여 사용자의 스팀 3 계정 ID를 삽입합니다. 계정 ID는 이런 식입니다: 67125541

예시: SavesDir/{64BitSteamID}

3. Pattern

일치시키려는 파일들의 유형을 결정합니다. 와일드 카드(해당 확장자 파일 모두 포함)인 *를 사용할 수 있습니다. 디렉토리의 모든 파일을 원한다면 *를 사용하세요.

예시: *.sav
(.sav로 끝나는 모든 종류의 파일 선택)

4. OS

이 파일들이 어느 운영체제로부터/어느 운영체제로 동기화될지 설정합니다. 이는 파일이 운영체제에 특화되어 있는 경우에만 필요하며, 이런 경우는 되도록 피해야 합니다!

5. Recursive(하위 포함)

파일 검색이 하위 디렉토리를 포함할지 여부를 결정하는 기능입니다. 이 기능은 특히 파일이 스팀 사용자 이름 또는 ID와 같은 예측 불가능한 이름을 가진 하위 디렉토리에 위치해 있을 때 유용합니다. 스팀 ID를 사용하는 경우에는 하위 디렉토리 필드에서 특별한 경로 값을 사용하는 것이 좋습니다.

Root Overrides

만약 귀하의 어플리케이션이 다중 플랫폼을 지원하며 각 OS에 대해 다른 디렉토리가 필요한 경우, Root Overrides 기능을 사용하여 위에서 설정한 Root Paths에 대한 오버라이드를 지정할 수 있습니다.

위에서 지정한 root 경로는 다른 OS에서 다른 경로에 해당하도록 오버라이드될 수 있습니다. Root Overrides를 사용하는 경우, 위의 Root OS 드롭다운에서 [All OSes]를 반드시 지정해야 합니다.

Root Override는 5개의 부분으로 구성됩니다.

  1. Original Root
    이것은 위에서 설정한 Roots 중 하나에 해당합니다.
  2. OS
    오버라이드를 적용할 운영체제입니다.
  3. New Root
    지정된 OS에서 Original Root가 매핑되는 새로운 위치입니다.
  4. Add/Replace Path
    이 기능을 사용하면 new root와 원래의 subdirectory 사이에 삽입되는 subdirectory path를 선택적으로 추가할 수 있습니다.
  5. Replace Path
    이 기능이 활성화되면, Add/Replace Path에서 지정한 경로가 원래의 subdirectory를 완전히 대체하게 됩니다.

예제: 유니티 애플리케이션을 위한 오토-클라우드 설정

다음은 Unity와 Application.persistentDataPath 속성을 사용하여 Auto-Cloud를 설정하는 예제입니다. 이 속성의 값은 OS마다 다릅니다. Windows 버전은 Root Path로 설정되며, Unity의 회사는 DefaultCompany로 설정되고 프로젝트 이름은 AutocloudSample입니다. macOS와 Linux/SteamOS에서는 Application.persistentDataPath에서의 대체 경로가 Add/Replace Path 필드에 설정되며, Replace Path는 활성화됩니다.

이러한 설정을 사용하면 Auto-Cloud 파일이 미리보기 샘플에 표시된 세 폴더 사이에서 동기화됩니다.

사전 릴리스 테스트

이미 출시된 게임에 Steam Auto-Cloud를 추가하고 초기 설정에서 개발자 전용 모드를 활성화한 경우, 기능을 테스트하기 위해 추가적인 단계를 완료해야 합니다.

  1. 테스트하려는 앱을 소유한 계정으로 Steam에 로그인합니다.
  2. 브라우저에서 steam://open/console로 이동하여 Steam 콘솔을 엽니다.
  3. 콘솔에 테스트하려는 특정 앱 ID와 함께 testappcloudpaths <AppId>를 입력합니다. 예: testappcloudpaths 480
    콘솔에 set_spew_level 4 4를 입력합니다.
  4. Steam에서 앱을 실행합니다.
  5. 콘솔에서 활동을 확인합니다. 
  6. Auto-Cloud 경로에 이미 파일이 있으면 업로드되는 것을 볼 수 있어야 합니다. 그렇지 않다면 앱에서 일부 파일을 저장한 다음 앱을 닫아 동기화를 트리거합니다.
  7. 다른 PC로 이동하고 위의 단계를 반복하여 Steam Auto-Cloud에서 파일을 다운로드하는 것을 테스트합니다.
  8. 모든 지원 운영 체제에서 테스트하는 것이 중요합니다.
  9. testappcloudpaths 0과 set_spew_level 0 0를 설정하여 테스트를 종료합니다. 콘솔 탭을 없애려면 Steam 클라이언트를 재시작할 수 있습니다.

테스트를 완료하면 개발자 전용 모드를 비활성화하고 변경 사항을 게시하는 것을 잊지 마세요.

Dynamic Cloud Sync

Steam Cloud는 이제 동적 동기화를 지원합니다 - 클라우드에 나타나는 변경 사항을 애플리케이션 세션이 실행 중인 로컬 기기로 다운로드할 수 있습니다. 현재의 예는 Steam Deck에서 중단된 게임 세션입니다. 동적 클라우드 동기화를 지원한다고 표시된 앱의 경우, Steam은 중단 시점에서 파일을 Steam Cloud까지 동기화합니다. 그런 다음, 사용자는 다른 기기에서 게임을 실행할 수 있으며, 이 기기는 시작 시에 Steam Deck 세션의 업데이트를 받게 됩니다. 종료 시, 해당 변경 사항은 Steam Cloud로 업로드됩니다. 마지막으로, Steam Deck 기기가 깨어나면 Steam은 변경 사항을 해당 기기로 동기화하고, 로컬 파일이 변경되었다는 알림을 애플리케이션에 전달합니다. 그러면 애플리케이션은 그러한 변경 사항을 반복하고 적절한 조치를 취할 수 있습니다. 예를 들어, 게임은 간단히 디스크에서 업데이트된 진행 상황을 로드하고 사용자가 다른 기기에서 마지막으로 중단한 지점에서 계속 진행하도록 할 수 있습니다.

이 기능이 왜 존재하는지, 그리고 이를 어떻게 사용하는지에 대한 더 많은 정보를 얻으려면 저희의 공지 게시물을 확인해보세요.

이 기능은 ISteamRemoteStorage API를 이용해 파일을 관리하거나 Auto-Cloud를 사용하는 애플리케이션을 지원합니다.

자세한 내용은 ISteamRemoteStorage 문서를 참조하십시오. 특히 ISteamRemoteStorage::RemoteStorageLocalFileChange_tISteamRemoteStorage::GetLocalFileChangeCountISteamRemoteStorage::GetLocalFileChange를 확인해 보세요.

또한 ISteamRemoteStorage::BeginFileWriteBatch 및 ISteamRemoteStorage::EndFileWriteBatch를 참고하십시오 - 이 래퍼들은 사용자가 시스템 중단을 시작할 때 Steam이 Steam Cloud까지 안전하게 동기화할 수 있도록 Steam에 힌트를 제공하는 데 사용해야 합니다.

사전 릴리스 테스트

당신은 로컬에서 당신의 앱에 대해 Dynamic Cloud Sync를 활성화하여 빌드를 테스트 할 수 있습니다 - 이는 Dynamic Cloud Sync를 모든 사용자에게 활성화하면 새로운 API 메소드와 콜백을 처리하지 않는 빌드를 실행할 때 데이터 손실이 발생할 수 있으므로, 이미 출시된 게임에 권장됩니다.

PC에서 로컬로 테스트하려면:

  1. 테스트할 앱을 소유한 계정으로 Steam에 로그인합니다.
  2. 브라우저에서 steam://open/console로 이동하여 Steam 콘솔을 엽니다. (또는 명령줄 steam -console을 사용하여 Steam을 실행한 다음 직접 콘솔 섹션으로 이동할 수도 있습니다).
  3. 콘솔에 @cloud_testdynamicsyncapp <AppId>을 입력하고 테스트하려는 주어진 앱 ID를 사용합니다. 예: @cloud_testdynamicsyncapp 480
  4. Steam에서 앱을 시작합니다.
  5. 게임을 원하는 양만큼 진행시킵니다.
  6. Steam 콘솔에서 prepare_for_suspend를 입력합니다. Steam은 게임 프로세스를 중단하고 변경된 파일을 Steam Cloud에 업로드합니다.
  7. 선택 사항: 다른 기기에서 게임을 플레이하여 추가 진행 상황을 만들고, 그런 다음 종료하고 해당 Steam 클라이언트가 진행 상황을 Steam Cloud에 업로드하도록 합니다.
  8. 원래의 기기에서, Steam 콘솔에서 resume_suspended_games를 입력합니다. 이렇게 하면 Steam Cloud에서 필요한 파일을 동기화하고, 게임에 관련 API 호출을 게시하고, 게임 프로세스를 다시 시작합니다.

Steam Deck에서 로컬로 테스트하려면:

  1. Devkit를 사용하여 Steam Deck를 연결합니다.
  2. CEF 콘솔을 사용하려면 이곳을 참조하세요.
  3. JS 콘솔에서 SteamClient.Console.ExecCommand(“@cloud_testdynamicsyncapp <AppId>”)를 입력하여 테스트를 활성화합니다. 그런 다음 SteamClient.Console.ExecCommand(“@cloud_testdynamicsyncapp 0”)를 입력하여 비활성화 할 수 있습니다.

Debugging

먼저, 항상 Steam 파트너 웹사이트에서 변경 사항을 게시하고 최대 10분 동안 기다리거나 Steam 클라이언트를 재시작하여 게시된 변경 사항을 받았는지 확인해야 합니다.

Steam Cloud에서 문제가 발생하면 %Steam Install%\logs\cloud_log.txt 위치에 있는 로그 파일을 확인해야 합니다.

추가 정보는 'Steamworks API 디버깅하기'를 참조하세요.

 

 

 

'_Diary > Dev' 카테고리의 다른 글

[Find with Seoul] Devlog #12  (0) 2023.07.13
[Steam] Steam Console 여는 법  (0) 2023.07.08
[Stations In Seoul] Devlog #4  (0) 2023.07.06
[Find with Seoul] Devlog #11  (0) 2023.07.06
CreativeML Open RAIL-M 라이센스  (0) 2023.06.30
블로그 이미지

RIsN

,