EC2 서버를 생성할 때 키페어를 생성한다.
다음과 같이 키페어를 생성하게 되면 [파일명].pem 이라는 키가 생성된다.
그 후, Git bash로 ssh –i [key파일] ec2-user@ec2할당IP로 접속할 수 있다.
다음으로 생성한 EC2 서버에 추가 스토리지를 생성해 연결하는 과정이다. 스토리지인 EBS 유형을 선택하고 크기와 iops, 처리량, 가용영역을 선택해준 뒤 생성해준다.
완료하면 다음과 같이 생성이 될 것이고, 이 것을 사용 가능한 상태라고 나오면 인스턴스와 연결해준다.
디바이스 이름에는 여러 유형들이 있는데 /dev/sdf로 설정해준다.
연결한 후에, 앞서 ec2 인스턴스와 연결했던 git bash 창을 켜 df –k를 통해 확인할 수 스토리지에서 파일을 생성하고 폴더를 생성할 수 있으며, 폴더를 /appdir로 생성해주고 생성한 스토리지를 /appdir 폴더에 mount 해주면 df –k를 통해 연결된 것을 확인할 수 있다.
실습을 완료한 후에는 EBS를 분리하고 삭제해준다.
다음으로는, s3 버킷에 대한 실습이다.
여기서 S3란?
S3는 파일, 데이터 및 다양한 유형의 미디어 등을 저장하고 관리하는 데 사용되는 웹 기반 스토리지 시스템입니다.
또한 저장하는 데이터 양에 대한 비용도 저렴하고, 저장할 수 있는 데이터 양도 무한에 가깝습니다.
Amazon S3는 여러 사용 사례에 맞춰 설계된 다양한 스토리지 클래스를 제공한다. 예를 들어 자주 액세스하기 위해 미션 크리티컬 프로덕션 데이터를 S3 Standard 또는 S3 Express One Zone에 저장하고, 액세스 빈도가 낮은 데이터를 S3 Standard-IA 또는 S3 One Zone-IA에 저장하여 비용을 절감하고, S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive에 가장 낮은 비용으로 데이터를 보관할 수 있다.
버킷을 생성하고 파일 업로드
먼저 버킷을 생성하고 리전, 이름을 정해준 뒤, 객체 소유권을 활성화 할지 비활성화 할지 정해준 뒤, ACL에 대한 권한 즉, 퍼블릭 액세스를 차단할 것인지 선택해주고, 암호화, 관리 등의 기능을 선택한뒤 생성한다.
생성이 완료되면 다음과 같이 보인다.
업로드는 다음 창에서 하면 되고 나는 이미지파일을 업로드하는 실습을 진행했다.
성공적으로 업로드 되면 다음과 같이 확인할 수 있다. 아래 객체 URL을 통해 이미지를 확인할 수 있는 것이다.
하지만 권한이 없어 객체 URL에 접근할 수 없다.
2. ACL 권한을 부여하고 객체에 접근
- 먼저 앞서 설정할 때 퍼블릭 액세스를 차단했기 때문이므로 설정을 모든 퍼블릭 액세스 차단을 해제해준다. 그 후, 객체의 소유권을 활성화 해주고 객체소유권은 작성자로 한다.
그 후, 객체에 접근을 통해 acl을 모두 허용해준다.
그러면 다음과 같이 객체에 접근할 수 있고, 실습을 완료한 버킷은 삭제한다.
마지막으로 IAM에 대한 실습이다.
여기서 IAM이란?
AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다.
IAM을 사용하면 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리할 수 있다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어한다.
IAM을 생성하는 이유는 루트 계정에서만 AWS를 관리하게 된다면 모든서비스에 대한 권한이 있기 때문에 보안이 취약하다. 따라서 IAM계정을 통해 필요한 권한만 갖도록 설정하여 효율을 높이는 것이다.
AWS에서 이를 확인해보면,
다음과 같이 사용자의 계정 목록을 확인할 수 있다.
사용자를 새로 생성하게 되면 이름과, 액세스 권한을 체크해서 암호를 설정할 수 있다.
다음은 권한을 설정하는 것인데 여기서 직접 정책을 연결해, 사용자의 입맛대로 권한을 부여 할 수 있다.
만약, AMAZONS3fullaccess 라는 권한을 부여하려고 한다면 다음과 같이 할 수 있으며 정책을 JSON의 형태로 볼 수 있다.
JSON 문서의 용어는 다음과 같다.
Version: 정책버전을 나타낸다.
ID: 정책 식별 ID (선택사항)
Statement : 문장 구성요소. 하나 또는 여러개일수 있다
Sid: 문장 ID로, 문장의 식별자이다
Effect: 문장이 특정 API에 접근을 허용할지 거부할지에 대한내용 (Allow,Deny)
Principal: 특정 정책이 적용될 사용자,계정, 혹은 역할로 구성
Action: effect를 기반해 허용 및 거부되는 API 호출의 목록이다
Resource: 적용될 action의 리소스의 목록
Condition: Statement가 언제 적용될지를 결정한다. (선택사항)
다음과 같이 권한을 부여 받지 못한다면, aws에 대한 아무 권한이 없어 관리 할 수 없다.
'클라우드 > AWS' 카테고리의 다른 글
VPC Endpoint란? (0) | 2024.03.29 |
---|---|
로드 밸런서(ELB), 오토 스케일링(ASG) 실습 (0) | 2024.03.29 |
S3, iAM 실습 (0) | 2024.03.28 |
VPC 생성 (AWS 네트워크 구성) (0) | 2024.03.26 |
AWS, EC2란? (0) | 2024.03.26 |