(AWS Project) BigData with Hadoop 02 - 사전작업

Page content

I. Amazon S3 Bucket 생성 주요 요건

  • Hive 쿼리의 출력 데이터를 저장할 Amazon S3 버킷과 폴더를 지정한다.
  • 자습서에서는 default log location을 사용하지만, 원하는 경우에는 custom location을 지정할 수 있다.
  • 하둡의 요구사항 중, bucketfolder names 다음과 같은 규칙을 적용한다.
    • letters, numbers, periods(.), and hyphens(-) 등을 입력한다.
    • 마지막 글자는 숫자로 끝맺음을 하지 않는다.
  • 이러한 요구 사항을 충족하는 폴더에 이미 액세스할 수 있는 경우 이 튜토리얼에 해당 폴더를 사용하십시오.
  • 출력 폴더는 비어 있어야 한다.
  • 버킷 이름은 모든 AWS 계정에서 독특(unique)해야 한다는 점을 기억해야 한다.

II. Creating a Bucket

  • 이제 bucket을 생성하는 예제를 해본다.
    • 관련 예제는 Amazon Simple Storage Service Getting Started Guide문서에서 Create a Bucket을 찾아서 확인해본다.
  • Note (영어)

You are not charged for creating a bucket. You are charged only for storing objects in the bucket and for transferring objects in and out of the bucket. The charges that you incur through following the examples in this guide are minimal (less than $1). For more information about storage charges, see Amazon S3 Pricing

  • 파파고 번역: 버킷을 만들면 요금이 부과되지 않는다. 버킷에 객체를 저장하고 버킷 내부 및 외부로 객체를 전송하는 경우에만 요금이 부과된다. 본 안내서의 예제를 따라가면서 발생하는 요금은 최소(1달러 미만)이다. 스토리지 요금에 대한 자세한 내용은 문서를 참조한다.
  • 이제 버킷을 만들어본다.
    • 첫째, 아마존 내 S3에 접속한다. (https://console.aws.amazon.com/s3/)
    • 둘째, 버킷 만들기 버튼을 클릭한다. (s3://chloevanbucket/MyHiveQueryResults) 아래 그림에서 버킷이름을 추가해야 한다.

- 이름 짓는 규칙이 있기 때문에 이 부분은 한번 읽어보는 것을 권한다. [Rules for Bucket Naming](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules)
- 여기에서는 `chloevanbucket` 짓도록 한다. 
  • 셋째, 리전(Region)을 추가한다. 이 때, 현재 지역과 가장 가까운 곳에 지정하는 것이 좋다.
    • 필자는 아시아 태평양(서울)을 입력했다.
  • 넷째, [옵션구성][권한설정] 등은 특별한 사유가 없다면 아마존에서 제공한 그대로 사용한다.
    • 특히, 권한설정에서 모든 퍼블릭 액세스 차단이 클릭되어 있는데, 여러 옵션이 있다. 만약 이 옵션에 대해 조금더 자세히 알고 싶다면, Using Amazon S3 Block Public Access 참조한다.
  • 버킷을 다 만든 후에는 chloevanbucket을 클릭하면 아래와 같은 화면이 나타날 것이다.
  • 그리고 폴더를 추가하는데, 이번에는 MyHiveQueryResults 이름을 지정한다.

III. Create an Amazon EC2 Key Pair

  • SSH(Secure Shell) 프로토콜을 사용하여 보안 채널을 통해 클러스터의 노드에 연결하려면 Amazon Elastic Compute Cloud(Amazon EC2) 키 쌍이 있어야 한다.

  • 사용할 키 쌍이 이미 있는 경우 이 단계를 생략해도 좋다. 키 쌍이 없는 경우 운영 체제에 따라 다음 절차 중 하나를 수행한다.

  • Key Pair를 하는 방법에는 크게 두가지 방법이 있다.

    • 첫번째 방법은 Amazon EC2에서 진행하는 방법
    • 두번째 방법은 개인컴퓨터 Public KeyAmazon EC2로 가지고 오는 방법
  • 터미널 명령어 등이 익숙하지 않은 분들에게는 첫번째 방법을 권하지만, 두번째 방법으로 연습하는 것을 권장한다.

    • 본 포스트에서는 첫번째 방법으로 진행하지만, Public key가 있으신 분들은 두번째 방법으로 진행하는 것을 권장한다.
  • 먼저 New Console에 접속한다.

  • 키 페어를 클릭하고 이름을 작성한다.

    • 이 때, Amazon EC2는 공개 키를 키 이름으로 지정한 이름과 연결한다.
    • 키 이름에는 최대 255자의 ASCII 문자가 포함될 수 있다.
    • 주의 해야 하는 것은 선행(leading) 또는 후행(trailing) 공백(space)을 포함할 수 없다.
    • 키 페어를 클릭 후, chloevan_key라고 명명했다.
  • 이 때, 파일 형식이 2개와 나온다. (pem & ppk)

    • 그 2개 모두 차이는 없다. 다만, OpenSSH에 사용하려면 pem을 클릭하고, PuTTY에 사용하려면 ppk를 사용하면 된다.
    • 필자는 OpenSSH를 주로 더 많이 사용하는 편이어서 pem을 클릭하고 저장했다.
  • 그러면 chloevan_key라는 certificate 문서를 바탕화면에 저장한다.

  • 마지막으로 Retrieving the public key를 진행한다.

$ ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem
  • 만약에 위 명령어 실행이 안될 경우 다음 명령어를 실행한 뒤, 다시 위 명령어를 실행한다.
$ chmod 400 my-key-pair.pem

필자가 실행했던 명령어는 아래와 같다.

$ cd Desktop # 바탕화면으로 경로 이동
:Desktop user_name$ ssh-keygen -y -f chloevan_key.pem # Got error
:Desktop user_name$ chmod 400 my-key-pair.pem
:Desktop user_name$ ssh-keygen -y -f chloevan_key.pem
ssh-rsa AAAAB3NzaC1y~~~~/4hJ80XL

IV. Reference