AWS 기반 컴퓨팅
AWS 기반 컴퓨팅
Amazon EC2 가상화
하이퍼바이저가 완벽히 격리하고 있기 때문에 같은 물리적 자원을 인스턴스들이 공유한다고 하더라도 보안에 문제가 없다.
AMI 루트 볼륨의 템플릿
루트볼륨은 OS가 설치되는 볼륨
인스턴스 유형
어떤 OS를 사용할 것인지, 용량은 어떻게 할지, 보안그룹은 어떻게하며 관리자가 접근하기 위한 키는 어떻게 할것인지 등을 설정해야한다.
인스턴스 프로비저닝
권한을 부여하는 방법
1)IAM User(CLI/SDK) - Access Ley ID/Secret Access Key
2) IAM Role(권장) - S3 Full Access
Amazon Machine Image(AMI)
Amazon EC2 네트워킹
Virtual Private Cloud(VPC)
IP 주소 유형
사설, 공인, 탄력적 IP주소
- 공인 IP주소는 인스턴스를 중지했다 다시 시작하면 변경됩니다.
- 고정 공인 IP주소에는 탄력적 IP주소를 사용합니다.
보안 그룹
- 인스턴스 액세스 제한 기준
- 포트 범위
- 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 인스턴스에 부여합니다.
인스턴스 프로파일 예제
사용자 데이터
시작 시 실행되는 스크립트:
- 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에서 모든 인스턴스에 제공되는 메타데이터 서비스
- 인스턴스 메타데이터 쿼리
사용자 데이터 및 Amazon EC2 인스턴스 메타데이터
사용자 데이터에서 인스턴스 속성을 참조하는 것이 유용할 수 있습니다. 인스턴스 메타데이터를 쿼리하고 시작 시 사용자 데이터 스크립트에서 사용합니다.
EC2 인스턴스 사용자 데이터 검색
EC2 인스턴스 메타데이터 예제:
키 페어
원격 액세스
자체 인스턴스 보안 설정
인스턴스를 생성한 후 사용자 및 권한 변경
- Microsoft Windows
- – AWS Directory Service와 함께 사용
- Linux
- – Kerberos 기반 통합 인증(SSO) 사용
- – ssh-keygen을 사용하는 사용자를 위한 퍼블릭 키와 프라이빗 키 페어 생성
- – 사용자의 퍼블릭 키를 ~/.ssh/authorized_keys에 추가
플릿 전체 사용자 관리를 위한 전략 마련:
AMI 생성
구성 소프트웨어 사용
구성 관리 애플리케이션
구성 관리 애플리케이션은 다음을 할 수 있습니다.
- 많은 수의 시스템에서 액세스 권한 부여 및 취소 프로세스 간소화
- 몇 개의 명령으로 프로세스 단축
구성 관리 애플리케이션:
- Chef
- Puppet
- Ansible
시작 후 구성 옵션
핵심 사항
- EC2 인스턴스 프로파일에 영구 액세스 키를 저장하지 않습니다.
- 애플리케이션 요구 사항에 가장 적합한 인스턴스 유형을 선택합니다. 필요한 경우 나중에 인스턴스 유형을 변경합니다.
- EC2 인스턴스 메타데이터는 프로그래밍 방식으로 액세스하여 인스턴스를 구성하거나 관리할 수 있습니다.
댓글남기기