2 분 소요

AWS 기반 컴퓨팅


Amazon EC2 가상화

image-20231012161846556

하이퍼바이저가 완벽히 격리하고 있기 때문에 같은 물리적 자원을 인스턴스들이 공유한다고 하더라도 보안에 문제가 없다.

AMI 루트 볼륨의 템플릿

루트볼륨은 OS가 설치되는 볼륨

인스턴스 유형

image-20231012161905101

어떤 OS를 사용할 것인지, 용량은 어떻게 할지, 보안그룹은 어떻게하며 관리자가 접근하기 위한 키는 어떻게 할것인지 등을 설정해야한다.

인스턴스 프로비저닝

image-20231012161926764

권한을 부여하는 방법

1)IAM User(CLI/SDK) - Access Ley ID/Secret Access Key

2) IAM Role(권장) - S3 Full Access

Amazon Machine Image(AMI)

image-20231012162037240

Amazon EC2 네트워킹

Virtual Private Cloud(VPC)

image-20231012162659724

IP 주소 유형

사설, 공인, 탄력적 IP주소

  • 공인 IP주소는 인스턴스를 중지했다 다시 시작하면 변경됩니다.
  • 고정 공인 IP주소에는 탄력적 IP주소를 사용합니다.

image-20231012171356138

보안 그룹

  • 인스턴스 액세스 제한 기준
    • 포트 범위
    • IP주소 범위
    • 리소스 ID
  • 인스턴스는 여러 보안 그룹과 연결 가능
  • 인바운드 및 아웃바운드 데이터 허용
  • 시작 후 추가/수정 가능

보안 그룹: 예제

어디서나 HTTP 포트 액세스 허용

ID 포트 범위 소스
sg-dfc83cda 80(HTTP) 0.0.0.0/0

특정 컴퓨터에서 Secure Shell(SSH) 액세스 허용

ID 포트 범위 소스
sg-4ad3712f 22(SSH) 10.50.2.133/32

보안 그룹 멤버의 SSH액세스 허용

ID 포트 범위 소스
sg-d1cd6fb4 22(SSH) sg-4ad3712f

인스턴스 프로파일

  • Amazon EC2에 액세스 키와 비밀 키 로컬로 저장 방지

  • AWS Identity 및 Access Management(IAM) 역할을 EC2 인스턴스에 연결할 수 있도록 지원

  • 액세스 키를 인스턴스에 자동 전파

  • 하루에 여러 번 액세스 키 자동 교체
  • 여러 인스턴스에서 사용(예: Auto Scaling 그룹)

예제: 애플리케이션 데이터가 저장된 Amazon Simple Storage Service(Amazon S3) 버킷에 액세스할 수 있는 권한을 EC2 인스턴스에 부여합니다.

컴퓨팅(서버) pdf

image-20231012172052489

인스턴스 프로파일 예제

image-20231013094231137

사용자 데이터

시작 시 실행되는 스크립트:

  • Linux 스크립트
  • Microsoft Windows 배치 또는 PoserShell 스크립트

스크립트 실행 주제

  • Linux의 cloud-init
  • Microsoft Windows의 EC2Lanch 서비스

Linux의 사용자 데이터

Linux 쉘 스크립트

\#!/bin/bash 
yum update -y 
yum groupinstall -y 
	"Web Server" "PHP Support" 
yum install -y php-mysql 
service httpd start 
chkconfig httpd on

#cloud-config

cloud-config 
repo_update: true 
repo_upgrade: all 

packages: 
		-httpd 
		-php 
		-php-mysql 
runcmd: 
	-chkconfig httpd on

Microsoft Windows의 사용자 데이터

배치파일

PowerShell 스크립트

<powershell>
# Install IIS and Web
# Management Tools.
Import-Module ServerManager
Install-WindowsFeature
web-server, web-webserver
Install-WindowsFeature
web-mgmt-tools
</powershell>

EC2 인스턴스 메타데이터

  • 실행 중인 인스턴스를 구성 또는 관리하는 데 사용할 수 있는 인스턴스 관련 데이터
  • IP 주소 169.254.169.254에서 모든 인스턴스에 제공되는 메타데이터 서비스
  • 인스턴스 메타데이터 쿼리

image-20231013095243956

사용자 데이터 및 Amazon EC2 인스턴스 메타데이터

사용자 데이터에서 인스턴스 속성을 참조하는 것이 유용할 수 있습니다. 인스턴스 메타데이터를 쿼리하고 시작 시 사용자 데이터 스크립트에서 사용합니다.

image-20231013095508490

EC2 인스턴스 사용자 데이터 검색

EC2 인스턴스 메타데이터 예제:

image-20231013095536187

키 페어

원격 액세스

image-20231013095644917

자체 인스턴스 보안 설정

인스턴스를 생성한 후 사용자 및 권한 변경

  • Microsoft Windows
  • – AWS Directory Service와 함께 사용
  • Linux
  • – Kerberos 기반 통합 인증(SSO) 사용
  • – ssh-keygen을 사용하는 사용자를 위한 퍼블릭 키와 프라이빗 키 페어 생성
  • – 사용자의 퍼블릭 키를 ~/.ssh/authorized_keys에 추가

플릿 전체 사용자 관리를 위한 전략 마련:

AMI 생성

구성 소프트웨어 사용

구성 관리 애플리케이션

구성 관리 애플리케이션은 다음을 할 수 있습니다.

  • 많은 수의 시스템에서 액세스 권한 부여 및 취소 프로세스 간소화
  • 몇 개의 명령으로 프로세스 단축

구성 관리 애플리케이션:

  • Chef
  • Puppet
  • Ansible

시작 후 구성 옵션

image-20231013095936450

핵심 사항

  • EC2 인스턴스 프로파일에 영구 액세스 키를 저장하지 않습니다.
  • 애플리케이션 요구 사항에 가장 적합한 인스턴스 유형을 선택합니다. 필요한 경우 나중에 인스턴스 유형을 변경합니다.
  • EC2 인스턴스 메타데이터는 프로그래밍 방식으로 액세스하여 인스턴스를 구성하거나 관리할 수 있습니다.

업데이트:

댓글남기기