2018년 7월30, 31, 8월1 일까지 3일간 AWS 강의를 진행하였습니다. 

강의 장소는 Skill Support 에서 진행하였으며, 교제는 "탄력적 개발로 이끄는 AWS 실천 기술" 을 사용하였습니다. 


AWS 강의 내용을 총 정리해보면 아래의 내용이 됩니다. 


아래의 그림을 다같이 실습을 해보았습니다. (CF는 많은 내용을 생략하였습니다)




[aws 인프라 솔류션 구현]

1. aws console 에 로그인

2. "Service" 클릭 후 VPC 검색

3. VPC 메뉴중 좌측의 "Your VPCs" 선택

4. "Create VPC" 클릭

5-1. Name Tag 에 식별이 가능한 VPC 이 이름 작성 ex) EC_Seoul_VPC

5-2. IPv4 CIDR block 에 사용하고자 하는 CIDR 값 작성, 최대 16bit 까지 작성가능 ex) 10.0.0.0/16

5-3. IPv6 CIDR block 는 IPv6 를 사용하는경우 "Amazon provided IPv6 CIDR block 를 선택해 진행

5-4. Tenancy 는 "Default" 로 기본세팅 선택


6. VPC 메뉴중 "Subnets" 클릭

7. "Create subnet" 을 클릭하여서 세로 생성한 VPC 에서 사용할 Subnet 생성작업 시작

7-2. Name Tag 에 식별이 가능한 Subnet 이 이름 작성 ex) EC_Seoul_Subnet_A

7-3. Subnet이 속할 VPC 를 선택

7-4. Availability Zone 에서 Subnet 이 속할 가용영역 선택

7-5. IPv4 CIDR block 에서 Subnet이 사용할 CIDR 값 작성, 최대값은 Subnet 이 속할 CIDR 을 넘어갈수 없음

7-6. "Create" 버튼을 클릭 하여서 Subnet을 생성

8. 해당 Region 이 속해있는 가용영역별로 Subnet 을 나누어 주는것이 좋으며, 최소 2개의 Subnet을 동일하게 구성, 7~7-6의 작업을 다시한번 진행


9. VPC 메뉴중 "Internet Gateways" 클릭

10. "Create internet gateway" 버튼을 클릭

11. Name tag 에 식별이 가능한 Internet Gateway 이름 작성 ex)EC_Seoul_IGW

12. "Create" 버튼을 클릭하여서 Internet Gateway 생성

13. 새로 생성된 Internet Gateway 를 선택후 "Actions" 버튼을 클릭후 "Attach to VPC" 클릭

14. Attach 를 할 VPC 선택, "Attach" 버튼을 클릭하여서 Attach 작업 실행


15. VPC 메뉴중 "Route Tables" 클릭

16. "Create Route Table" 클릭 후 Name tag 에 식별이 가능한 Route Table 이름 작성 ex)EC_Seoul_RouteTable

16-1. 새로 생성할 Route Table 이 적용될 VPC 선택

17. 새로 생성된 Route Table 을 선택 후 "Subnet Associations" Tab 을 클릭, "Edit" 버튼 클릭

18. "Routes" Tab 을 클릭 후 "Edit" 를 클릭, Destination 에 "0.0.0.0/0", Target 에 igw-xxxxxx 선택 후 "SAVE" 클릭


19. "Service" 클릭 후 EC2 검색

20. EC2 메뉴중 INSTANCES 의 "Instances" 클릭

21. "Launch Instance" 클릭

22. Choose AMI 에서 Amazon Linux AMI "Select"

23. Choose Instance Type 중에서 t2.micro type 체크 후 "Configure Instance Details" 클릭

24-1. Number of instances 는 숫자 1(Default)

24-2. Purchasing option 은 체크 하지 않음

24-3. Network 는 새로 생성한 VPC 선택

24-4. Subnet 에서 No preference 를 선택하면 임의의 Subnet 으로 ec2 가 들어가기때문에 Subnet 선택

24-5. Auto-assign Public IP 에서 공인 IP가 필요하기에 Enable 선택 (Default 가 Enable로 되어 있음)

24-6. Placement group 옵션 체크 안함

24-7. IAM role 은 None 으로 선택안함

24-8. Shutdown befavior 은 Default 인 stop 으로 선택

24-9. Enable termination protection 은 Default 유지 (선택안함)

24-10. Monitoring 상세모니터링은 추가 과금이 들어감, Default 유지(선택안함)

24-11. Tenancy 는 Default 인 Shared - Run a shared hardware instance 로 진행

24-12. T2 Unlimited 도 Default(선택안함) 유지

24-13. Advanced Details 에서 추가 작업해야할것 없음

25. "Next: Add Storage" 클릭

26-1. Size 를 최대 30GB 까지 Free tire 가 지원함 기본인 8GB 로 진행

26-2. Volume Type 도 Default 유지 GP2 (General Purpose SSD) 

27. "Next: Add Tags" 클릭

28. Add Tag 를 클릭하여서 Key, Value 값을 적절히 입력한 후 "Next: Configure Security Group" 클릭

29-1. Assign a security group 에서 Create a new security group 을 선택

29-2. Security group name 에 인식가능한 이름 입력

29-3. Description 에 해당 Security Group 에 대한 설명 입력

29-4. Linux AMI 를 선택하게되면 기본적으로 SSH 관련된 Rule 은 입력되어 있음

29-5. Add rule 를 클릭 후 Type 은 http, Source 에 0.0.0.0/0 작성

30. "Review and Launch" 클릭

31. Review 에서 설정들을 확인한 후 문제가 없을시 "Launch" 를 클릭하여서 EC2 생성

32-1. Create a new key pair 을 선택 후 Key pair name 을 입력, Download Key Pair 을 클릭해서 Key pair 다운로드

32-2. Launch Instances 를 입력해서 최종 생성작업 진행

33. "View Instance" 를 클릭하여서 instance dashboard 화면에서 instance launch 된 것 확인


34-1. VPC 에서 RDS 용 Subnet 각 AZ 별로 하나씩 생성 (6~8)

34-2. VPC 를 선택후 Action 에서 DNS Hostname 을 Yes 로 변경

35. "Service" 클릭 후 RDS 검색

36. RDS 좌측 메뉴중 "Subnet groups" 클릭

37. "Create DB Subnet Group" 클릭

38-1. Name 에 식별 가능한 이름 작성

38-2. Description 에 설명 작성

38-3. VPC 에서 RDS 의 VPC 선택

38-4(둘중하나). Add subnets 에서 "Add all the subnets related to this VPC" 클릭후 Subnets in this subnet group 에서 사용안하는 subnet remove

38-4(둘중하나). Availability zone 에서 ap-northeast-2a 선택, Subnet 에서 DB용으로 사용될 Subnet 선택 후 "Add subnet" 버튼클릭 / C AZ도 동일 작업진행

38-5. 선택이 완료되었으면, Create 버튼 클릭

39. "Parameter groups" 을 클릭

40. "Create parameter group" 클릭

40-1. Parameter group family 에서 RDS 에서 사용될 engine 및 버전정보 선택 ex)mysql5.6

40-2. Group name 작성

40-3. Description 작성

40-4. "Create" 클릭

41. Option groups 클릭

42. Create group 클릭

43-1. Name 에 식별 가능한 이름 작성

43-2. Description 에 설명 작성

43-3. Engine 에 RDS에서 사용할 Engine 선택 ex)mysql

43-4. Major engine version 에서 버전정보 선택 ex)5.6

43-5. "Create" 클릭

44. Instances 클릭

45. RDS 생성할 Engine 선택(free tire 은 미리 옵션 선택)

46. 기본 옵션으로 진행하되, Setting 부분에서 DB instance identifier 과 master username, password 설정

47. RDS 가 생성될 VPC 선택 및 Subnet Group 선택

48. 외부 접속여부 확인 (Public Accessibility)

49. 가용영역 선택

50. VPC Security Groups 선택

51. Database Options 에서 Database name 작성(나머지는 기본옵션)

52. 암호화 여부 확인 (Default 는 암호화 없음)

53. backup 관련 설정 확인 (Default 는 7일치 백업)

54. 상세한 모니터링을 할것인지 확인 (상세한 모니터링은 추가 과금이 됩니다.)

55, Log Exports 관련 설정 진행(Default 는 아무런 로그도 선택되어 있지 않습니다.)

56. 유지보수에 대한 옵션 확인(자동 마이너버전 업그레이드, Default 는 자동 업그레이드 입니다.)

57. Create Database 로 RDS 생성


58. VPC 에서 ELB 용 Subnet 각 AZ 별로 하나씩 생성 (6~8)

59. "Service" 클릭 후 EC2 검색

60. 좌측 메뉴중 LOAD BALANCING 에서 "Load Balancers" 클릭

61. "Create Load Balancer" 클릭

62. Classic Load Balancer 의 "Create" 클릭

63-1. Load Balancer name 에서 식별 가능한 이름 작성(서비스도메인으로 사용됨, Only a-z, A-Z, 0-9 and hyphens 만 가능

63-2. Create LB Inside 에서 사용할 VPC 선택

63-3. Create an internal load balancer, Enable advanced VPC configuration 옵션은 선택 안함

63-4. Listener Configuration 에서 Default 설정인 HTTP / 80 / HTTP / 80 설정 유지

63-5. "Next: Assign Security Groups" 클릭

64-1. Create a new security group 을 선택

64-2. Security group name 에 식별 가능한 이름 작성

64-3. Description 에 설명 작성

64-4. 기본 Rule 인 TCP / 80 / 0.0.0.0/0 설정 유지 (Port 와 목적지가 달라질 경우 수정)

64-5. "Next: Configure Security Settings" 클릭

65. SSL 인증서에 대한 부분은 없음으로 "Next: Configure Health Check" 클릭

66. Ping Protocol 만 TCP 로 수정, 나머지는 기본값으로 모니터링 / "Next: Add EC2 Instances" 클릭

67. ELB 에 서비스될 EC2 선택, 나머지 기본 옵션은 Default 유지 / "Next: Add Tags" 클릭

68. 적절한 Tag 값 입력 후 "Review and Create" 클릭

69. 설정을 다시한번 확인 한 후 "Create" 클릭


70. "Service" 클릭 후 EC2 검색

71. EC2 메뉴중 좌측의 AUTO SCALING 에서 "Launch Configurations" 클릭

72. Choose AMI 에서 My AMIs 클릭, AutoScaling 에 사용할 이미지 선택 후 "Select" 클릭

73. Choose Instance Type 에서 AutoScaling 에 사용할 Instance Type 선택 후 "Next: Configure datails" 클릭

74. Configure details 에서 Name 에 인식이 가능한 이름, 그 외에는 전부 Default 옵션으로 진행 "Next:Add Storage" 클릭

75. Add Storage 에서는 이미지가 가진 스토리지 Size 로 진행되면됨 "Next:Configure Security Group" 클릭

76. Configure Security Group 에서 AutoScaling 에 사용될 Security Group 선택 "Select an exitsting security group" 후 "Review" 클릭

77. Review 에서 설정한 내용들에 대해서 확인 후 "Create launch configuration" 클릭

78. Key pair 선택 후 "Create launch configuration"클릭

79. "Create an Auto Scaling group using this launch configuration" 클릭

80. Group name 작성, Group size 는 0 으로 초기값 설정, 사용될 Network 선택, Subnet 선택 후 "Next:Configure scaling policies" 클릭

81. Configure scaling policies 에서 Keep this group at its initial size 선택 (구체적인 정책은 추 후 추가) "Next:Congifure Notifacations" 클릭

82. Configure Notifacations 은 알람에 대한 내용, 알람을 추가하지 않음 "Next: Configure Tags" 클릭

83. Configure Tags 는 추 후 작성 "Review" 클릭

84. 작성한것이 이상없으면 "Create Auto Scaling group" 을 클릭


85. "Service" 클릭 후 S3 검색

86. "Create bucket" 을 눌러서 버킷 생성

87. "Bucket name" 에서 사용할 Name 작성, Region 은 사용중은 Region 선택 ex)Seoul "Create" 클릭해서 생성

88. 새로 생성한 Bucket 을 클릭 "upload" 버튼을 클릭

89. static hosting 을 할 간단한 이미지 파일을 Drag and drop 으로 업로드, "Upload" 클릭

90. 올린 파일 선택 후 Permissions 을 수정 "Public access" 에 Everyone 클릭, List/Write objects 선택, Read/Write bucket permissions 선택 후 "Save" 버튼 클릭


[VPC 생성 가이드]

https://docs.aws.amazon.com/ko_kr/AmazonVPC/latest/UserGuide/getting-started-ipv4.html


[EC2 생성 가이드]

https://aws.amazon.com/ko/ec2/getting-started/


[RDS 생성 가이드]

https://aws.amazon.com/ko/rds/getting-started/


[S3 생성 가이드]

https://aws.amazon.com/ko/s3/getting-started/


[ELB 생성 가이드]

https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-getting-started.html


[AutoScaling 생성 가이드]

https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html


[CloudFront 생성 가이드]

https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.html


[Route53 생성 가이드]

https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/getting-started.html



AWS 업무를 하면서 위의 내용처럼 따라하기식의 포스팅을 한적이 없지만, 강의를 하다보며 느낀점은 내가 기술을 습득한 방법을 그대로 알려주는건 강의를 듣는 사람들에게 독을 주는거와 같은거라는 것을 깨닿게 되었습니다. 


지식의 습득도 중요하지만 지식의 전달도 중요하다는것을 느낀 강의였습니다.


강의를 할수 있는 기회를 준 스킬서포트 관계자분께 감사의 말씀을 드립니다. 


'강의자료' 카테고리의 다른 글

Linux 5일 강의 (KREN) (작성중)  (0) 2018.09.26

+ Recent posts