AWS

[2-1] AWS에 간단한 어플리케이션을 올려봅시다

elikim 2023. 2. 26. 22:47

AWS의 EC2에 간단한 어플리케이션을 올려 서비스하기

안녕하세요, 지난번 글을 읽어주셔서 정말 감사했습니다.

지난 이야기가 너무 딱딱하게 이론적인 부분만 설명하며 글만 있었다면 이번에는 실제 핸즈온을 통해 간단한 어플리케이션을 올려보려고 합니다. 정말 간단한 어플리케이션이고 약간의 코딩이 들어가있습니다. 파이썬과 플라스크를 이용해서 심플한 계산기를 만드는 것인데요, 이 과정을 통해 AWS 서비스를 조금 더 이해하게 되시길 바랍니다!😄

우선 AWS EC2에 접속하겠습니다. 계정 생성과 로그인 방법 등에 대한 가이드가 필요하시다면 댓글 부탁드려요! 금방 작성해서 올리도록 하겠습니다!

AWS EC2 서비스에 접속하시면 콘솔은 아래와 같은 화면일 것입니다. 여기서 인스턴스를 클릭합니다.

 

그러면 아래와 같이 인스턴스 목록이 보이실 겁니다. 저는 사용 중인 인스턴스가 몇 개 있는데 처음 사용하시면 아마 아무것도 없을 겁니다. 여기서 주황색 버튼인 "인스턴스 시작"을 클릭해주세요

 

이름만 입력해주시고 나머지는 그대로 두셔도 됩니다. 아마존 리눅스를 사용할 것이며 아키텍쳐도 그대로 사용할 것이기 때문이지요.

 

다음으로는 인스턴스 타입을 골라줍니다. 인스턴스 타입은 매우 다양한데요, 사용하고자 하시는 다양한 사용사례에 맞는 각각의 강점을 갖고 있는 인스턴스로 구분되어 있습니다. 컴퓨팅에 특화되어있거나 고용량 메모리를 사용해야하는 환경이거나 그래픽 성능이 중요시되는 환경에 적합한 다양한 인스턴스들이 있습니다. 시간당 비용도 다르고 OS에 따라 추가 비용이 발생하기도 합니다. 이와 관련하여 자세한 내용은 공식 페이지에서 확인하실 수 있습니다. 여기서는 고성능 인스턴스가 필요하지 않기 때문에 프리 티어로 사용 가능한 인스턴스를 선택합니다.
인스턴스 타입 정보

https://www.googleadservices.com/pagead/aclk?sa=L&ai=DChcSEwjtk6jKo7P9AhWUrpYKHdn3BSkYABACGgJ0bA&ohost=www.google.com&cid=CAESbOD2yueinQ41O2S9QJ8N3MK23drFWHS8fAjEl9MjVvv2e_GqEQ16fwNifWGeFomb4HQbaTPA_jo3JWfX2AB4iFYGhBoGdIsN--zJ_deiH1rD4GeVIRpHOPJAmAuwkmh4M6A2GXyLSrQGk2V0Nw&sig=AOD64_26PM0PGtC9eejx80qZ8IEbJM51JA&adurl&ved=2ahUKEwiGwZ_Ko7P9AhXUmFYBHZKbBcgQqyQoAHoECAkQBQ

https://aws.amazon.com/ko/ec2/instance-types/?trk=68913a17-4967-41f6-a766-0f2eb338dd04&sc_channel=ps&s_kwcid=AL!4422!3!588924203184!p!!g!!aws%20ec2%20vps&ef_id=Cj0KCQiAo-yfBhD_ARIsANr56g4mnA2-iM978vkEkWA2qBjoR8j9yX7OxpdNY0MHE67Iv53TSabR-i0aAr0VEALw_wcB:G:s&s_kwcid=AL!4422!3!588924203184!p!!g!!aws%20ec2%20vps 

 

다음으로는 네트워크 세팅입니다. 해당 탭 우측에 "edit" 혹은 "편집" 버튼을 클릭해주시면 선택이 가능하도록 변경될 것입니다. VPC의 자세한 설정에 관해서는 다음 글에서 말씀드리도록 하겠습니다. 오늘은 일단 마음 편히 서버나 하나 올려보도록 합시다-! 여기서는 아무 서브넷이나 선택해주시고, "Auto-assign Public IP" 또는 "활성화"로 선택해주세요. 그리고 보안 그룹(security group)은 "Create security group" 또는 "보안 그룹 생성"으로 선택해주시면 됩니다. 당연히 이때 이름도 적어주셔야 하구요. 저는 단순하게 My_test_001로 하였습니다. 설명은 접근을 위한 22번 포트인 ssh와 웹 접근을 위해서 80포트를 오픈할거라 testing ssh and http로 하였습니다.

보시다시피 22와 80번 포트를 개방하도록 설정해주시면 됩니다. 물론 이후 플라스크를 사용할 때 5000번 포트도 개방할겁니다. 그 부분은 보안 그룹 변경하는 방법을 보여드리기 위해 나중에 수정하도록 할게요!

 

다음으로는 스토리지 입니다. 그냥 건너 뛰셔도 됩니다. 굳이 토글을 열어 한번 보여드리는 이유는 여기도 성능과 비용에 따른 다양한 옵션이 있다는 점을 말씀드리고 싶었기 때문입니다. 옆에 어드벤스드 버튼을 클릭하면 여러 스토리지(Elastic Block Storage)를 연결하여 사용할 수 있는 설정이 등장합니다.
AWS의 블록스토리지 옵션

잠깐.., 지나쳐온 곳이 있는데요. 조금 위로 올라가시면 있는 아주 중요한 키 페어 부분입니다. 아래 빨간 글씨는 제가 이 곳을 설정하지 않고 그냥 넘어갔었기 때문이죠. 아마 처음하시면 없으실텐데 같이 하나 만드십시다!  "Create new key pair" 또는 "새 키 페어 생성"을 클릭합니다.

 

키 페어는 보안을 위해 매우 중요합니다. 물론 키 페어 없이 접근하도록 설정할 수 있습니다. 비밀번호 등을 활용하는 것이죠. 이것도 나중에 알려드리겠습니다. 키 페어를 제대로 관리하지 않거나 키 페어를 사용하지 않고 단순한 비밀번호 조합을 사용하시면 해외의 여러 트래커의 표적이 될 수 있으니 조심하셔야합니다!

키 타입은 RSA 그리고 파일 포멧은 pem으로 설정했습니다. 가장 usual하기 때문이죠. 물론 ppk형식 또는 ED25519로 하셔도 사용하시는데에 지장은 없습니다😁 마지막으로 주황색 버튼을 클릭해주세요.

여기까지 설정하셨으면 인스턴스 생성을 위한 설정은 끝났습니다! 설정 화면 우측에 항상 우릴 따라다니던 주황색 버튼을 클릭해주세요!

잘 생성이 되셨을겁니다. 중간에 문제가 생겼거나 잘 이해가 되지 않는 부분이 있다면 댓글 남겨주세요!

내용이 길어져서 글을 2개로 나누겠습니다. 곧바로 이어서 봐주세요😄