ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [클라우드컴퓨팅] Using Amazon EC2
    Major/Cloud Computing 2023. 10. 21. 17:20

     

    Steps to Launching an EC2 Instance

    There are 7 key decisions to make when you use the AWS Management Console Launch Instance Wizard to create an EC2 instance

    1. Instance name and tags
    2. Amazon Machine Image
    3. Instance type
    4. Key pair
    5. Network settings
    6. Configure storage
    7. Advanced details

    Step1. Instance Name and Tags

    Tag는 AWS 자원에 할당할 수 있는 라벨이다. Tag는 키(key)와 선택적인 값(value)으로 구성된다. 

    기본적으로, 인스턴스의 이름은 태그로 사용된다. 즉, 인스턴스의 이름을 설정할 때, "키(key)"는 "이름(Name)"이며 "값(value)"은 사용자가 지정한 인스턴스 이름이 된다. 이를 통해 AWS 자원을 쉽게 식별하고 구분할 수 있으며 자원에 대한 정보나 관리 목적으로 사용할 수 있다.

    Tag Features

    태그 관리
    - 태그를 추가, 제거 또는 편집할 수 있다.
    - Amazon EC2 자원 당 태그 한도는 50개이다.
    - 자원에 이름을 붙이고 태그를 부여하는 것은 선택 사항이다.



    태그로 검색 및 필터링
    - 키(key) 또는 값(value)에 따라 자원을 검색할 수 있다.
    - 태그 키와 값의 조합에 따라 자원을 필터링하고 검색할 수 있다.

    Benefits of Using Tags

    자원 구성
    - 태그를 사용하여 자원을 검색하고 필터링할 수 있다.
    - 하나 이상의 태그를 기반으로 AWS 자원 그룹을 만들 수 있다.

    비용 관리
    - AWS 비용 탐색기(AWS Cost Explorer)와 상세한 청구 보고서를 사용하여 태그에 따라 AWS 비용을 분석할 수 있다.

    자동화
    - 자동화 활동 중에 자원을 필터링하는 데 태그가 자주 사용된다.
    - 예를 들어, 비즈니스 시간 외에 개발 환경을 종료시켜 비용을 절감하는 자동 시작 또는 중지 스크립트를 실행할 수 있다.

    액세스 제어
    - IAM(Identity and Access Management)을 사용하여 태그된 자원을 이용하여 속성 기반 제어(ABAC)를 구현할 수 있다.
    - 태그 정보를 기반으로 한 IAM 정책을 생성하여 태그에 따라 작업을 허용할 수 있다.

    Step2. Choosing an AMI

    * AMI 란?
    Amazon Machine Image (AMI)는 Amazon Web Services (AWS)의 클라우드 컴퓨팅 서비스 중 하나인 Amazon Elastic Compute Cloud (Amazon EC2)에서 사용되는 가상 머신 이미지이다. 

    AMI는 다음과 같은 주요 역할을 수행한다

    1. 루트 볼륨의 템플릿
    : 인스턴스의 루트 볼륨(기본 스토리지 볼륨)에 대한 템플릿이다.

    2. 가상 머신 이미지
    : AMI는 가상 서버 또는 EC2 인스턴스를 만들 때 사용되는 이미지이다. 이 이미지에는 운영 체제(OS)와 필요한 응용 프로그램, 설정, 라이브러리 및 데이터가 포함될 수 있다.

    3. 인스턴스 생성
    : 사용자는 AMI를 사용하여 EC2 인스턴스를 시작하고 실행할 수 있다. AMI를 기반으로 인스턴스를 시작하면 해당 이미지의 복제본이 생성되며, 이를 통해 새로운 가상 서버를 빠르게 배포할 수 있다.

    4. 스냅샷 및 복제
    : AMI는 인스턴스를 종료하거나 다시 시작할 때 사용된 이미지를 나타내며, 인스턴스의 현재 상태를 포함할 수 있다. 또한, AMI를 사용하여 EBS(Elastic Block Store) 스냅샷을 생성하고, 다른 지역 또는 계정으로 AMI를 공유하거나 복제할 수 있다.

    5. 백업 및 스케일링
    : AMI는 인스턴스의 백업 및 스케일링을 위해 사용된다. 특정 상태의 인스턴스를 AMI로 저장하고 필요에 따라 더 많은 인스턴스를 생성할 수 있다.
    6. 시작 권한(Launch Permissions)
    : 어떤 AWS 계정이 해당 AMI를 사용할 수 있는지를 제어하는 권한이다. 이를 설정하여 특정 AWS 계정만 해당 AMI를 사용하도록 제한할 수 있다.

    7. 블록 장치 매핑(Block Device Mapping)
    : 인스턴스가 시작될 때 인스턴스에 연결할 볼륨을 지정하는데 사용된다. 이것은 인스턴스가 시작될 때 어떤 볼륨이 연결되어야 하는지를 정의한다. (ex. block device = usb)

    AMI는 클라우드 환경에서 infra structure를 관리하고 확장하는 데 중요한 도구로 사용된다. 사용자는 자체 AMI를 생성하거나 AWS에서 제공하는 공용 AMI를 사용할 수 있으며, 이를 통해 인스턴스를 사용자의 요구 사항에 맞게 구성하고 배포할 수 있다.

    Using AMI (1)

    AMI을 선택할 때 다음과 같은 사항을 고려해야한다

    1. 인스턴스 용도에 맞는 AMI 선택
    : 인스턴스의 목적과 필요한 소프트웨어 구성을 고려하여 적합한 AMI를 선택해야한다. 예를 들어, 웹 서버를 배포하려는 경우 웹 서버 소프트웨어와 필수 구성이 포함된 AMI를 선택할 수 있다.

    2. 동일한 AMI를 사용하여 여러 인스턴스 시작
    : 동일한 구성을 가져야 하는 여러 인스턴스를 배포해야 하는 경우, 동일한 AMI를 사용하여 다수의 인스턴스를 시작할 수 있다. 이렇게 하면 모든 인스턴스가 동일한 운영 체제 및 소프트웨어 구성을 갖게 된다.



    3. 다른 용도의 인스턴스에 대해 다른 AMI 사용
    : 서로 다른 용도의 인스턴스를 배포해야 하는 경우, 각 인스턴스의 목적에 맞는 별도의 AMI를 사용한다. 예를 들어, 데이터베이스 서버와 애플리케이션 서버에 대해 서로 다른 AMI를 선택하여 각 서버의 요구 사항을 충족시킬 수 있다.

    인스턴스를 만든 후에는 선택한 AMI를 변경할 수 없다. 따라서 instance가 어떤 용도로 사용될지 완전히 이해를 하고 인스턴스를 만드는 것이 중요하다

    Where can I get an AMI?

    - Pre-built : amazon에서 미리 만들어놓은 AMI
    - AWS market place : 수천개의 소프트웨어 솔루션과 함께 digital catalog를 제공한다
    - Create your own : AMI는 golden instance 루트 볼륨의 block-level copy 로 생성할 수 있다
    - Community AMIs : 전세계 사람들이 공동체 AMI를 만들고 있다. 이런 AMI는 AWS 검사를 받지 않으며, 사용자의 위험에 따라 사용된다

    AMI Benefits 

    1. 반복성 (Repeatability)
        : 동일한 AMI에서 시작된 인스턴스는 서로 완전히 같은 복제본이다. 이것은 응용 프로그램이나 서버 구성을 한 번 정의하고 그것을 여러 인스턴스에 적용하려는 경우에 유용하다. 또한 모든 인스턴스가 일관된 환경에서 실행된다.

    2. 재사용성 (Reusability)
        : AMI는 EC2 인스턴스의 전체 구성과 내용을 패키징하므로 반복적으로 사용할 수 있다. 즉, 동일한 구성을 가진 다른 인스턴스에 사용될 수 있으며, 이는 개발, 테스트 및 프로덕션 환경에서 동일한 구성을 유지하고 관리하는 데 도움이 된다.

    3. 복구 가능성 (Recoverability)
        : 인스턴스가 실패하거나 문제가 발생할 경우, 동일한 AMI에서 새로운 인스턴스를 생성하여 빠르게 복구할 수 있다. 이는 비즈니스 연속성을 유지하는 데 중요하다.

    4. 마켓플레이스 솔루션 (Marketplace Solutions)
        : 특정 벤더의 소프트웨어 솔루션을 찾고 있는 경우, AMI는 마켓플레이스에서 사용 가능할 가능성이 높다. 여러 다양한 소프트웨어와 서비스가 제공되며, 필요에 따라 선택할 수 있다.

    5. 백업 (Backups)
        : AMI는 EC2 인스턴스의 전체 구성을 포함하므로 인스턴스의 백업을 수행하는 데 이상적이다. 인스턴스의 현재 상태를 보존하거나 특정 시점의 스냅샷을 생성하여 백업을 수행할 수 있다.

    AMI를 사용하면 인스턴스 관리, 배포, 백업 및 실패 복구를 간소화하고 효율적으로 수행할 수 있으며, 다양한 용도와 시나리오에서 유용하게 활용됩니다.

    Step3. Instance Types

    어플리케이션이나 서비스의 요구사항에 잘 맞추어 적절한 instance 를 선택해야한다

    instance type은 아래와 같은 종류들이 있다

    Scaling Instances Vertically

    인스턴스의 AMI와 다르게, 인스턴스 유형(instance type)은 인스턴스가 이미 시작된 후에 변경할 수 있다. 이것은 인스턴스 유형을 변경하여 컴퓨팅 성능을 더 추가할 수 있는 선택권을 제공한다. 이러한 확장 방법을 "수직 확장(Vertical Scaling)"이라고 한다.

    수직 확장을 통해 다음과 같은 작업을 수행할 수 있다:

    1. CPU 용량에 대한 확장 또는 축소
        : 인스턴스의 현재 CPU 용량이 요구 사항을 충족하지 못할 때, 인스턴스 유형을 업그레이드하거나 다운그레이드하여 CPU 성능을 조절할 수 있다. 이를 통해 작업 부하에 따라 필요한 성능을 조절할 수 있다.

    2. 임의의 인스턴스 패밀리 및 유형으로 전환
        : 인스턴스 유형을 변경함으로써 필요에 따라 다른 인스턴스 패밀리로 이동할 수 있다. 예를 들어, 컴퓨팅 요구 사항이 변화하면 다른 인스턴스 패밀리로 전환하여 필요한 성능 또는 리소스를 얻을 수 있다.

    수직 확장은 애플리케이션의 성능을 최적화하고 작업 부하에 따라 인스턴스의 컴퓨팅 성능을 동적으로 조정하는 데 사용된다. 이것은 워크로드가 예상대로 확장되거나 축소될 때 효율적인 방법을 제공하며, 클라우드 인프라의 유연성을 강화한다.

    Step4. Key Pairs

    인스턴스를 시작할 때, 다음과 같은 키 페어(key pair) 설정 옵션을 선택할 수 있다:

    1. 기존 키 페어 선택: 이미 생성된 기존 키 페어를 선택하여 인스턴스에 연결한다. 이렇게 하면 해당 키 페어의 공개 키를 사용하여 SSH 또는 RDP와 같은 원격 액세스를 제어할 수 있다.

    2. 새로운 키 페어 생성: 새로운 키 페어를 생성하고 이를 선택한 인스턴스에 연결한다. 이 경우, AWS는 해당 키 페어의 공개 키를 생성하고 해당 키 페어의 개인 키 파일을 사용자가 안전하게 보관해야 한다.

    3. 키 페어 미사용 선택: 키 페어를 사용하지 않고 인스턴스를 시작할 수도 있다. 이 경우, 원격 액세스에 대한 추가 보안 계층이 없다.

    중요한 점은, 인스턴스를 이미 시작한 후에는 키 페어를 추가할 수 없다는 것이다. 따라서 키 페어는 인스턴스를 시작하기 전에 선택하거나 생성해야 한다.

    키 페어는 공개 키와 개인 키 파일로 구성된다. AWS는 공개 키를 저장하고, 개인 키 파일은 사용자가 안전하게 관리하며 사용해야 한다. 이러한 키 페어는 인스턴스에 원격 액세스를 제어하고 보안을 강화하는 데 사용된다.

    키페어를 연결하여 인스턴스에 안전하게 연결할 수 있다.

    Window 와 Linux AMI 에 모두 적용할 수 있고, 각각 다른 프로토콜이 사용된다

    Windows AMIs를 사용할 때, 개인 키를 사용하여 인스턴스에 로그인하기 위해 관리자 비밀번호를 얻어야 한다. 이 관리자 비밀번호는 Remote Desktop Protocol (RDP)를 통해 인스턴스에 로그인할 때 필요하다.

     Linux AMIs의 경우, 개인 키를 사용하여 Secure Shell (SSH)를 통해 인스턴스에 안전하게 연결할 수 있다. 이것은 원격 명령 실행 및 파일 전송과 같은 작업을 수행하기 위한 안전한 방법이다. PuTTY를 사용하려면 .pem 형식의 개인 키 파일을 .ppk(PuTTY Private Key) 형식으로 변환해야 한다. 이 작업은 PuTTYgen과 같은 도구를 사용한다.

    개인 키는 절대로 공개적으로 노출되어서는 안 되며, 안전하게 보관되어야 한다. 개인 키는 인스턴스에 접근하기 위한 중요한 보안 토큰으로, 누출되면 보안 문제가 발생할 수 있다. 따라서 개인 키 파일을 안전하게 보관하고, 공개적으로 공유되거나 노출되지 않도록 주의해야 한다.

    안전한 키 관리는 AWS EC2 인스턴스에 연결하는 중요한 부분이며, 키 페어를 올바르게 관리하고 사용함으로써 인스턴스와 데이터의 보안을 유지할 수 있다.

    Step5. Network Settings

    instance 에 배치할 VPC, Subnet, Security group 등을 선택해야하고  public IP address 를 가능하게 할 것인지도 결정해야한다

    지역(Regions)은 AWS Management console 의 지역을 기반으로 정해진다

    Amazon VPC

    Amazon VPC를 시작할 때, 각 AWS region에는 default VPC가 있다. 기본 VPC는 해당 지역의 각 가용성 영역에 공용 서브넷과 함께 제공된다. 따라서 EC2 인스턴스를 기본 VPC로 즉시 시작할 수 있다. default VPC 안에 public subnets 을 더 만들 수 있고, 어느 지역에서나 VPC를 추가적으로 만들고 customize 할 수 있다

    public IP 주소는 인터넷에서 접근 가능한 IP 주소를 나타낸다. 이 주소는 인스턴스와 인터넷 간의 통신에 사용된다. 퍼블릭 IP 주소의 자동 할당 여부는 상황에 따라 다를 수 있다.

    Subnet

    기본 VPC - 기본 서브넷(Default VPC - Default Subnet)
    : 기본 VPC와 기본 서브넷에서 EC2 인스턴스를 시작할 때, 퍼블릭 IP 주소의 자동 할당 설정은 기본적으로 활성화되어 있다. 이는 인스턴스가 더 쉽게 인터넷과 통신할 수 있도록 도와준다.

    기본 VPC - 사용자 정의 공용 서브넷(Default VPC - Custom Public Subnet), 사용자 정의 VPC - 사용자 정의 서브넷(Custom VPC - Custom Subnet)
    : 사용자가 공용 서브넷을 사용자 정의하거나 사용자 정의 VPC를 생성하는 경우, 기본 설정으로 퍼블릭 IP 주소 자동 할당은 비활성화되어 있다. 그러나 사용자는 필요에 따라 이 설정을 활성화할 수 있다

    퍼블릭 IP 주소 자동 할당 설정은 EC2 인스턴스 시작 시 변경할 수 있다. 필요에 따라 퍼블릭 IP 주소의 자동 할당을 활성화 또는 비활성화하여 EC2 인스턴스의 네트워크 구성을 조절할 수 있다.

    퍼블릭 IP 주소는 인터넷과 EC2 인스턴스 간의 통신을 지원하는 데 중요한 역할을 한다. 설정에 따라 퍼블릭 IP 주소가 자동으로 할당되거나 사용자가 직접 활성화 또는 비활성화할 수 있으므로 네트워크 요구 사항에 따라 유연하게 조절할 수 있다.

    보안 그룹(Security Group)

    보안 그룹은 AWS에서 제공하는 가상 방화벽으로, 인스턴스에 대한 네트워크 액세스를 제어한다. 이는 인스턴스의 게스트 운영 체제 외부에 존재하는 것이 특징이다.

    - 허용된 트래픽 필터링: 보안 그룹은 어떤 트래픽이 인스턴스로 접근할 수 있는지 필터링한다. 즉, 어떤 IP 주소, 포트 또는 프로토콜이 인스턴스에 연결할 수 있는지를 정의할 수 있다.

    - 허용 규칙 지정, 거부 규칙 미지원: 보안 그룹은 허용 규칙을 명시할 수 있지만, 특정 트래픽을 거부하는 규칙을 명시적으로 지원하지는 않는다. 기본적으로 모든 트래픽이 거부되며, 필요한 경우 허용 규칙을 추가해야 한다.

    - 모든 액세스 차단: 보안 그룹은 어떠한 액세스 규칙도 없을 때 모든 트래픽 액세스를 차단한다.

    - 실시간 업데이트: 보안 그룹은 연결된 인스턴스에 실시간으로 적용된다. 따라서 규칙을 변경하면 변경 사항이 즉시 반영되며, 보안 그룹을 다시 시작할 필요가 없다.


    보안 그룹 규칙은 다음 4가지 구성 요소로 구성된다

    1. 타입(Type): 이 부분에서는 네트워크 트래픽을 열어주려는 특정 프로토콜 유형을 지정한다. 예를 들어, SSH, RDP, HTTP, HTTPS와 같은 서비스 또는 프로토콜을 지정할 수 있다.

    2. 프로토콜(Protocol): 인터넷 프로토콜은 인터넷을 통해 컴퓨터 및 다른 서비스 간에 정보를 교환하는 방법을 나타낸다. 이 부분에서는 어떤 프로토콜을 사용할지를 지정한다. 일반적으로 TCP, UDP, ICMP와 같은 프로토콜을 선택할 수 있다.

    3. 포트 범위(Port Range): 이 부분에서는 각 프로토콜 유형에 대해 허용되는 포트 범위를 지정한다. 포트는 트래픽이 허용되는 특정 네트워크 포트 번호를 나타내며, 프로토콜에 따라 다양한 포트를 지정할 수 있다.

    4. 출처(Source): 이 부분에서는 어떤 IP 주소 범위에서 트래픽이 인스턴스에 도달할 수 있는지를 결정한다. 출처는 허용할 IP 주소 범위를 지정하며, 어떤 원격 위치에서 트래픽이 허용되는지를 지정할 때 사용된다.

    Inbound Rules and Outbound Rules

    - 인바운드 규칙(Inbound Rules): 인바운드 규칙은 인스턴스로 들어오는 트래픽을 제어한다. 즉, 외부에서 인스턴스로 들어오는 트래픽을 어떻게 처리할지를 정의한다. 보안 그룹을 생성할 때, 인바운드 규칙은 기본적으로 없으며 사용자가 필요한 규칙을 추가해야 한다.

    - 아웃바운드 규칙(Outbound Rules): 아웃바운드 규칙은 인스턴스에서 나가는 트래픽을 제어한다. 보안 그룹은 기본적으로 모든 아웃바운드 트래픽을 허용하는 규칙을 포함하고 있다. 이것은 인스턴스가 인터넷에 연결하거나 다른 서비스와 통신할 수 있도록 하는데 도움이 된다.

    Security Group's Stateful Attributes

    보안 그룹은 상태적 효과를 가지며, 이는 인바운드 규칙과 아웃바운드 규칙 간에 연관된 규칙을 의미한다. 이러한 상태적 효과로 보안 그룹이 트래픽의 응답을 자동으로 허용하고, 보안 그룹의 아웃바운드 규칙을 지정하지 않더라도 응답이 허용된다.

    - 인바운드 규칙을 통해 HTTP 요청이 인스턴스에 도달하면, HTTP 응답은 자동으로 허용된다. 이는 상태적 효과의 일부이며, 요청과 해당 응답 사이에 연결이 유지된다.

    - 아웃바운드 규칙을 사용하면 해당 아웃바운드 연결의 응답이 자동으로 인바운드 트래픽으로 허용된다. 예를 들어, 인스턴스가 외부 웹 서버에 HTTP 요청을 보내면, 해당 웹 서버의 응답이 인스턴스로 돌아오는 것이 자동으로 허용된다.

    Managing Security Groups

    Security Groups는 subnet level이 아닌 instance level 에서 작동한다. 같은 subnet에 있는 instance는 다른 security group에 들어갈 수 있다

    또한 한 instance 에 여러 security groups 을 추가할 수 있다. 인스턴스에 연결된 모든 보안 그룹의 모든 규칙은 트래픽을 허용하기 전에 평가된다. 따라서 각 보안 그룹의 규칙이 모두 적용되며, 모든 규칙을 통과한 트래픽만 인스턴스로 전달된다.

     

    Step6. Configure Storage

    Amazon Elastic Block Store (EBS)는 Amazon EC2 인스턴스 스토리지의 주요 솔루션이다. EBS는 Amazon EC2와 함께 사용되도록 설계된 내구성이 뛰어나고 분리 가능하며 고성능 블록 스토리지 서비스다. 

    - 내구성: EBS는 데이터의 내구성을 보장하며 데이터 손실을 방지하기 위해 안전한 스토리지 솔루션을 제공한다.
    - 분리 가능: EBS 볼륨은 EC2 인스턴스에서 분리할 수 있으며, 다른 인스턴스에 연결하거나 백업을 수행할 수 있다.
    - 고성능: EBS는 고성능 블록 스토리지로, 저지연(latency) 및 고성능 컴퓨팅 요구 사항을 처리할 수 있다.
    - 유사 USB 드라이브: EBS는 컴퓨터에서 USB 드라이브를 사용하는 것과 유사한 방식으로 데이터를 저장하고 관리할 수 있다.
    - 다양한 용도: EBS는 거의 모든 컴퓨팅 요구 사항을 처리할 수 있으며 데이터베이스 실행, 응용 프로그램 호스팅, 스토리지 작업 등 다양한 용도로 사용된다.

    Amazon EBS는 EC2 인스턴스의 데이터 스토리지를 효과적으로 관리하고 확장하는 데 사용되며, 다양한 데이터 관리 및 백업 요구 사항을 충족시키는 데 중요한 역할을 한다.

    Amazon Elastic Block Store (EBS)는 다양한 스토리지 유형을 제공한다. 

    1. 일반용(General Purpose, SSD 기반)
       - 가격과 성능을 균형있게 제공하며, 다양한 워크로드에 적합
       - 대부분의 애플리케이션에서 사용 가능한 기본 SSD 스토리지 유형

    2. Provisioned IOPS(PIOPS, SSD 기반)
       - Provisioned Input/Output Operations per Second (IOPS)는 미션 크리티컬하고 저지연 또는 고 처리량 워크로드를 위한 고성능 SSD 스토리지
       - IOPS가 중요한 애플리케이션, 예를 들어 데이터베이스 시스템에서 사용

    3. Throughput Optimized(HDD 기반)
       - 빈번하게 액세스되는 대량 처리 워크로드를 위한 저렴한 HDD 스토리지
       - 부팅 스토리지로 사용할 수 없으며, 대용량 데이터를 빠르게 읽는 데 적합

    4. Cold(HDD 기반)
       - 덜 빈번하게 액세스되는 데이터를 위한 가장 저렴한 HDD 스토리지
       - 또한 부팅 스토리지로 사용할 수 없으며, 특히 백업 및 아카이브 데이터용으로 유용

    Amazon EBS 스토리지 구성 옵션

    - 볼륨 유형(Volume Types)
       - HDD 기반 유형은 루트 볼륨으로 사용할 수 없다.
       - 인스턴스에 추가 볼륨 (루트 볼륨이 아닌 별도의 볼륨)을 연결하고, 다른 볼륨 유형과 조합하여 필요에 따라 사용할 수 있다.

    - 볼륨 크기(Volume Size)
       - 볼륨의 크기는 GB 단위로 선택

    - 종료 시 삭제(Delete on Termination)
       - 인스턴스가 종료될 때 볼륨이 자동으로 삭제되어야 하는지를 나타낸다

    - 암호화(Encryption)
       - 루트 볼륨 및 추가 볼륨을 암호화할 수 있는 옵션이 제공. 암호화에는 AWS Key Management Service (KMS) 키를 사용.

    파일 시스템 추가(Adding a File System)

    - 스토리지 구성 중에 Amazon Elastic File System (EFS)를 인스턴스에 추가할 수 있다.
    - Amazon EFS는 여러 EC2 인스턴스 간에 파일을 공유할 수 있는 파일 시스템으로, 파일을 추가하거나 제거할 때 자동으로 크기가 조절되며 관리나 프로비저닝이 필요하지 않다.
    - 인스턴스를 EFS 파일 시스템에 연결하거나 나중에 연결할 수 있으며, 파일 시스템에서 인스턴스를 제거해도 Amazon EFS에 저장된 파일을 잃지 않는다.

    Amazon EC2 인스턴스 스토어

       - 인스턴스 스토어는 인스턴스에 대한 임시 블록 수준 스토리지를 제공.
       - 이 스토리지는 호스트 컴퓨터에 물리적으로 연결된 디스크에 위치하며, 주로 버퍼, 캐시, 임시 데이터 및 기타 임시 콘텐츠와 같이 자주 변경되는 정보의 임시 저장에 이상적.
       - 인스턴스 스토어는 루트 볼륨로 사용할 수도 있다.
       - 인스턴스가 중지, 휴면 또는 종료되면 모든 데이터를 잃게 된다.
       - 인스턴스 스토어 볼륨은 특정 AMI 및 인스턴스 유형 조합에만 선택적으로 제공되며, 인스턴스가 시작된 후 인스턴스 스토어 볼륨을 추가하거나 분리할 수 없다. 또한 볼륨을 디태치할 수 없으며 스토리지 유형, 크기 또는 암호화를 구성할 수 없다.

    Step7. Adanced Details

    IAM 역할(IAM Roles)과 AWS 서비스와의 사용

    - IAM 역할(IAM Roles): IAM 역할은 AWS 계정에서 생성할 수 있는 IAM 식별자로, 특정 권한 정책(어떤 작업을 수행할 수 있는지, 어떤 AWS 리소스에서 수행할 수 있는지, 어떤 조건 하에서 수행할 수 있는지)을 가진다. 역할은 필요한 모든 사용자에게 어셈블 가능(assumeable)하도록 설계된다.

    - AWS 서비스와 IAM 역할 사용: EC2 인스턴스는 종종 안전한 API 호출을 수행해야 하는 응용 프로그램을 실행한다. 이때 역할은 인스턴스가 다른 AWS 서비스에 대한 권한을 부여하고 보안 리스크를 극복하는 데 사용된다. 인스턴스에 AWS 자격 증명을 저장하여 다른 AWS 서비스로 안전한 API 호출 권한을 부여하는 것은 매우 불안전하다.

    IAM 역할 관리

    - IAM 역할 연결: 역할을 인스턴스에 연결하려면 인스턴스 프로필에서 연결할 역할을 선택한다. 인스턴스 프로필은 IAM 역할의 컨테이너 역할을 하며, 인스턴스에 연결할 역할을 지정한다.

    - 역할 관리: 이 방법으로 역할을 관리하면 많은 유연성을 제공한다. 인스턴스를 시작할 때 역할을 포함하거나 인스턴스가 시작된 후 역할을 추가하거나 역할을 인스턴스에서 제거하거나 역할 정책을 업데이트하여 즉시 권한을 변경할 수 있다.

    사용자 데이터(User Data)

    - 사용자 데이터 스크립트: EC2 인스턴스를 생성할 때 사용자 데이터를 전달하는 옵션을 가진다. 사용자 데이터 스크립트는 인스턴스의 런타임 환경을 사용자 정의하는 데 사용된다.

    - 스크립트 실행: 스크립트는 기본적으로 인스턴스가 처음 시작될 때 실행된다. 스크립트는 인스턴스가 시작될 때마다 실행되도록 구성할 수도 있다

    - 사용 사례: 스크립트를 사용하여 AMI를 패치 및 업데이트, 소프트웨어 라이선스 키 가져오기, 추가 소프트웨어 설치 등을 수행할 수 있다

    추가 고급 설정 옵션(Additional Advanced Setting Options)

    - 스팟 인스턴스 요청(Request Spot Instances)

    - 종료 동작(Shutdown Behavior): OS 수준의 종료가 수행될 때 인스턴스의 동작을 어떻게 처리할 것인지에 영향을 미친다. 인스턴스를 종료 또는 중지할 수 있다.

    - 종료 보호(Termination Protection): 활성화하면 종료 보호가 해제되기 전까지 콘솔, API 또는 CLI를 사용하여 인스턴스를 종료할 수 없다.

    - 상세 모니터링(Detailed Monitoring): Amazon CloudWatch와 연계하여 인스턴스를 모니터링할 수 있다.

    - 테넌시(Tenancy): EC2 인스턴스를 실행할 때 테넌시(호스트 머신 배치 정책)를 구성할 수 있다.

    Configuration Considerations

Designed by Tistory.