
AWS에 대한 설명과 왜? AWS를 사용하는지 그리고 AWS 사용전 알아둘 사항들을 학습합니다.
AWS (Amazon Web Services)는 아마존닷컴(Amazon.com)의 클라우드 컴퓨팅 플랫폼입니다. AWS는 전 세계적으로 사용되며 다양한 서비스를 제공하여 기업과 개발자들이 확장 가능하고 안전한 클라우드 인프라를 구축하고 운영할 수 있도록 지원합니다.
AWS의 주요 특징과 서비스는 다음과 같습니다:
확장성: AWS는 필요에 따라 리소스를 신속하게 확장하거나 축소할 수 있는 유연한 인프라를 제공합니다. 이로 인해 비즈니스 요구 사항에 맞게 자원을 조정할 수 있으며, 높은 가용성과 성능을 유지할 수 있습니다.
다양한 서비스: AWS는 컴퓨팅, 스토리지, 데이터베이스, 네트워킹, 보안 등 다양한 분야에서 수백 가지의 서비스를 제공합니다. 이러한 서비스들은 EC2 (Elastic Compute Cloud), S3 (Simple Storage Service), RDS (Relational Database Service), Lambda, DynamoDB 등을 포함하고 있습니다.
보안: AWS는 데이터 보호와 네트워크 보안에 큰 중점을 두고 있으며, 다중 계층 보안 모델 및 암호화 기능 등을 제공하여 고객의 데이터와 애플리케이션을 안전하게 유지합니다.
글로벌 인프라: AWS는 전 세계적으로 여러 개의 리전과 엣지 로케이션으로 구성된 글로벌 인프라를 갖추고 있습니다. 이를 통해 사용자들은 지리적으로 가까운 위치에서 자원을 실행하여 낮은 대기 시간과 높은 성능을 얻을 수 있습니다.
유연한 비용 모델: AWS는 Pay-as-you-go 모델로 과금되며 필요에 따라 리소스 사용량만큼 비용 지불하는 방식입니다. 이로써 초기 투자 비용 없이 필요한 만큼의 IT 인프라를 사용할 수 있으므로 경제적인 이점도 얻을 수 있습니다.
개방성 및 생태계: AWS는 오픈 소스 도구와 기존 IT 시스템들과 쉽게 통합됩니다. 또한 많은 파트너사와 개발자 커뮤니티가 존재하여 활발한 생태계가 형성되어있습니다.
AWS는 대규모 기업부터 스타트업까지 다양한 조직에서 클라우드 컴퓨팅 요구사항을 충족시키기 위해 선택하는 주요 클라우드 프로바이더 중 하나입니다.
AWS 계정을 가입하는 방법과 가입시 참고할 내용들을 설명 하고 가입 내용을 확인 합니다.
Amazon Web Services (AWS)에 가입하려면 아래와 같은 준비물과 가입 절차를 따라야 합니다:
준비물:
유효한 이메일 주소: AWS 계정을 만들려면 유효한 이메일 주소가 필요합니다. 이 이메일 주소는 AWS와의 모든 통신 및 서비스 업데이트를 위해 사용됩니다.
신용카드 또는 결제 정보: AWS 서비스를 사용하기 위해 결제 정보가 필요합니다. AWS 계정 생성 시, 결제 정보를 입력해야 합니다. AWS Free Tier 또는 프리미엄 계정 여부와 관계없이 이 정보는 필요합니다.
가입 절차:
AWS 웹사이트 방문: AWS 웹사이트(https://aws.amazon.com)에 접속하여 "로그인" 또는 "계정 생성" 버튼을 클릭합니다.
계정 생성: "계정 생성" 버튼을 클릭한 후, 요구사항에 따라 계정 생성 프로세스를 시작합니다.
이메일 주소 입력: 유효한 이메일 주소를 입력합니다. 이 이메일 주소는 AWS 서비스와 통신하기 위한 주요 수단이 됩니다.
비밀번호 설정: 보안을 위해 안전한 비밀번호를 설정합니다. 비밀번호는 대소문자, 특수 문자 및 숫자를 포함해야 합니다.
계정 유형 선택: 개인 또는 비즈니스 계정을 선택하거나, AWS Educate 또는 AWS Activate와 같은 교육 및 스타트업 프로그램을 선택할 수 있습니다.
기본 정보 입력: 이름, 전화번호, 회사 또는 기관명 등 기본 정보를 입력합니다.
주소 입력: 주소 정보를 입력하고 국가 또는 지역을 선택합니다.
결제 정보 입력: AWS 서비스를 사용할 때 발생하는 비용을 지불하기 위해 신용카드 또는 결제 정보를 입력합니다. 이것은 AWS 서비스 사용 시 사용될 수 있으며, AWS Free Tier를 활용하는 경우에도 필요합니다.
AWS 서비스 약관과 개인정보 보호 정책 동의: AWS 서비스 약관과 개인정보 보호 정책에 동의합니다. 이는 AWS 계정을 만들기 위한 필수 단계입니다.
AWS 계정 생성 확인: 입력한 정보를 확인하고 "계정 생성" 또는 유사한 버튼을 클릭하여 계정을 생성합니다.
계정 활성화: 계정 생성 후, AWS에서 보안 검사를 수행할 수 있으며, 일부 서비스에 액세스하려면 일부 시간이 걸릴 수 있습니다. 일반적으로 AWS 계정은 빠르게 활성화되며, 사용 가능한 서비스를 이용할 수 있습니다.
AWS 계정을 만든 후, AWS 콘솔에 로그인하고 원하는 서비스를 프로비저닝하거나 관리할 수 있습니다. 중요한 것은 계정의 보안을 유지하고 비밀번호 및 결제 정보를 안전하게 관리하는 것입니다. 또한 AWS Free Tier를 통해 일부 서비스를 무료로 사용할 수 있는지 확인하고, 비용을 효과적으로 관리하는 방법을 고려하는 것이 중요합니다.
AWS UI(User Interface)와 콘솔 대시보드를 살펴 봅니다.
대시보드의 위젯과 위젯을 통해서 연결되 서비스에 대해서 설명을 드리고 비용 알람 설정 방법을 확인 합니다.
AWS 의 Management Console을 살펴보고 기능과 사용법을 설명 합니다.
AWS Management Console은 사용자가 다양한 AWS 서비스 및 리소스를 관리할 수 있는 웹 기반 인터페이스로, 주요 기능 및 일반적인 사용 시나리오는 다음과 같습니다:
대시보드: 로그인 시 가장 먼저 볼 수 있는 페이지로, 최근 이벤트 및 사용 통계 등 AWS 리소스에 대한 개요를 제공합니다.
서비스: AWS 콘솔은 유형별(예: Compute, Storage, Database, Networking)로 분류된 다양한 AWS 서비스에 액세스할 수 있습니다. 이 범주를 클릭하면 Amazon EC2(Elastic Compute Cloud), Amazon S3(Simple Storage Service), AWS Lambda 등과 같은 특정 서비스에 액세스할 수 있습니다.
지역 선택: AWS는 전 세계의 여러 지역에서 운영되고 있으며, 사용자는 자신의 자원을 배치할 지역을 선택할 수 있으며, 콘솔을 통해 지역 간을 전환하여 서로 다른 지리적 위치의 자원을 관리할 수 있습니다.
리소스 관리: 콘솔을 통해 직접 AWS 리소스를 생성, 구성 및 관리할 수 있습니다. 예를 들어 EC2 인스턴스 실행, S3 버킷 생성, RDS(Relational Database Service) 데이터베이스 설정 등이 가능합니다.
IAM(Identity and Access Management): IAM을 통해 사용자 계정 및 권한을 관리할 수 있으며 콘솔을 통해 IAM 사용자, 그룹, 역할 및 정책을 생성하고 관리할 수 있습니다.
청구 및 비용 관리: AWS는 사용 및 비용을 추적할 수 있는 도구를 제공합니다. 콘솔은 AWS 지출을 모니터링하고 최적화하는 데 도움이 되는 청구 대시보드, 비용 탐색기 및 예산 관리 기능에 대한 액세스를 제공합니다.
보안: AWS 콘솔에는 보안 관리를 지원하는 기능이 포함되어 있습니다. 여기에는 보안 그룹 설정, 네트워크 ACL(Access Control Lists) 구성, 사용자 및 역할 관리를 위한 AWS IAM(Identity and Access Management) 액세스 등이 포함됩니다.
Monitoring and Logging : AWS CloudWatch가 콘솔에 통합되어 있어 다양한 AWS 리소스에 대한 모니터링 및 알람 설정이 가능하며, CloudWatch Logs 및 CloudTrail에 접속하여 API 호출을 감사 및 추적할 수 있습니다.
Deployment and Orchestration : AWS는 AWS Elastic Beanstalk, AWS CloudFormation, AWS CodeDeploy 등의 서비스를 제공하며, 이 서비스들은 콘솔을 통해 액세스 및 구성할 수 있습니다.
개발자 도구: 개발자의 경우 콘솔을 통해 AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, AWS CodePipeline 등 다양한 개발자 도구에 액세스할 수 있습니다.
분석: 콘솔을 통해 Amazon Redshift, Amazon EMR(Elastic MapReduce), Amazon QuickSight 등 AWS 분석 서비스에 접속하여 데이터를 분석하고 시각화를 생성할 수 있습니다.
지원 및 설명서: AWS는 콘솔을 통해 지원 옵션 및 광범위한 설명서에 액세스하여 사용자가 문제를 해결하고 AWS 서비스에 대해 알아볼 수 있도록 지원합니다.
AWS Management Console은 AWS 리소스 및 서비스를 관리하기 위한 중앙 집중식 및 사용자 친화적인 인터페이스를 제공하도록 설계되었으며, 콘솔의 구체적인 레이아웃 및 기능은 시간에 따라 변경될 수 있으므로 최신 정보는 AWS 공식 문서 및 릴리스 정보를 참조할 필요가 있습니다.
Amazon Web Services (AWS)는 글로벌 인프라를 보유한 클라우드 서비스 제공 업체 중 하나로, 전 세계에 분산된 데이터 센터와 서비스 지역을 운영하고 있습니다. AWS의 글로벌 인프라는 고가용성, 확장성 및 안정성을 제공하며 고객이 다양한 비즈니스 요구를 충족시킬 수 있도록 지원합니다.
AWS의 글로벌 인프라에는 다음과 같은 주요 구성 요소와 개념이 포함됩니다:
리전 (Region): AWS의 리전은 물리적으로 분리된 지역 데이터 센터 클러스터로, 각 리전은 독립적인 AWS 인프라를 가지고 있습니다. 예를 들어, 미국 동부 (Northern Virginia) 리전, 아시아 태평양 (서울) 리전, 유럽 (런던) 리전 등이 있습니다.
가용 영역 (Availability Zone): 리전은 하나 이상의 가용 영역으로 구성되며, 각 가용 영역은 서로 다른 데이터 센터에서 독립적으로 운영됩니다. 가용 영역 간에 서비스 중단이 발생해도 다른 가용 영역을 통해 고가용성을 유지할 수 있습니다.
엣지 위치 (Edge Location): 엣지 위치는 Amazon CloudFront와 AWS의 Content Delivery Network (CDN) 서비스를 위한 위치로, 정적 컨텐츠를 빠르게 제공하고 로드 밸런싱을 수행하는 데 사용됩니다.
글로벌 네트워크: AWS는 글로벌 네트워크를 통해 데이터 센터 및 리전 간에 데이터를 안전하게 전송합니다. 이러한 글로벌 네트워크는 빠른 데이터 이동 및 안정성을 제공하며 고객이 전 세계에서 애플리케이션을 운영할 수 있도록 지원합니다.
AWS Direct Connect: AWS Direct Connect는 온프레미스 데이터 센터와 AWS의 전용 네트워크 연결 서비스로, 민감한 데이터 전송 및 하이브리드 클라우드 환경을 위한 안전하고 빠른 연결을 제공합니다.
설정 및 관리: AWS는 AWS Management Console, AWS Command Line Interface (CLI), 및 AWS SDK를 통해 고객이 전 세계의 리전과 가용 영역에서 리소스를 프로비저닝하고 관리할 수 있도록 도구를 제공합니다.
AWS의 글로벌 인프라는 다양한 산업, 규모 및 지역에서 다양한 클라우드 서비스를 제공하는 데 사용됩니다. 고객은 가용성과 성능을 개선하고 비즈니스 요구를 충족시키기 위해 AWS의 글로벌 인프라를 활용합니다.
클라우드에서 사용하는 대표적인 네트워크 서비스 로드밸런서, WAF, Firewall 에 대한 설명과 클라우드 네트워크 구조인 Flat Network에 대해서 설명 합니다.
클라우드 네트워크는 클라우드 컴퓨팅 환경에서 컴퓨터 및 리소스 간의 통신을 가능하게 하는 핵심 구성 요소입니다. 클라우드 네트워크는 사용자, 애플리케이션, 데이터 및 서비스를 연결하고 관리하여 클라우드 환경에서 안전하고 효율적인 데이터 통신을 지원합니다. 이를 이해하기 위해 아래의 주요 개념과 용어를 살펴보겠습니다:
가상 네트워크 (Virtual Network): 클라우드 환경에서는 가상 네트워크가 물리적 네트워크와 연결되어 사용됩니다. 가상 네트워크는 논리적으로 분리되어 있으며 클라우드 리소스 및 서비스 간의 통신을 정의하고 제어합니다.
서브넷 (Subnet): 가상 네트워크 내에서 논리적으로 분리된 네트워크 세그먼트를 나타내며, IP 주소 범위를 할당하여 그룹화됩니다. 서브넷은 가상 머신 또는 서비스를 배치하는 데 사용됩니다.
라우팅 (Routing): 클라우드 네트워크에서 데이터 패킷을 목적지로 전달하는 프로세스입니다. 라우팅 규칙을 통해 데이터는 서브넷 간, 리전 간 또는 인터넷을 통해 전달됩니다.
게이트웨이 (Gateway): 게이트웨이는 네트워크와 다른 네트워크 또는 서비스 간의 연결 지점입니다. 예를 들어, 인터넷 게이트웨이는 클라우드 네트워크와 인터넷 간의 통신을 제공합니다.
로드 밸런서 (Load Balancer): 로드 밸런서는 네트워크 트래픽을 여러 서버 또는 가용 영역으로 분산하는 역할을 합니다. 이를 통해 애플리케이션의 가용성과 성능을 향상시킬 수 있습니다.
보안 그룹 (Security Group) 및 네트워크 액세스 제어 목록 (Network Access Control List, NACL): 보안 그룹과 NACL은 클라우드 환경에서 네트워크 보안을 관리하는 데 사용됩니다. 이들은 트래픽을 제어하고 보안 정책을 구현하여 네트워크에서의 비인가된 액세스를 방지합니다.
가상 사설 네트워크 (Virtual Private Cloud, VPC): AWS와 같은 클라우드 제공 업체에서는 가상 사설 네트워크를 제공하여 사용자가 논리적으로 분리된 네트워크 환경을 구축하고 관리할 수 있도록 합니다.
하이브리드 클라우드 네트워크: 일부 리소스 및 서비스를 클라우드와 온프레미스 데이터 센터 간에 연결하여 하이브리드 클라우드 네트워크를 구축할 수 있습니다.
클라우드 네트워크 서비스: 클라우드 제공 업체는 가상 프라이빗 클라우드, 로드 밸런싱, VPN, Direct Connect 등과 같은 다양한 클라우드 네트워크 서비스를 제공합니다.
클라우드 네트워크는 클라우드 컴퓨팅의 핵심이며, 애플리케이션의 가용성, 성능 및 보안을 관리하는 데 중요한 역활을 합니다.
AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. 사용하는 이유와 IAM을 통해서 Sub 계정을 만드는 방법에 대해서 설명 합니다.
AWS Identity and Access Management (IAM)을 사용하여 서브계정을 생성하고 권한을 부여하는 이유는 보안, 권한 제어, 및 리소스 관리를 효율적으로 수행하기 위함입니다. 다음은 그 이유에 대한 설명입니다:
보안 강화: 메인 AWS 계정은 모든 리소스 및 서비스에 대한 권한을 부여받기 때문에, 모든 권한이 하나의 계정에 집중됩니다. 이는 보안 취약점을 노출할 수 있습니다. 서브계정을 사용하면, 민감한 데이터와 리소스에 접근 권한을 가진 일부 사용자만 서브계정을 통해 접근하므로 보안을 강화할 수 있습니다.
최소 권한 원칙 (Principle of Least Privilege): 서브계정을 사용하여 사용자 또는 역할에 필요한 최소한의 권한만 부여할 수 있습니다. 이는 사용자가 리소스에 불필요하게 액세스하지 못하도록 하며, 실수 또는 보안 위반의 위험을 줄입니다.
리소스 및 비용 관리: 서브계정을 사용하여 각각의 사용자, 팀 또는 프로젝트에 대한 별도의 비용 및 리소스를 관리할 수 있습니다. 이는 비용 추적 및 리소스 사용 분석을 효율적으로 수행하도록 도와줍니다.
권한 분할 (Segregation of Duties): 서브계정을 사용하면 서로 다른 역할 간의 권한을 분리할 수 있습니다. 예를 들어, 개발팀과 운영팀은 서로 다른 서브계정을 사용하여 각각의 업무를 분리하고 관리할 수 있습니다.
오류와 실패 감지: 서브계정을 사용하여 리소스와 서비스의 액세스 및 활동을 개별적으로 모니터링하고 오류 또는 비정상적인 활동을 탐지하는 것이 더 쉽습니다.
강화된 보안 감사 및 규정 준수: 서브계정을 사용하면 감사 및 규정 준수 요구 사항을 충족하기 위한 권한 분리 및 모니터링을 향상시킬 수 있습니다. 감사 로그 및 이력을 정교하게 추적하여 보안 규정을 준수하고 보안 인증을 통과하기 위한 감사를 간소화할 수 있습니다.
이러한 이유로 AWS IAM을 사용하여 서브계정을 생성하고 권한을 부여하여 리소스 보안 및 관리를 향상시킬 수 있습니다. 서브계정을 사용함으로써 안전하고 효율적으로 클라우드 환경을 운영할 수 있습니다.
IAM을 이용해서 root 계정에 MFA를 설정하는 방법, Sub 계정을 만들고 MFA를 설정하고 로그인 하는 과정을 실습 합니다.
AWS Identity and Access Management (IAM)을 사용하여 서브계정을 만들고 권한을 부여하는 프로세스는 다음과 같습니다. 이 프로세스를 통해 새로운 사용자를 생성하고 해당 사용자에게 필요한 권한을 부여할 수 있습니다.
참고: 서브계정 생성 및 권한 부여에는 메인 AWS 계정의 권한이 필요하며, 메인 계정은 일반적으로 루트 사용자로 설정됩니다.
AWS Management Console에 로그인: AWS 계정에 로그인하고 AWS Management Console에 액세스합니다.
IAM 대시보드로 이동: AWS Management Console의 "서비스" 탭에서 "IAM"을 선택하여 IAM 대시보드로 이동합니다.
서브계정 생성:
대시보드에서 "사용자"를 선택하고 "사용자 추가"를 클릭합니다.
"사용자 세부 정보 설정" 페이지에서 사용자 이름을 입력하고, "프로그래밍 방식 액세스"와 "AWS Management Console 액세스"를 선택합니다. 그런 다음 "다음: 권한 추가"를 클릭합니다.
권한 추가:
"기존 정책 직접 연결" 또는 "사용자에게 직접 권한 부여"를 선택합니다. 귀하의 요구사항에 맞게 선택합니다.
"기존 정책 직접 연결"을 선택한 경우, 원하는 정책을 선택하고 "다음: 검토"를 클릭합니다. 귀하의 서브계정에 적용할 권한을 세밀하게 제어할 수 있습니다.
태그 추가 (선택 사항):
서브계정에 태그를 추가할 수 있으며, 이것은 리소스 추적 및 관리를 용이하게 합니다. 원하는 경우 태그를 추가하고 "다음: 검토"를 클릭합니다.
검토:
서브계정의 설정을 검토하고 필요한 경우 수정합니다.
서브계정 생성:
"사용자 생성"을 클릭하여 서브계정을 생성합니다.
인증 정보 확인:
서브계정이 생성되었으므로 사용자의 보안 자격 증명을 확인합니다. 사용자에게는 액세스 키 ID 및 비밀 액세스 키가 제공됩니다.
IAM 사용자 URL 공유 (선택 사항):
서브계정의 로그인 URL을 공유할 수 있습니다. "사용자 URL 공유"를 클릭하고 URL을 공유합니다.
이제 서브계정이 생성되었으며 해당 서브계정은 권한을 가진 IAM 사용자로 AWS에 액세스할 수 있습니다. 서브계정은 메인 계정에서 제공한 권한에 따라 AWS 리소스에 접근하고 조작할 수 있습니다. 주의할 점은 권한을 신중하게 관리하고 최소한의 필요한 권한만 부여하는 것입니다. 권한이 부여된 IAM 정책을 편집하여 필요한 권한을 조정할 수 있습니다.
EC2에 대한 설명과 요금제, 유형등에 대해서 설명을 하고 실습 준비를 합니다.
Amazon Elastic Compute Cloud (EC2)는 AWS의 가상 서버 호스팅 서비스로, 사용자가 가상 머신(인스턴스)을 프로비저닝하고 관리할 수 있는 서비스입니다. 아래는 EC2에 대한 기본 설명과 사용 요금제, 네이밍에 대한 정보입니다:
1. EC2 기본 설명:
가상 머신(인스턴스): EC2를 사용하여 가상 머신(인스턴스)을 생성할 수 있으며, 각 인스턴스는 운영체제 및 응용 프로그램을 실행할 수 있는 독립적인 환경을 제공합니다.
다양한 운영체제: EC2에서는 다양한 운영체제(예: Amazon Linux, Ubuntu, Windows Server, 등)를 지원하며, 사용자는 필요한 운영체제를 선택할 수 있습니다.
스케일링: EC2를 사용하면 인스턴스를 쉽게 확장하거나 축소하여 애플리케이션의 성능과 가용성을 조절할 수 있습니다.
다양한 인스턴스 유형: 다양한 성능 및 하드웨어 구성의 EC2 인스턴스 유형이 제공됩니다. 사용 사례와 요구 사항에 따라 최적의 유형을 선택할 수 있습니다.
2. EC2 사용 요금제:
EC2의 요금은 여러 가지 요소에 따라 결정됩니다. 이러한 요금 요소에는 인스턴스 유형, 운영체제, 지역, 사용 시간, 데이터 전송량 등이 포함됩니다.
EC2 인스턴스는 온디맨드 인스턴스, 예약 인스턴스, 스팟 인스턴스 및 듀얼 인스턴스와 같은 다양한 요금제로 사용할 수 있습니다. 각 요금제는 서로 다른 가격 모델을 제공합니다.
AWS 계정의 비용 및 사용량을 추적하고 예산을 설정하면 예상치 못한 비용을 방지하고 예산을 준수할 수 있습니다.
3. EC2 네이밍 규칙:
EC2 인스턴스에는 일련번호와 인스턴스 유형을 포함한 고유한 이름(인스턴스 ID)이 부여됩니다. 예를 들어, "i-1234567890abcdef0".
인스턴스는 사용자가 정의한 태그를 가질 수 있으며, 이러한 태그를 사용하여 인스턴스를 식별하고 관리합니다.
사용자는 EC2 인스턴스에 사용자 정의 이름을 부여하거나 태그를 사용하여 리소스를 구분할 수 있습니다.
EC2는 AWS 클라우드에서 가장 기본적이고 중요한 서비스 중 하나이며, 많은 애플리케이션 및 워크로드를 실행하고 관리하는 데 사용됩니다. EC2 인스턴스를 선택하고 구성함으로써 원하는 운영체제와 하드웨어 성능을 갖춘 가상 환경을 생성하고 클라우드 인프라에서 실행할 수 있습니다. EC2 인스턴스의 타입 및 사용 시간에 따라 비용이 발생하므로 비용 효율성을 고려하여 인스턴스를 관리하는 것이 중요합니다.
Linux, Windows EC2 Intance를 만들기 Key 파일을 이용하여 ssh, rdp로 원격 접속하는것을 실습 합니다.
Linux 및 Windows EC2 인스턴스를 생성하고 원격으로 접속하는 과정을 실습하려면 아래 단계를 따르면 됩니다. 이 과정은 AWS EC2를 사용하는 방법을 안내하며, AWS 계정 및 액세스 키를 보유하고 있다고 가정합니다.
1. AWS 계정 및 액세스 키 설정:
AWS 계정을 만들고 AWS Management Console에 로그인합니다.
AWS IAM을 사용하여 액세스 키 ID 및 비밀 액세스 키를 생성합니다. 이러한 자격 증명을 보안 관리합니다.
2. EC2 인스턴스 생성:
AWS Management Console에서 "서비스"를 선택하고 "EC2"를 클릭하여 EC2 대시보드로 이동합니다.
"인스턴스 시작"을 클릭하고 원하는 AMI(운영체제 이미지)를 선택합니다. 예를 들어, "Amazon Linux" 또는 "Microsoft Windows Server" AMI를 선택합니다.
인스턴스 유형, 인스턴스 세부 정보(서브넷, 보안 그룹 등)를 구성합니다. 필요한 경우 키페어(SSH 키 또는 RDP 키페어)를 생성하고 선택합니다.
나머지 설정(스토리지, 태그, 보안 그룹 규칙 등)을 완료한 후 인스턴스를 시작합니다.
3. 원격 접속:
Linux EC2에 접속:
SSH를 사용하여 Linux EC2에 접속합니다.
SSH 명령을 사용하여 EC2 인스턴스의 퍼블릭 IP 주소 또는 DNS 이름으로 연결합니다.
예를 들어, 다음 명령을 사용합니다:phpCopy codessh -i <키페어.pem> ec2-user@<EC2 인스턴스 퍼블릭 IP>
<키페어.pem>은 키페어 파일의 경로를 나타내며, EC2 인스턴스를 생성할 때 선택한 키페어에 해당합니다.
Windows EC2에 접속:
Windows EC2에는 원격 데스크톱 프로토콜(RDP)을 사용하여 접속합니다.
AWS Management Console에서 인스턴스를 선택하고 "작업" 메뉴에서 "원격 데스크톱 연결"을 선택합니다.
연결 파일(.rdp)을 다운로드한 후 실행하고 액세스하려는 Windows EC2의 관리자 계정과 암호를 입력합니다.
4. 접속 완료:
위 단계를 따라 수행하면 Linux 또는 Windows EC2 인스턴스에 원격으로 접속할 수 있습니다.
원격 세션에서는 인스턴스를 관리하고 원격으로 명령을 실행할 수 있습니다.
EC2 인스턴스에 원격으로 접속하여 필요한 작업을 수행하거나 애플리케이션을 실행하는 등의 작업을 수행할 수 있습니다. EC2 인스턴스를 사용하는 동안 보안 그룹 및 네트워크 설정에 유의하여 보안을 유지하고 관리합니다.
AWS 보안 그룹은 AWS EC2 인스턴스 및 다른 AWS 리소스의 네트워크 트래픽을 제어하는 가상 방화벽 규칙의 그룹입니다. 보안 그룹은 인스턴스 레벨에서 작동하며, 각 보안 그룹은 인바운드(인스턴스로 들어오는 트래픽) 및 아웃바운드(인스턴스에서 나가는 트래픽) 트래픽에 대한 규칙을 정의합니다. 보안 그룹을 사용하여 트래픽을 제어하고 보안을 강화할 수 있습니다.
아래는 AWS 보안 그룹에 대한 주요 특징과 설명입니다:
규칙 기반 보안: 보안 그룹은 트래픽 허용 또는 거부에 대한 규칙을 정의합니다. 규칙은 프로토콜, 포트 및 IP 주소 범위에 따라 구성됩니다. 트래픽이 규칙과 일치하는 경우에만 허용됩니다.
상태 추적: 보안 그룹은 트래픽을 상태 추적하여 관련 있는 응답 트래픽을 자동으로 허용합니다. 예를 들어, 인스턴스에서 발생한 요청 트래픽에 대한 관련 응답 트래픽은 자동으로 허용됩니다.
보안 그룹 간 연결: 여러 보안 그룹을 생성하고 여러 인스턴스에 적용할 수 있습니다. 이를 통해 서로 다른 인스턴스 간에 서로 다른 네트워크 규칙을 적용할 수 있습니다.
변경 가능한 규칙: 보안 그룹의 규칙은 필요에 따라 언제든지 수정할 수 있습니다. 이는 유연한 보안 그룹 관리를 가능하게 합니다.
디폴트 보안 그룹: AWS는 EC2 인스턴스를 위한 디폴트 보안 그룹을 제공합니다. 이 디폴트 보안 그룹은 모든 인바운드 트래픽을 거부하고 모든 아웃바운드 트래픽을 허용하는 기본 규칙을 가지고 있습니다.
서로 다른 인스턴스 유형에 대한 적용: 보안 그룹은 서로 다른 인스턴스 유형에 대해 적용될 수 있으며, 동일한 보안 그룹을 여러 인스턴스에 적용할 수 있습니다.
VPC 내에서 보안 그룹: Virtual Private Cloud (VPC) 내에서 보안 그룹을 사용하여 VPC 범위 내에서 트래픽을 제어할 수 있습니다.
AWS 보안 그룹은 네트워크 보안을 강화하고 EC2 인스턴스 및 다른 AWS 리소스에 대한 액세스를 제어하는 데 중요한 역할을 합니다. 각 보안 그룹은 특정 인스턴스 또는 리소스의 보안을 다른 리소스와 독립적으로 구성할 수 있으므로 리소스 간의 네트워크 보안을 강화하는 데 사용됩니다.
Elastic IP 설명과 EC2 배치 전략에 대한 설명을 드립니다.
Amazon EC2 인스턴스 배치 그룹을 사용하여 퍼포먼스를 향상시키는 방법은 다음과 같습니다. EC2 인스턴스 배치 그룹을 만들고 사용하면 여러 가용 영역에 인스턴스를 분산 배치하거나 같은 하드웨어에서 인스턴스를 실행하여 애플리케이션의 가용성 및 성능을 향상시킬 수 있습니다.
1. EC2 인스턴스 배치 그룹 생성:
AWS Management Console 또는 AWS CLI를 사용하여 EC2 인스턴스 배치 그룹을 생성합니다.
배치 그룹을 생성할 때 인스턴스 유형, 운영 체제, 네트워크 구성 등과 같은 배치 그룹의 특성을 정의합니다.
2. 가용 영역 배치:
배치 그룹을 사용하여 인스턴스를 여러 가용 영역에 분산 배치할 수 있습니다.
이것은 가용 영역 간의 장애를 격리하고 가용성을 향상시키는 데 도움이 됩니다. 예를 들어, 만일 한 가용 영역에서 문제가 발생하면 다른 가용 영역의 인스턴스가 서비스를 계속 제공할 수 있습니다.
3. 같은 하드웨어 배치:
EC2 인스턴스 배치 그룹을 사용하면 동일한 하드웨어 묶음에 여러 인스턴스를 배치할 수 있습니다.
이렇게 하면 인스턴스 간의 네트워크 레이턴시를 최소화하고, 특히 머신 러닝 및 고성능 컴퓨팅 워크로드에 유용합니다.
4. 자동 스케일링 및 관리:
배치 그룹은 EC2 Auto Scaling 그룹과 통합하여 인스턴스 수를 동적으로 조절할 수 있습니다.
Auto Scaling을 사용하면 트래픽의 변화에 따라 인스턴스 수를 조절하여 효율적인 자원 활용을 달성할 수 있습니다.
5. 애플리케이션 로드 밸런싱:
Elastic Load Balancing (ELB)을 사용하여 배치 그룹 내의 인스턴스에 트래픽을 분산합니다.
ELB는 트래픽 관리 및 가용성 향상에 도움이 됩니다.
6. 성능 모니터링:
AWS CloudWatch 및 EC2 인스턴스 배치 그룹과 통합하여 성능을 모니터링하고 필요한 경우 조치를 취합니다.
자원 사용률 및 애플리케이션 성능을 모니터링하여 최적화할 수 있습니다.
EC2 인스턴스 배치 그룹은 애플리케이션의 가용성과 성능을 향상시키는 데 도움을 주는 강력한 도구입니다. 이를 통해 인스턴스의 분산 배치 및 관리, 가용 영역 간의 장애 격리, 자동 스케일링 및 성능 최적화를 수행할 수 있습니다.
Virtual Private Cloud(VPC) 네트워크는 클라우드에서 구현되는 물리적 네트워크의 가상 버전입니다.
VPC 를 설명하고 VPC 구성 요소인 Subnet, CIDR, Internet Gateway, NAT 에 대해서 설명을 드립니다.
Amazon Virtual Private Cloud (VPC)는 AWS에서 제공하는 가상 네트워크 환경입니다. VPC는 사용자가 AWS 리소스를 프로비저닝하고 실행하는 데 사용되며, 이를 통해 네트워크 아키텍처를 정의하고 제어할 수 있습니다. VPC를 이해하기 위해 VPC, CIDR 블록 및 서브넷에 대한 설명은 다음과 같습니다:
1. VPC (Virtual Private Cloud):
VPC는 AWS 클라우드 내에서 논리적으로 격리된 가상 네트워크 환경을 나타냅니다.
사용자는 VPC를 사용하여 가상 머신(인스턴스), 데이터베이스, 로드 밸런서 및 다른 AWS 리소스를 배치하고 네트워크 구성을 정의할 수 있습니다.
각 VPC는 독립된 네트워크 주소 공간(CIDR 블록)을 갖고 있으며, 사용자는 이 주소 공간을 나만의 요구 사항에 따라 나누고 구성할 수 있습니다.
2. CIDR (Classless Inter-Domain Routing) 블록:
CIDR는 IP 주소를 더 효율적으로 할당하고 관리하기 위한 방법입니다.
CIDR 블록은 IP 주소 범위를 표현하는 데 사용되며, 예를 들어, "10.0.0.0/16"은 10.0.0.0에서 10.0.255.255까지의 주소 범위를 나타냅니다.
VPC를 생성할 때 사용자는 VPC에 할당할 CIDR 블록을 지정하며, 이 블록 내에서 IP 주소를 할당하여 서브넷을 만들고 네트워크 구성을 설정합니다.
3. 서브넷 (Subnet):
서브넷은 VPC 내에서 더 작은 네트워크 세그먼트를 나타냅니다.
각 서브넷은 VPC의 CIDR 블록 내에서 정의되며, 서브넷 내의 인스턴스는 해당 서브넷의 IP 주소 범위에서 할당받습니다.
서브넷은 특정 가용 영역(Availability Zone) 내에 생성됩니다.
서브넷 간의 트래픽은 VPC 내에서 자동으로 라우팅되며, 서브넷 간에 라우팅 규칙을 정의하여 네트워크 트래픽을 제어할 수 있습니다.
이러한 구성 요소를 사용하여 VPC를 만들고 관리하며, 네트워크 아키텍처를 정의하고 AWS 리소스를 배치할 수 있습니다. VPC 및 관련된 CIDR 블록 및 서브넷을 사용하면 보안, 가용성 및 성능을 고려한 복잡한 네트워크 구성을 구현할 수 있습니다.
VPC를 메뉴를 통해서 VPC와 필요한 서브넷, 인터넷 게이트웨이, 라우티 테이블등을 자동으로 만드느 방법과
VPC를 만들고 수동으로 만드는 방법, 퍼블릭 서브넷의 EC2 이스턴스를 통해서 프라이빗 서브넷의 EC2에 접속하는 실습을 합니다
마지막으로 NAT 게이트웨이를 통한 프라이빗 서브넷 인스터스가 인터넷에 접속 하는 방법을 실습 합니다.
AWS Management Console을 통해 VPC(Virtual Private Cloud)를 구성하는 방법을 안내해 드리겠습니다. 다음은 간단한 VPC 구성 단계입니다:
참고: AWS 계정 및 적절한 권한이 필요하며, AWS 계정에 로그인한 상태여야 합니다.
1. AWS Management Console에 로그인:
먼저 AWS Management Console에 로그인합니다.
2. VPC 대시보드로 이동:
AWS Management Console 홈페이지에서 "서비스"를 클릭하고 "VPC"를 선택합니다.
3. VPC 생성:
VPC 대시보드에서 "VPC 시작" 또는 "VPC 생성" 버튼을 클릭합니다.
4. VPC 구성:
다음 정보를 입력하여 VPC를 구성합니다:
이름 태그: VPC에 대한 설명적인 이름을 지정합니다.
IPv4 CIDR 블록: VPC의 IP 주소 범위를 지정합니다. 예를 들어, "10.0.0.0/16"을 입력하면 대략 65,000개의 IP 주소를 갖게 됩니다.
IPv6 CIDR 블록 (선택 사항): IPv6를 사용하려면 IPv6 CIDR 블록을 지정할 수 있습니다.
DNS 호스트 옵션 활성화 (선택 사항): DNS 호스트를 사용할지 여부를 선택합니다.
DNS 리졸버 엔드포인트 (선택 사항): AWS에서 관리하는 DNS 서비스를 사용할 수 있습니다.
5. VPC 구성 검토:
입력한 정보를 검토하고 필요한 경우 수정합니다.
6. VPC 생성:
"VPC 생성" 버튼을 클릭하여 VPC를 만듭니다.
7. 서브넷 생성 (선택 사항):
VPC를 만들었다면, 서브넷을 생성하여 VPC 내에서 네트워크 세그먼트를 정의할 수 있습니다.
8. 라우팅 및 보안 그룹 설정 (선택 사항):
VPC에는 서브넷 간의 라우팅 및 보안 그룹을 설정할 수 있습니다.
9. 다른 AWS 리소스와 연결 (선택 사항):
생성한 VPC를 EC2 인스턴스, RDS 데이터베이스, ELB 로드 밸런서 등 다른 AWS 리소스와 연결할 수 있습니다.
이러한 단계를 따라 VPC를 구성할 수 있습니다. VPC는 AWS 리소스를 프로비저닝하고 관리하는 데 중요한 역할을 합니다. 필요에 따라 VPC 설정을 수정하거나 다른 AWS 서비스와 통합하여 네트워크 인프라를 보다 복잡하게 만들 수 있습니다.
클라우드의 장점인 확장성과 가용성을 설명하고, 로드테스트를 하는 이유를 살펴 봅니다.
클라우드 환경에서 가용성과 확장성을 구현하기 위해 Scale Up/Down과 Scale In/Out을 사용하는 방법을 학습하겠습니다. 이러한 스케일링 전략은 서비스의 수요와 자원 사용량에 따라 자동으로 리소스를 조절하고 관리하여 가용성을 향상시키고 확장성을 제공합니다.
1. Scale Up (Vertical Scaling):
Scale Up은 단일 인스턴스 또는 가상 머신의 성능을 향상시키는 것입니다. 이것은 주로 수직으로 확장하는 방법이며, 인스턴스의 CPU, RAM, 스토리지 등의 하드웨어 리소스를 업그레이드하는 것을 의미합니다.
예를 들어, 기존의 인스턴스를 더 강력한 하드웨어 스펙으로 업그레이드하거나 더 많은 CPU 및 RAM을 할당할 수 있습니다.
2. Scale Down (Vertical Scaling):
Scale Down은 인스턴스의 성능을 감소시키는 것입니다. 이것은 리소스를 줄이는 데 사용됩니다.
예를 들어, 시간이 지남에 따라 트래픽이 감소하면 인스턴스의 리소스를 줄여서 비용을 절약할 수 있습니다.
3. Scale Out (Horizontal Scaling):
Scale Out은 서비스의 수요가 증가할 때 인스턴스를 추가하여 확장하는 것을 의미합니다. 이는 가로로 확장하는 방법으로, 새로운 인스턴스를 시작하거나 다수의 인스턴스를 추가합니다.
로드 밸런서와 함께 사용하여 트래픽을 분산하고 가용성을 향상시킬 수 있습니다.
4. Scale In (Horizontal Scaling):
Scale In은 더 이상 필요하지 않은 인스턴스를 제거하거나 줄이는 것을 의미합니다.
인스턴스 수요가 감소하면 불필요한 비용을 절약하기 위해 인스턴스를 제거합니다.
클라우드에서의 스케일링 구현 단계:
Auto Scaling 그룹 생성: AWS Auto Scaling을 사용하여 필요한 인스턴스 수를 자동으로 관리하는 Auto Scaling 그룹을 생성합니다.
상황 및 정책 설정: 스케일링 정책을 설정하여 언제 인스턴스를 추가하거나 제거할지를 정의합니다. 예를 들어, CPU 사용률이 일정 이상인 경우 추가 인스턴스를 시작하도록 설정할 수 있습니다.
로드 밸런서 사용 (선택 사항): 웹 애플리케이션을 운영하는 경우 로드 밸런서를 사용하여 트래픽을 분산시키고 스케일링을 더욱 효과적으로 관리합니다.
모니터링 및 조정: 스케일링 작업을 모니터링하고 필요한 경우 정책을 조정하거나 스케일링 작업을 수동으로 시작할 수 있습니다.
Scale Up/Down 및 Scale In/Out 전략은 클라우드 환경에서 가용성과 확장성을 관리하는 데 중요한 역할을 합니다. 이를 통해 서비스가 변동하는 수요에 적응하고 비용을 최적화할 수 있습니다.
Scale-UP 으로 EC2 인스턴스의 성능을 변경하는 방법을 확인 합니다.
Amazon EC2 인스턴스의 스케일 업(Vertical Scaling)은 인스턴스의 vCPU 및 메모리(RAM)를 변경하고 이러한 변경 사항을 적용하는 과정을 다음과 같이 진행할 수 있습니다. EC2 인스턴스의 크기를 변경하려면 몇 가지 단계를 따라야 합니다.
참고: EC2 인스턴스 크기를 조정하려면 해당 EC2 인스턴스를 중지한 후 크기를 변경해야 합니다. 크기 조정 중에는 EC2 인스턴스가 일시 중지되며 IP 주소와 데이터는 유지됩니다.
EC2 인스턴스 중지:
AWS Management Console 또는 AWS CLI를 사용하여 크기를 조정할 EC2 인스턴스를 중지합니다.
인스턴스 크기 변경:
중지된 EC2 인스턴스의 속성을 수정하여 원하는 vCPU 및 RAM 크기로 변경합니다. 크기 변경은 "인스턴스 세부 정보" 탭에서 수행할 수 있습니다.
인스턴스 시작:
인스턴스 크기를 변경한 후 인스턴스를 다시 시작합니다. 변경된 크기의 인스턴스로 인스턴스를 시작합니다.
테스트 및 확인:
인스턴스가 다시 실행되면 인스턴스가 변경된 크기로 제대로 작동하는지 확인합니다.
크기 조정 후에는 새로운 크기의 EC2 인스턴스가 사용 가능하며, 이를 통해 더 많은 vCPU 및 RAM을 활용하여 성능을 향상시킬 수 있습니다. EC2 인스턴스 크기 조정은 일부 제약사항이 있을 수 있으므로 사용 중인 인스턴스 유형 및 리전에 따라서 가능한 크기 변경 옵션을 확인하고 작업을 수행하는 것이 중요합니다.
크기 변경을 수행하는 동안에는 인스턴스가 중지되므로 서비스 중단 시간을 고려해야 합니다. 때때로 인스턴스의 크기 조정만으로 성능을 개선할 수 있지만, 스케일링과 관리의 측면에서 가용성 및 확장성을 고려할 때 EC2 Auto Scaling과 같은 서비스를 고려하는 것이 좋습니다.
EC2 Snapshot 과 AMI 에 대해서 알아봅니다.
Amazon Elastic Compute Cloud (Amazon EC2)에서 백업을 만들고 관리하는 방법에는 스냅샷과 AMI (Amazon Machine Image)가 중요한 역할을 합니다. 아래에서 스냅샷을 이용한 백업과 AMI에 대한 설명 및 AMI를 만드는 방법을 설명하겠습니다.
1. EC2 스냅샷을 이용한 백업:
스냅샷 (Snapshot): EC2 스냅샷은 Amazon Elastic Block Store (EBS) 볼륨의 데이터를 백업하는 데 사용되는 스냅샷 형태의 데이터 스토리지입니다. 스냅샷은 EBS 볼륨의 상태를 특정 시점에 캡처하고 해당 데이터를 안전하게 보관합니다. 스냅샷을 이용하여 데이터의 백업, 복제 및 데이터 복구를 수행할 수 있습니다.
스텝 바이 스텝 EC2 스냅샷 생성:
AWS Management Console에 로그인하고 EC2 대시보드로 이동합니다.
"볼륨" 탭에서 백업하려는 EBS 볼륨을 선택합니다.
"동작" 메뉴에서 "스냅샷 생성"을 선택합니다.
스냅샷에 설명을 추가하고 "스냅샷 생성"을 클릭합니다.
2. AMI (Amazon Machine Image):
AMI (Amazon Machine Image): AMI는 EC2 인스턴스를 생성할 때 사용되는 템플릿입니다. AMI에는 EC2 인스턴스를 시작하는 데 필요한 운영 체제 및 애플리케이션 소프트웨어, 설정 및 데이터가 포함됩니다. AMI는 EC2 인스턴스를 복제하고 스케일링하는 데 사용됩니다.
스텝 바이 스텝 AMI 생성:
AWS Management Console에서 EC2 대시보드로 이동합니다.
왼쪽 네비게이션 창에서 "AMI"를 선택합니다.
"AMI 생성"을 클릭합니다.
"이미지 및 인스턴스" 섹션에서 이미지를 생성할 EC2 인스턴스를 선택합니다.
AMI의 설명과 다른 설정을 구성하고 "AMI 생성" 버튼을 클릭합니다.
AMI는 EC2 인스턴스를 빠르게 복제하고 확장하기 위한 중요한 도구입니다. 이러한 백업 및 이미지 생성 메커니즘은 중요한 데이터와 서버 설정을 보호하고, 새로운 인스턴스를 시작하거나 백업에서 데이터를 복구하는 데 도움을 줍니다.
EC2 스냅샷을 사용하여 나만의 AMI (Amazon Machine Image)를 만들고, 그 AMI를 사용하여 EC2 인스턴스를 시작하는 방법을 설명하겠습니다. 이것은 EC2 인스턴스를 이미지화하고, 나중에 동일한 구성의 인스턴스를 쉽게 생성할 수 있게 해줍니다.
1. 스냅샷을 이용한 AMI 생성:
스텝 바이 스텝 AMI 생성:
AWS Management Console에서 EC2 대시보드로 이동합니다.
왼쪽 네비게이션 창에서 "스냅샷"을 선택합니다.
AMI로 만들려는 스냅샷을 선택하고 "작업" 메뉴에서 "스냅샷을 AMI로 만들기"를 선택합니다.
"AMI 생성" 대화상자에서 AMI의 이름, 설명 및 다른 설정을 구성합니다.
"AMI 생성" 버튼을 클릭하여 AMI를 만듭니다.
2. AMI로 EC2 인스턴스 생성:
스텝 바이 스텝 EC2 인스턴스 생성:
AWS Management Console에서 EC2 대시보드로 이동합니다.
"인스턴스 시작" 버튼을 클릭합니다.
"커뮤니티 AMI" 섹션에서 방금 만든 AMI를 찾고 선택합니다.
인스턴스 유형, 네트워크 및 스토리지 설정을 구성하고 "다음: 스토리지 추가"를 클릭합니다.
스토리지 추가 및 다른 설정을 필요에 따라 구성한 후 "다음: 태그 추가"를 클릭합니다.
인스턴스에 태그를 추가하고 "다음: 보안 그룹 설정"을 클릭합니다.
새로운 또는 기존 보안 그룹을 선택하고 "검토 및 시작"을 클릭합니다.
인스턴스 설정을 검토하고 "시작" 버튼을 클릭하여 AMI로부터 EC2 인스턴스를 시작합니다.
인스턴스를 시작하면 새로운 EC2 인스턴스가 생성되며 AMI로부터 초기 상태를 가집니다.
이렇게하면 스냅샷을 사용하여 나만의 AMI를 만들고, 해당 AMI를 사용하여 EC2 인스턴스를 생성할 수 있습니다. AMI를 사용하면 인스턴스 설정, 소프트웨어 설치 및 데이터를 이미지로 저장하고 나중에 필요할 때 사용할 수 있어 효율적인 관리와 복제가 가능합니다.
EC2를 Auto Scaling을 이용하여 자동으로 Scale out 하는 방법을 알아봅니다.
AWS Auto Scaling은 다양한 워크로드에 맞게 용량을 자동으로 조정하여 애플리케이션의 가용성과 성능을 유지하는 데 도움이 되는 서비스입니다. 이를 통해 정의한 특정 조건에 따라 Amazon EC2 인스턴스 또는 기타 AWS 리소스를 확장하거나 축소할 수 있습니다. AWS Auto Scaling 작업에 필요한 주요 구성 요소와 설정은 다음과 같습니다.
구성요소:
Auto Scaling Group(ASG) : AWS Auto Scaling의 핵심 구성 요소인 Auto Scaling 그룹은 공통 구성을 공유하고 하나의 단위로 관리되는 인스턴스의 논리적 그룹입니다. ASG는 확장 정책에 따라 인스턴스를 시작하고 종료하는 일을 담당합니다.
시작 구성 또는 시작 템플릿 : Auto Scaling 그룹에서 시작할 인스턴스에 대한 인스턴스 유형, Amazon 머신 이미지(AMI), 스토리지 및 기타 구성 세부 정보를 지정하려면 시작 구성 또는 시작 템플릿을 정의해야 합니다.
조정 정책 : 조정 정책은 지표와 조건에 따라 Auto Scaling 그룹이 확장 및 축소되는 방법을 정의합니다. 조정 정책에는 두 가지 유형이 있습니다.
대상 추적 조정 : 지정된 지표(예: CPU 사용률 또는 대상당 요청 수)를 유지하기 위해 원하는 인스턴스 수를 조정합니다.
단계 조정 : 트리거되는 경보에 대응하여 사전 정의된 조정 단계를 기반으로 인스턴스를 추가하거나 제거합니다.
경보 : CloudWatch 경보는 특정 지표를 모니터링하는 데 사용되며 정의된 임계값이 위반되면 조정 작업을 트리거합니다. 이러한 경보는 Auto Scaling 그룹을 확장할 시기와 방법을 결정하는 조정 정책과 연결됩니다.
예약된 작업 : 예약된 조정 작업을 정의하여 특정 시간이나 날짜에 Auto Scaling 그룹의 원하는 용량을 변경할 수 있습니다. 이는 리소스 요구 사항의 계획된 변경에 유용합니다.
휴지 기간 : 휴지 기간은 Auto Scaling 그룹이 조정 활동 직후 인스턴스를 시작하거나 종료하지 못하도록 하는 타이머입니다. 새로 시작된 인스턴스가 트래픽 서비스를 시작하거나 종료된 인스턴스가 연결을 드레이닝할 시간을 허용하여 그룹을 안정화하는 데 도움이 됩니다.
인스턴스 종료 정책 : 이 정책은 그룹 규모 축소 시 종료를 위해 선택되는 인스턴스를 지정합니다. OldestInstance, NewestInstance 또는 사용자 지정 종료 정책과 같은 다양한 옵션 중에서 선택할 수 있습니다.
EC2 Auto Scaling Group을 만들고 설정을 조정하며 실습해 봅니다.
AWS Auto Scaling이 효과적으로 작동하려면 다음 설정을 구성해야 합니다.
Auto Scaling 그룹 정의 : 원하는 시작 구성 또는 시작 템플릿을 사용하여 Auto Scaling 그룹을 생성합니다. 그룹의 최소, 최대 및 원하는 인스턴스 수를 지정합니다.
조정 정책 생성 : Auto Scaling 그룹에 대한 조정 정책을 정의하여 그룹이 CloudWatch 지표의 변경 사항에 응답하는 방법을 결정합니다. 여기에는 대상 추적 또는 단계 조정 정책 생성이 포함됩니다.
CloudWatch 경보 설정 : CPU 사용률 또는 네트워크 트래픽과 같은 관련 지표를 모니터링하는 CloudWatch 경보를 생성하고 이를 조정 정책과 연결합니다.
예약된 작업 구성(필요한 경우) : 예측 가능한 트래픽 패턴이 있는 경우 예약된 조정 작업을 설정하여 특정 시간에 그룹 용량을 자동으로 조정할 수 있습니다.
휴지 기간 정의 : 다음 조정 작업 전에 인스턴스가 안정화될 시간을 갖도록 조정 활동에 대한 휴지 기간을 구성합니다.
인스턴스 종료 정책 : 활동 축소 중에 종료되는 인스턴스를 제어하려면 인스턴스 종료 정책을 설정합니다.
모니터링 및 로깅 : Auto Scaling 그룹의 성능을 정기적으로 모니터링 및 검토하고 필요에 따라 조정 정책 및 설정을 조정하여 애플리케이션 성능을 최적화합니다.
AWS Auto Scaling을 사용하면 애플리케이션에 항상 적절한 양의 용량이 있는지 확인하여 수동 개입을 최소화하는 동시에 성능과 비용 효율성을 향상할 수 있습니다.
AWS에서 Auto Scaling 구성시 이제는 시작구성(Configuration) 이 아닌 시작템플릿(Templete)을 사용하도록 권고하고 있습니다. 시작구성과 시작템플릿의 차이점을 설명 합니다.
AWS에서 Auto Scaling 구성시 이제는 시작구성(Configuration) 이 아닌 시작템플릿(Templete)을 사용하도록 권고하고 있습니다. 시작구성과 시작템플릿의 차이점을 설명 합니다.
시작 구성:
단순성 : 시작 구성은 설정이 비교적 간단합니다. 이는 Auto Scaling 그룹의 인스턴스에 대한 구성 매개변수 세트로 구성됩니다.
정적 : 일단 생성되면 시작 구성은 정적입니다. 변경하려면 새로운 시작 구성을 생성해야 하는데, 이는 업데이트해야 할 때 번거로울 수 있습니다.
제한된 버전 관리 : 시작 구성은 버전 관리를 지원하지 않습니다. 즉, 새 구성에 문제가 발생하면 이전 구성으로 쉽게 롤백할 수 없습니다.
인스턴스 유형 : 시작 구성에서 인스턴스 유형을 직접 지정해야 하며, 이를 변경하려면 새 시작 구성을 생성해야 합니다.
AMI : Amazon 머신 이미지(AMI)를 직접 지정해야 하는데, 동일한 Auto Scaling 그룹의 여러 인스턴스에 대해 서로 다른 AMI를 사용하려는 경우 제한될 수 있습니다.
시작 템플릿:
유연성 : 시작 템플릿은 더 많은 유연성과 고급 구성 옵션을 제공합니다. 이를 통해 단일 템플릿에서 인스턴스 유형, AMI 등을 포함한 다양한 설정을 정의할 수 있습니다.
동적 : 시작 템플릿은 버전 관리를 지원하므로 완전히 새로운 템플릿을 만들지 않고도 구성을 더 쉽게 관리하고 업데이트할 수 있습니다. 이전 버전을 유지하면서 템플릿을 업데이트할 수 있습니다.
혼합 인스턴스 : 시작 템플릿을 사용하면 Auto Scaling 그룹에서 혼합 인스턴스를 사용할 수 있습니다. 여기서는 다양한 인스턴스 유형을 지정하고 Auto Scaling이 워크로드에 가장 적합한 인스턴스를 선택하도록 할 수 있습니다.
재정의 : 템플릿을 사용하는 동안 개별 매개변수에 대한 인스턴스 수준 재정의를 제공할 수 있습니다. 이는 그룹의 특정 인스턴스를 세밀하게 제어해야 할 때 유용합니다.
EC2 스팟 집합 통합 : 시작 템플릿을 EC2 스팟 집합과 함께 사용할 수 있으므로 Auto Scaling이 포함된 스팟 인스턴스를 보다 간소화된 방식으로 사용할 수 있습니다.
EC2 집합 지원 : 시작 템플릿을 EC2 집합과 함께 사용하여 여러 인스턴스 유형, 가용 영역 및 구매 옵션 전반에 걸쳐 인스턴스 프로비저닝을 관리할 수도 있습니다.
Elastic Load Balancing 지원 : 시작 템플릿은 템플릿에서 Elastic Load Balancer(ELB) 대상 그룹을 직접 지정하는 것을 지원합니다.
요약하자면, 시작 구성은 더 간단하지만 시작 템플릿은 Auto Scaling 그룹의 인스턴스 구성을 위한 보다 고급스럽고 유연한 옵션을 제공합니다. 이는 혼합 인스턴스 유형을 관리하고, 버전 관리를 지원하고, Auto Scaling 구성을 동적으로 업데이트해야 할 때 특히 유용합니다. 최신 정보를 보려면 AWS 설명서를 참조하거나 AWS 리소스를 참조하십시오. 마지막 업데이트 이후 추가 개선 사항이나 변경 사항이 있을 수 있습니다.
ELB - Elastic Load Balancer 의 기능과 ELB유형별 특징을 학습 합니다.
AWS Elastic Load Balancer(ELB)은 다양한 유형으로 제공되며, 각 유형은 특정 사용 사례와 요구 사항에 맞게 설계되었습니다. 다음은 주요 AWS ELB 유형과 어떤 경우에 사용해야 하는지에 대한 설명입니다:
Application Load Balancer (ALB):
사용 사례: HTTP 및 HTTPS 트래픽을 라우팅하거나 웹 애플리케이션을 로드 밸런싱할 때 사용. ALB는 레이어 7(애플리케이션 레이어) 로드 밸런서로서 HTTP 및 HTTPS 트래픽을 효율적으로 관리하며 다양한 고급 라우팅 옵션을 제공합니다.
Network Load Balancer (NLB):
사용 사례: TCP/UDP 트래픽을 로드 밸런싱하거나 고성능 및 초저 지연 시간이 필요한 경우 사용. NLB는 레이어 4(네트워크 레이어) 로드 밸런서로서 대규모 및 고성능 애플리케이션에 적합합니다.
Classic Load Balancer:
사용 사례: 이전 세대의 로드 밸런서로, 애플리케이션을 HTTP/HTTPS 및 TCP/UDP 수준에서 로드 밸런싱할 때 사용. 그러나 ALB 및 NLB는 일반적으로 Classic Load Balancer 대신 사용이 권장됩니다.
Gateway Load Balancer:
사용 사례: VPN, Direct Connect, 또는 AWS Site-to-Site VPN를 사용하여 기업의 온프레미스 네트워크와 AWS 사이의 트래픽을 관리할 때 사용.
Global Accelerator:
사용 사례: 글로벌 서비스를 제공하는 경우, 지리적으로 분산된 엔드 포인트 간의 로드 밸런싱 및 가용성을 관리할 때 사용. Global Accelerator는 ALB 및 NLB와 통합하여 글로벌 규모에서 트래픽을 관리합니다.
어떤 로드 밸런서를 선택해야 하는지는 사용 사례와 요구 사항에 따라 다릅니다. 아래는 몇 가지 예를 들어 설명합니다:
웹 애플리케이션 로드 밸런싱: 웹 애플리케이션을 라우팅하려면 Application Load Balancer(ALB)를 사용합니다. ALB는 HTTP 및 HTTPS 트래픽을 효과적으로 관리하고 웹 애플리케이션 레벨에서 라우팅을 지원합니다.
고성능 네트워크 애플리케이션: 고성능 TCP/UDP 트래픽을 처리해야 하는 경우 Network Load Balancer(NLB)를 선택합니다. NLB는 초저 지연 시간과 고성능을 제공하며 대규모 네트워크 애플리케이션에 적합합니다.
글로벌 서비스: 글로벌 서비스를 제공하려면 AWS Global Accelerator를 사용하여 지리적으로 분산된 엔드 포인트 간의 트래픽을 관리합니다. Global Accelerator는 지리적 로드 밸런싱을 위한 강력한 옵션을 제공합니다.
기업 연결 관리: 기업 네트워크와 AWS 간의 연결을 관리하려면 Gateway Load Balancer를 사용합니다. 이로써 VPN 및 Direct Connect와 같은 기업 연결을 효과적으로 관리할 수 있습니다.
다른 사용 사례와 요구 사항에 따라 적절한 로드 밸런서를 선택하는 것이 중요하며, AWS의 로드 밸런서 유형은 각각 고유한 기능과 성능 특성을 제공합니다.
ELB를 이용하여 EC2 인스턴스를 Load Balancing 하는 방법과 Auto Scaling에 ELB를 적용하는 방법을 학습 합니다.
AWS RDS 서비스에 대해서 설명하고 MySQL RDS를 구성해 봅니다.
Amazon RDS (Relational Database Service)는 Amazon Web Services (AWS)에서 제공하는 완전 관리형 관계형 데이터베이스 서비스입니다. RDS는 기존 관계형 데이터베이스 관리 시스템의 복잡성을 제거하고 데이터베이스 운영, 확장, 보안 및 백업을 단순화하는 데 도움을 주는 서비스입니다. 아래는 Amazon RDS의 주요 특징과 개념에 대한 설명입니다:
다양한 관계형 데이터베이스 엔진: Amazon RDS는 다양한 관계형 데이터베이스 엔진을 지원합니다. 주요 엔진으로는 MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server, 그리고 Amazon Aurora가 포함됩니다.
완전 관리형 서비스: RDS는 데이터베이스 인프라의 설정, 패치, 백업, 모니터링 및 확장을 관리합니다. 이로 인해 데이터베이스 관리자가 데이터베이스 엔진에 집중하고 운영 작업을 AWS에게 위임할 수 있습니다.
자동 백업 및 스냅샷: RDS는 자동 백업을 설정할 수 있으며, 일정한 간격으로 데이터베이스 상태의 스냅샷을 생성합니다. 이러한 스냅샷을 사용하여 데이터베이스 복원, 복제, 및 테스트 등 다양한 용도로 활용할 수 있습니다.
스케일링 및 가용성: RDS는 다양한 인스턴스 유형과 스케일링 옵션을 제공하여 데이터베이스 용량 및 성능을 조정할 수 있습니다. 또한 Multi-AZ (가용 영역) 배포를 통해 고가용성을 제공하고 장애 발생 시 자동 장애 조치(Failover)를 수행합니다.
보안: RDS는 데이터베이스 암호화를 지원하며, VPC (Virtual Private Cloud) 내에서 실행되므로 데이터의 노출을 방지합니다. 또한 AWS Identity and Access Management (IAM)을 사용하여 데이터베이스 액세스를 제어할 수 있습니다.
모니터링 및 경고: Amazon CloudWatch와 통합하여 데이터베이스의 성능 및 상태를 모니터링할 수 있으며, 임계값을 설정하여 경고를 받을 수 있습니다.
리드 레플리카: RDS는 일부 엔진에서 읽기 전용 레플리카를 설정하여 읽기 작업을 분산시키고 성능을 향상시킬 수 있습니다.
자동 업그레이드: RDS는 엔진 패치 및 버전 업그레이드를 자동으로 수행할 수 있는 옵션을 제공합니다.
데이터베이스 엔진 옵션: Amazon Aurora는 MySQL 및 PostgreSQL과 호환되는 완전 관리형 데이터베이스 엔진으로, 높은 성능 및 내구성을 제공합니다.
Amazon RDS는 웹 애플리케이션, 데이터 웨어하우스, 모바일 앱 등 다양한 사용 사례에서 데이터베이스 운영 및 관리를 간편하게 만들어주는 서비스로, 데이터베이스 관리에 대한 노력과 복잡성을 최소화하고 안정성과 가용성을 향상시킬 수 있습니다.
MySQL RDS를 만들고 mysql-client로 접속을 해봅니다.
AWS의 클라우드 기반의 DNS 서비스 Route 53을 설명하고 사용방법을 실습 합니다.
Amazon Route 53은 Amazon Web Services(AWS)의 관리형 DNS(Domain Name System) 서비스입니다. DNS는 도메인 이름을 IP 주소로 매핑하여 웹사이트나 애플리케이션에 대한 접근을 가능하게 하는 시스템입니다.
Amazon Route 53은 다음과 같은 기능과 장점을 제공합니다:
도메인 등록: Route 53을 사용하여 도메인 이름을 등록할 수 있습니다. 이를 통해 도메인의 소유권을 확보하고 관리할 수 있습니다.
DNS 라우팅: Route 53은 DNS 쿼리를 처리하여 도메인에 연결된 리소스로 트래픽을 라우팅합니다. 예를 들어, 여러 개의 EC2 인스턴스, 로드 밸런서, S3 버킷 등과 연결된 라우팅 정책을 설정하여 트래픽 분산 및 로드 밸런싱이 가능합니다.
상태 확인: Route 53은 여러 지역에 분산된 상태 확인 지점들을 통해 애플리케이션 및 엔드포인트(예: 웹 사이트)의 가용성과 성능 모니터링을 제공합니다.
고급 라우팅 정책: Latency-Based Routing, Geolocation Routing, Weighted Round Robin 등 다양한 고급 라우팅 정책으로 트래픽 분산과 응답 시간 최적화가 가능합니다.
도메인 보안: SSL/TLS 인증서 관리와 함께 HTTPS 지원이 가능하며, DDoS(Distributed Denial of Service) 방어와 같은 보안 기능도 제공됩니다.
AWS와의 통합: AWS 내에서 다른 서비스들과의 연동이 용이하며, 예를 들어 EC2 인스턴스나 ELB(Elastic Load Balancer), S3 버킷 등과 직접 연결할 수 있습니다.
Amazon Route 53은 글로벌 네트워크 인프라를 기반으로 안정적으로 운영되며 확장성과 신뢰성 있는 DNS 서비스를 제공합니다. 이를 통해 사용자는 도메인 관리와 네트워크 트래픽 라우팅에 대한 요구사항을 충족시킬 수 있습니다.
Router 53을 통해서 도메인을 구입하는 방법과 설정하는 방법을 설명 합니다.
Amazon S3는 업계 최고 수준의 확장성, 데이터 가용성, 보안 및 성능을 갖춘 클라우드 객체 스토리지입니다.
Amazon S3 (Simple Storage Service)는 Amazon Web Services(AWS)에서 제공하는 스토리지 서비스입니다. 이 서비스는 개발자에게 확장성, 데이터 가용성, 보안, 성능 등을 제공하여 인터넷 규모의 컴퓨팅 작업을 지원합니다.
Amazon S3의 주요 기능과 특징은 다음과 같습니다:
저장: Amazon S3는 웹에서 직접 접근할 수 있는 객체 스토리지를 제공합니다. 각 객체는 1 바이트부터 5 테라바이트까지 다양한 크기를 가질 수 있으며, 각각 고유한 키를 가지고 있어 이를 통해 접근하거나 검색할 수 있습니다.
확장성: Amazon S3는 사용자가 필요한 만큼의 저장 공간을 제공하므로 미리 스토리지 용량을 예측하거나 할당할 필요가 없습니다.
데이터 관리: Amazon S3는 자동화된 라이프사이클 관리 정책, 데이터 분류 및 복제 기능 등을 제공하여 사용자가 데이터를 쉽게 관리할 수 있도록 돕습니다.
보안: Amazon S3는 SSL(Secure Socket Layer) 암호화 전송과 서버 측 암호화를 지원합니다. 또한 AWS Identity and Access Management(IAM)와 함께 사용하여 세분화된 액세스 권한 설정도 가능합니다.
내구성과 가용성: Amazon S3는 설계 내구성이 99.999999999%인 것으로 광고되며, 여러 위치에 데이터를 자동으로 복제하여 하드웨어 장애에 대비합니다.
통합: Amazon S3은 AWS의 다른 서비스들과 잘 통합되어 작동하므로 EC2(Elastic Compute Cloud), EMR(Elastic MapReduce), Glacier(아카이브 스토리지), Athena(SQL 쿼리 서비스) 등과 함께 활용됩니다.
범위 다운로드와 멀티파트 업로드: 큰 파일들은 부분적으로 다운로드 받거나 여러 파트로 나누어 업로드하는 것도 가능합니다.
Amazon S3는 이러한 기능들을 제공하면서도 사용한 만큼만 비용을 지불하는 Pay-as-you-go 모델을 채택하고 있어, 다양한 규모의 프로젝트에 유연하게 활용될 수 있습니다.
Amazon S3 구성을 실습 합니다.
AWS의 CDN 서비스 CloudFront 에 대한 설명 입니다.
Amazon CloudFront는 Amazon Web Services(AWS)에서 제공하는 글로벌 콘텐츠 전송 네트워크(CDN, Content Delivery Network) 서비스입니다. CDN은 사용자에게 웹 콘텐츠를 더 빠르게 제공하기 위해 전 세계 여러 위치에 데이터를 복제해두는 기술입니다.
Amazon CloudFront를 사용하는 주요 이유는 다음과 같습니다:
성능 향상: CloudFront는 사용자가 요청한 콘텐츠를 가장 가까운 엣지 로케이션(edge location)에서 제공합니다. 이로 인해 지연 시간이 줄어들고, 웹사이트나 애플리케이션의 응답 속도가 향상됩니다.
확장성: 트래픽이 급증하더라도 CloudFront는 자동으로 스케일링하여 안정적인 서비스를 유지합니다.
보안 강화: SSL/TLS 암호화와 AWS Shield, AWS WAF(Web Application Firewall) 등과의 통합을 통해 DDoS 공격 등 다양한 보안 위협으로부터 사이트와 애플리케이션을 보호할 수 있습니다.
비용 절감: 데이터 전송 비용을 절감할 수 있습니다. AWS의 다른 서비스 (예: S3, EC2 등) 에서 CloudFront로 데이터를 전송하는 비용은 무료입니다.
생산성 향상: AWS Management Console, SDKs 및 CLI(Command Line Interface) 등을 활용하여 배포 설정 및 관리가 간단하며, Amazon S3, EC2와 같은 다른 AWS 서비스들과 잘 연동됩니다.
개발자 친화적인 기능 : Lambda@Edge 기능을 활용하여 엣지 로케이션에서 코드 실행도 가능합니다.
따라서 Amazon CloudFront는 성능 개선, 비용 절감 및 보안 강화 등의 이점 때문에 많은 사람들에게 선택되고 있습니다.
AWS의 CDN 서비스 CloudFront 구성하는 방법 설명과 실습 입니다.
AWS Shield와 AWS WAF(Web Application Firewall)는 Amazon Web Services(AWS)에서 제공하는 보안 서비스입니다. 이 두 서비스는 웹 애플리케이션의 보안을 강화하고, DDoS(Distributed Denial of Service) 공격 등의 위협으로부터 보호하는데 사용됩니다.
AWS Shield: AWS Shield는 DDoS 공격에 대한 보호를 제공하는 서비스입니다. AWS Shield에는 두 가지 플랜이 있습니다:
AWS Shield Standard: 모든 AWS 고객에게 기본적으로 제공되며, 대부분의 일반적인 DDoS 공격을 방어합니다.
AWS Shield Advanced: 추가 비용을 지불하면 더욱 강력한 DDoS 방어 메커니즘과 24/7 DDoS 응답 팀 접근, 비용 상쇄(DDoS로 인한 추가 사용료를 상환) 등의 혜택을 받을 수 있습니다.
AWS WAF (Web Application Firewall): WAF는 웹 애플리케이션에 대한 보호를 제공합니다. 이 서비스를 사용하면 SQL 인젝션, 크로스 사이트 스크립팅(XSS) 등과 같은 일반적인 웹 취약점으로부터 애플리케이션을 보호할 수 있습니다. 또한 사용자 정의 필터링 규칙을 생성하여 특정 IP 주소 범위로부터의 요청 차단, 문자열 및 패턴 검색 등 복잡한 조건에 따른 요청 차단도 가능합니다.
따라서 이 두 서비스를 함께 사용함으로써 웹 애플리케이션이 다양한 종류의 악성 활동과 공격으로부터 안전하게 보호될 수 있습니다.
AWS의 요금 계산기를 사용해서 AWS 사용 요금을 예상하는 방법을 설명 합니다.
Application Load Balancer, 2대의 EC2 , MySQL RDS 를 이용하여 가용성을 가지는 이중화된 WordPress 사이트를 구성하는 과정을 실습 합니다.
AWS CloudEndure는 Amazon Web Services(AWS)에서 제공하는 재해 복구 및 마이그레이션 솔루션입니다. CloudEndure는 기업이 클라우드 또는 클라우드 간에 애플리케이션을 쉽게 이동하거나 복제할 수 있도록 지원합니다.
CloudEndure의 주요 기능과 특징은 다음과 같습니다:
지속적인 데이터 복제: CloudEndure는 소스 서버에서 실시간으로 변경 사항을 캡처하고, 이를 AWS에 있는 스탠바이 서버로 지속적으로 복제합니다. 이를 통해 최소한의 RPO(Recovery Point Objective, 데이터 손실을 감수할 수 있는 시간)를 달성할 수 있습니다.
자동 변환: CloudEndure는 애플리케이션 스택을 자동으로 AWS 환경에 맞게 변환합니다. 이 과정은 OS, 데이터베이스, 애플리케이션, 네트워크 구성 등 모든 요소를 포함합니다.
테스트 및 검증: 사용자가 언제든지 실제 작업 중단 없이 마이그레이션이나 재해 복구 계획을 테스트하고 검증할 수 있습니다.
빠른 회복 시간 목표(RTO): 실패한 시스템을 AWS로 빠르게 전환하여 서비스 중단 시간을 최소화하고 RTO(Recovery Time Objective, 정상 운영 상태로 돌아오기 위한 목표 시간)를 달성합니다.
다양한 사용 사례 지원: CloudEndure는 재해 복구 외에도 클라우드 마이그레이션, 백업 등 다양한 사용 사례를 지원합니다.
따라서 AWS CloudEndure는 기업들의 비즈니스 연속성 보장과 IT 운영 비용 절감 등에 큰 도움을 줄 수 있는 서비스입니다.
Databse 마이그레이션 실습을 위한 Sample DB 만드는 방법을 설명 합니다.
AWS의 Data Migration Service를 이용하여 MySQL 서버의 데이터를 AWS MySQL RDS로 이전 하는 방법을 실습합니다.
AWS의 Data Migration Service를 이용하여 MySQL 서버의 데이터를 AWS Aurora RDS로 이전 하는 방법을 실습합니다.
* EC2에 stress-ng 설치 방법
(Ubuntu 기준)
# sudo apt update
#sudo apt install -y stress-ng
(AMI Linux 기준)
# sudo amazon-linux-extras install -y epel
# sudo yum install -y stress-ng
# stress-ng -h
* stress-ng 실행 명령어
(Ubuntu 기준)
sudo stress-ng --cpu 1 --cpu-load 70 --timeout 10m --metrics --times --verify
(AMI Linux 기준)
sudo stress-ng --cpu 1 --cpu-load 70% --timeout 10m --metrics --times --verify
Amazon CloudWatch는 Amazon Web Services(AWS)의 모니터링 서비스입니다. 이 서비스를 통해 AWS 리소스와 애플리케이션을 실시간으로 모니터링할 수 있습니다. 또한, CloudWatch를 사용하면 시스템 전반적인 성능 변화, 리소스 사용률, 애플리케이션 작동 상태 등을 쉽게 확인하고 최적화할 수 있습니다.
CloudWatch의 주요 기능과 특징은 다음과 같습니다:
대시보드: 사용자 정의 대시보드를 제공하여 필요한 모든 리소스와 애플리케이션을 한 눈에 볼 수 있게 합니다.
알람: 지정된 임계값에 도달하면 알람을 발생시켜 사용자에게 알립니다. 이를 통해 문제가 발생하면 즉각적으로 대응할 수 있습니다.
로그 저장 및 분석: 로그 데이터를 저장하고 분석하여 시스템 및 애플리케이션 작동 상태를 파악하는데 도움을 줍니다.
이벤트 스트림 관리: AWS에서 발생하는 이벤트 스트림을 감지하고 처리합니다.
자동 조정: CloudWatch는 Amazon EC2 Auto Scaling과 연동하여, 예로부터 CPU 사용률 같은 지표가 설정한 임곗값에 도달할 경우 자동으로 인스턴스 조정이 가능합니다.
서비스와의 통합: 다른 AWS 서비스들 (예: Amazon EC2, Amazon RDS 등) 과 원활하게 연결되어 그들의 성능 모니터링도 가능합니다.
CloudWatch는 위와 같은 기능들로 인해 AWS에서 실행되는 어플리케이션이나 서비스들의 운영상태를 실시간으로 확인하고 관리하는데 큰 도움을 줍니다.
AWS를 처음 시작하는 분들께 딱 맞는 가이드가 되어드립니다.
이 강의에서는 AWS를 처음 쓰는 분들, 인프라 구축 경험이 적거나 이제 막 시작한 클라우드 입문자를 대상으로 AWS에서 지원하는 서비스와 사용법, 인프라 구축, 네트워크 및 보안, 운용 방법 등 꼭 필요한 기본 개념과 사용법에 대해 설명합니다.
실제 업무에서 자주 사용하는 서비스와 기능을 중심으로, 실습을 더해 스스로 직접 AWS를 사용하는 방법을 화면을 보며 익힐 수 있도록 도와드립니다.
1. AWS를 사용하기 위한 핵심 서비스
기본적으로 알아야 하는 클라우드의 기본 지식과 AWS가 제공하는 서비스의 종류, AWS를 이용할 때 알아둬야 할 고려사항 및 절차, AWS 이용 방법을 빠르게 배울 수 있습니다.
AWS의 대표적인 서비스, 가상 서버 EC2를 사용해 웹사이트를 구축하며 AWS의 기본적인 사용법을 배웁니다. 데이터베이스 RDS에 대한 사용법도 함께 알려드립니다.
2. 이론 학습만은 아뉘지~ 실습 능력 기르기
기본적인 내용에 대한 설명 외에도 AWS 설정 과정을 직접 설정하면서 함께 보여드립니다. 화면을 통해 학습함으로써 스스로 클라우드에 대해 실습할 수 있도록 도와드립니다.
그밖에 실무에서 필요한 케이스에 따라 직접 활용할 수 있는 M2V, V2V 와 데이터베이스 마이그레이션(Migration) 을 위한 AWS 툴과 서비스에 대해서도 학습하게 됩니다.