노력과 삽질 퇴적물
AWS경험으로 MS Azure(애저) 적응 연습 본문
[이미지 출처: techthatworks.net] |
|
▼ 무료 계정
|
|
|
1) 애저 포탈 2) Cost Management |
▼ 서버 배포
|
|
|
1) Linux 가상 머신 만들기 2) 터미널 접속 |
▼ 기타
|
|
|
1) 개인적인 분석 2) PostgreSQL 3) 코드를 통한 Blob 업로드 4) FaaS, 함수앱 |
* 시작하며.
① AWS 실무경험은 그리 짧지 않지만, 클라우드 환경 2위가 MS라길래 서브 스킬 개발차원에서 포스트 남깁니다.
💬 이 부분은 보조 설명.//이 부분은 개인 의견 중심입니다.
② 튜토리얼에는 있는 메뉴 위치가 내 시점에서는 없는 경우가 AWS, 페이스북 개발자 페이지를 이어 MS의 애저에도 있군요.💣
가급적 최신판 레이아웃 캡쳐 넣긴 하지만, 몇 달 후 세부적으로 또 바뀔거 같습니다. (운 나쁘면 잠수함 패치로 어제하고는 다른 레이아웃과 메뉴)
③ 원래는 MS쪽 자료 페이지 링크만 정리 하려했으나... 그 MS조차 개발문서 페이지가 증발...💣
그 때는 ASP .NET쪽 관련 자료긴 했는데 버전상 레거시 버전이 되어서인지 자료 개편등으로 어디로 옮긴건지 찾기도 번거로워 결국 자체 문서화를 겸한 블로그 포스팅.
▼ 1. 무료계정 |
1) 애저 포탈 📂 |
학생 라이센스를 쓰실분은 Azure로 검색해서 그냥 들어가면 안 되고, 🔗Microsoft Azure Portal(애저 포탈)로 가셔야 합니다. 혹시 모르니 메모.
2) Cost Management 📂 |
Azure for Students라이센스는 신용카드 입력이 없다보니 크레딧 소진이후 비용청구가 없지만, $200짜리 1달 체험판 라이센스에서는 주의가 필요합니다.
2-1) 예산
튜토리얼 영상하고는 메뉴 배치가 달라서 2024-08-19기준 캡쳐넣었습니다. AWS에서는 크레딧 소진 추세상 약 1달 이내로 되면 이메일로 알려주는것이 기본 설정이였지만, 제 라이센스 특성상 애저에서의 기본은 모르겠어도 예산 소진 알림 이메일을 몇 단계로 여러개 만들면 관리상 쓰임새가 많죠. 수동으로 모니터링 안 해도 된다거나.▼ 2. 서버 배포 |
1) Linux 가상 머신 만들기 📂 |
1-1) 기본사항
💬 2024-08기준으로 우분투는 24.x가 최신이지만,리눅스는... 일정 버전마다 기본 패키지/설치경로/명령어 방식도 달라지곤 하니 저는 튜토리얼에 있는 버전으로. 가상머신 2대를 써야 하다보니 실제로 사용한 가상머신 이미지들도 캡쳐.
/* Rocky는 이번에 처음 써보는거긴 한데,
LVM이라는 옵션을 찾아보니 AWS에서는 서버 디스크 용량을 업그레이드시 디스크 마운트를 통한 용량 확장을 하던것과 세부적으로 무슨 차이인지는... 써봐야 알듯. */
그리고 centOS가 기본적으로 LVM이라고 하고 Rocky는 centOS의 후계이니 with LVM.
1-2) 디스크
우분투는 30을 주고, Rocky는 10을 주는군요. AWS에서는 아마존 리눅스건 우분투건 30을 주던데 그 환경에서 Rocky는 안 써본터라 나머지는 모르겠습니다. 그리고 디스크 유형에 HDD도 선택이 가능하군요. 이런 세부적인 차이들을 확인치 않고 넘기면 나중에 이슈 처리등에서 퇴근 시간이 늘어지겠구나의 감상 한 줄정도?
1-3) 네트워킹
인바운드 포트에 지금은 80번만 허용했지만, 나중에 네트워킹에서도 설정은 가능하니 지금은 그냥 80번 포트만.
가상머신 생성하면서 SSH용 보안키 파일(*.pem) 다운로드.
1-4) 기타
테스트용에서는 나머지 항목들은 거의 안 해도 되긴하는데,
'태그'쪽이 AWS보다는 편의성이랄지 태그를 통해서 연결된 리소스를 찾기 편해보입니다. 사실 (AWS)cloudWatch통해 서버 이미지 백업/오래된 이미지 삭제를 세팅할 때 정도긴 했지만서도.
'태그'쪽이 AWS보다는 편의성이랄지 태그를 통해서 연결된 리소스를 찾기 편해보입니다. 사실 (AWS)cloudWatch통해 서버 이미지 백업/오래된 이미지 삭제를 세팅할 때 정도긴 했지만서도.
2) 터미널 접속 📂 |
네트워크 보안 그룹(NSG)을 확인해봅니다.
▼ 3. 기타 |
1) 개인적인 분석 📂 |
💬 AWS는 EC2메인 상단에 가상머신들이 다 모여있고, 생성된 리소스들은 EC2메인의 각 카테고리마다 모여있던거하고 달리 가상머신 중심으로 가상머신 하위메뉴로 배치.
💬 여러 서비스와 환경별 서버를 세팅/관리하게 되면 이쪽이 리소스 관리에 좀 더 용이할텐데, 뭐든 상황이나 목적에 따라 장단점이 있으니 CSP별 서비스의 특징 파악이 도메인 지식으로 좋죠.
로드밸런서 in 애저 => 부하 분산/부하 분산 장치
상태 프로브 => (프로토콜을 http/https로 두고)health check
가상 머신 확장 집합(VMSS) => 오토 스케일링
2) PostgreSQL 📂 |
Azure Database for PostgreSQL과 Azure Database for PostgreSQL 유연한 서버 차이?
→ 'Azure Database for PostgreSQL'쪽이 구형 버전으로 윈도우만 지원이라 함.
3) 코드를 통한 Blob 업로드 📂 |
AWS로 업무하면서 빈번히 쓰이는 CLI를 bat으로 묶어서 기획자가 데이터 테이블을 필요에 따라 배포 및 적용이 가능하게 처리를 했는데, MS 애저쪽 튜토리얼은 파이썬으로 하는것이 먼저 나오더군요.
그런데 [🔗정재화 교수님의 예제코드]로 이미지 파일을 올려서 URL을 통한 퍼블릭 공개를 확인해보니 브라우저에서 이미지 파일이 디스플레이되지 않고 그대로 다운로드... 설마하고 코드를 통해 업로드된 파일의 세부사항을 보니 역시나.
💬 AWS sdk에도 겪은거지만, blob업로드시 content type에 application/octet-stream이 기본값이다보니 원하는대로 써먹기 위해 upload_blob함수의 content_type필드에 원하는 사양 입력합니다.(예: image/jpeg)... ... ... file_name = "uploadTest.jpg" container_client = blob_service_client.get_container_client(container=container_name) print("\nUploading to Azure Storage as blob:\n\t" + file_name) opts = "image/jpeg" with open(file=os.path.join('', file_name), mode="rb") as data: blob_client = container_client.upload_blob(name=file_name, data=data, content_type=opts, overwrite=True) ... ... ... |
4) FaaS, 함수앱 📂 |
- (learn.microsoft)Azure Functions 호스팅 옵션
▼ 기타. 참조자료 |
1) 튜터링 사이트 |
사이트명 |
|
learn.microsoft(한글) | AWS 전문가를 위한 Azure - AWS와 Azure 서비스 비교 (갱신: 2024-08-14) - Azure Functions 호스팅 옵션 (접속: 2025-02-04) Azure Storage 설명서 - Python을 사용하여 Blob 속성 및 메타데이터 관리 (갱신: 2024-08-23) |
2) 블로그 📂 |
AZ-900TKR-MicrosoftAzureFundamentals, "07 - Azure Functions 구현" (접속: 2025-02-04) https://microsoftlearningkoreanlab.github.io/AZ-900TKR-MicrosoftAzureFundamentals/Instructions/Walkthroughs/07-Implement%20Azure%20Functions.html.
jaehwachung/cloud_computing, "upload_blob.py", (접속: 2025-02-04) https://github.com/jaehwachung/cloud_computing/blob/main/blob_storage/upload_blob.py.
▼ 기타. 변경 내력 |
일자
|
변경 내력 |
2025-02-04 | 초안 및 일반 공개. [🔗blogger] [🔗티스토리]. 포스팅 신규 양식 적용(ver.202408) |
'📂게임개발 note > 클라우드 & 서버' 카테고리의 다른 글
토이프로젝트 로컬 환경용 도커 -스프링부트 기준- (0) | 2025.01.08 |
---|---|
스프링부트: 기초 및 입문 (2) (0) | 2023.04.09 |
스프링부트: 기초 및 입문 (1) (0) | 2023.03.16 |
우분투: 레드마인 설치 (0) | 2019.06.30 |
AWS: 원격 캐싱서버, Redis&memcached (0) | 2019.06.06 |