SlideShare une entreprise Scribd logo
1  sur  15
ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LỚP HTTT-2014B
MÔN ĐIỆN TOÁN ĐÁM MÂY
TIỂU LUẬN
TÌM HIỂU VỀ AMAZON EC2 API
Học viên thực hiện: NguyễnQuý Dương
Mã học viên: CB140133
Giảng viên hướng dẫn : TS.NguyễnBình Minh
Hà Nội, tháng 04/2015
1. Giới thiệu về Amazon EC2
Amazon EC2 (viết tắt của từ Elastic Compute Cloud) là một dịch vụ web cung
cấp máy chủ ảo thông qua hình thức điện toán đám mây (cloud computing).
Điểm nổi bật của Amazon EC2 là khả năng "co giãn" (elastic) của tài nguyên hệ
thống. Nói cho dễ hiểu tức là mình có thể điều chỉnh cấu hình của máy chủ trên
thời gian thực tùy theo nhu cầu sử dụng. Điều này khiến cho việc scaling hết
sức dễ dàng tiện lợi. Ngoài ra, Amazon còn tối thiểu hóa chi phí thuê máy chủ
cho người thuê bằng hình thức thu phí theo nhu cầu sử dụng, cụ thể là chỉ khi
nào sử dụng máy chủ mới tính tiền. Một điểm khác cũng nên nói đến đó là máy
chủ của Amazon EC2 chạy trên cơ sở hạ tầng mà ngay chính Amazon đang sử
dụng nên độ tin cậy rất cao.
Đặc điểm của Amazon EC2
 Môi trường tính toán ảo hóa, được biết như instances
 Các mẫu được định nghĩa trước cho instances, được biết như Amazon
Machine Images (AMIs), cung cấp các gói phần mềm cần thiết cho máy
chủ (gồm hệ điều hành và các phần mềm)
 Các cấu hình khác nhau của CPU, memory, storage, và networking cho
instances, được biết như instance types
 Bảo mật thông tin đăng nhập đến isntances dùng key pairs (AWS lưu
public key, bạn sẽ lưu private key ở nơi an toàn)
 Lưu trữ dữ liệu tạm thời, sẽ bị xóa khi dừng hoặc hủy instance, được biết
như instance type volumes
 Lưu trữ dữ liệu lâu dài dùng Amazon Elastic Block Store (EBS), được
biết như Amazon EBS volumes
 Tách biệt tài nguyên như instances và Amazon EBS volumes trên các
vùng lưu trữ vật lý ở nhiều vị trí, được biết như regions và Availability
Zones
 Firewall cho phép chỉ định protocols, ports, và sourceIP ranges được
phép truy xuất đến instances dùng security groups
 Địa chỉ Static IP được biết như Elastic IP addresses
 Metadata, được biết như tags, mà bạn có thể tạo và gán cho Amazon EC2
resources
Các mạng ảo mà bạn có thể tạo để cô lập với phần cònlại của AWS cloud,
và bạn có thể tùy chọn kết nối đến mạng của riêng mình, được biết như
virtual private clouds (VPCs)
2. Amazon EC2 API là gì
Amazon EC2 API là bộ danh sách các hàm cho phép nhà phát triển có thể
tương tác với Amazon EC2 hoặc máy chủ Amazon Virtual Private Cloud
(Amazon VPC).
Để sử dụng EC2 API ta có một số công cụ như sau:
AWS Command Line Interface (CLI)
Cung cấp các lệnh cho hầu hết các sản phẩm của AWS, được hỗ trợ trên
Windows, Mac và Linux.
Amazon EC2 Command Line Interface (CLI) Tools
Cung cấp các lệnh cho Amazon EC2, Amazon EBS, và Amazon VPC, được
hỗ trợ trên Windows, Mac và Linux.
AWS Tools for Windows PowerShell
Cung cấp các lệnh cho hầu hết các sản phẩm của AWS cho môi trường
Windows PowerShell.
Amazon EC2 cung cấp Query API. Các yêu cầu gọi hàm thuộc dạng HTTP
và HTTPS dùng HTTP verbs GET và POST và Query parameter tên Action.
Nếu bạn muốn xây dựng ứng dụng dùng 1 ngôn ngữ cụ thể thay vì gọi các
yêu cầu thông qua HTTP hoặc HTTPS, AWS cung cấp các thư viện, mã
nguồn, các bài tự học, và các tài nguyên khác cho người phát triển phần
mềm. Đây chính là AWS SDKs and Tools.
Để có thể sử dụng được các API với EC2 cần có kiến thức về
 XML
 Web services
 HTTP Request
do đây chính là cách thức để gọi các hàm hay kiểu dữ liệu sẽ trả về sau lời
gọi.
Các công cụ sử dụng EC2 API
Amazon API Tool
Là công cụ trên client cho phép sử dụng các hàm API để tác động tới
EC2 qua webservice. Các công cụ này được sử dụng để đăng ký, thao tác
bảo mật, khởi động ứng dụng …
Query Requests
Là các truy vấn qua HTTP hoặc HTTPS thông qua việc sử dụng phương
thức GET hoặc POST và một danh sách các tham số đi kèm.
Amazon Command Line Interface tool
Các công cụ giao diện dòng lệnh Amazon EC2 (còn gọi là các công cụ
CLI) bao gồm tất cả các hàm EC2 API. Những công cụ này được viết bằng
Java và bao gồm các kịch bản shell cho cả Windows và Linux / Unix / Mac
OSX
3. Tìm hiểu về các API trong Amazon EC2 API
Cấu trúc của một API trong EC2 gồm các thành phần đáng chú ý như
sau:
Lời gọi hàm (tên hàm): Tương ứng với các thao tác mà người sử dụng
muốn tác động hoặc lấy thông tin trả về từ EC2
Parameters: Danh sách các đối số của lời gọi hàm. Để thực hiện một API
cần cung cấp cho nó các tham số đầu vào.
ResponseElements: Các đối tượng trả về khi thực hiện một hàm. Thường
được đóng gói trong một file XML
Errors: Khi lời gọi hàm không thực hiện được hoặc phát sinh ra lỗi thì nó
trả về mã lỗi.
Ví dụ về API:
Hàm AllocateAddress
Mô tả:
Được sử dụng đểthiết lập một địa chỉ IP cho EC2 hoặc VPC
Các tham số truyền vào:
Domain
Địa chỉ được thiết lập tới VPC
Kiểu dữ liệu: String
Dữ liệu trả về
Dữ liệu trả về là một cấu trúc gồm nhiều thực thể có tên là
AllocateAddressResponse. Dạng XML và nó bao gồm các thành phần sau:
requestId
The ID of the request.
Type: xsd:string
publicIp
The Elastic IP address.
Type: xsd:string
domain
Indicates whether this Elastic IP address is for use with instances in EC2-Classic
(standard) or instances in a VPC (vpc).
Type: xsd:string
Valid values: standard | vpc
allocationId
[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP
address for use with
a VPC.
Type: xsd:string
Các lỗi có thể xẩy ra
Mã lỗi khi trả về có thể tra trong bảng danhsách lỗi của EC2 API. Một
trong những lỗi thường gặp là AddressLimitExceeded
Ví dụ ta có lời gọi hàm như sau:
https://ec2.amazonaws.com/?Action=AllocateAddress
&AUTHPARAMS
Lời gọi trên yêu cầu một địa chỉ IP để sử dụng cho instances trong EC2
Dữ liệu trả về:
<AllocateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">
<requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
<publicIp>192.0.2.1</publicIp>
<domain>standard</domain>
</AllocateAddressResponse>
Danh sách các API được liệt kê trong phần phụ lục hoặc tham khảo trong tài
liệu eBook của Amazon EC2 API.
4. Cài đặt và tìm hiểu về các API cho nhà phát triển
Amazon cung cấp công cụ giúp cho nhà phát triển, các lập trình viên sử
dụng công cụ lập trình để gọi các hàm API từ các ngôn ngữ lập trình.
Trên môi trường Windows ta sử dụng bộ SDKs For.Net
Sau khi tải bộ SDK từ http://aws.amazon.com/sdkfornet ta tiến hành cài
đặt như sau:
Bước 1: Nháy đúp vào bộ setup đã tải về để tiến hành cài đặt
Bước 2:
Bước 3: Lựa chọn các tùy chọn và hoàn tất quá trình cài đặt
Sau khi cài đặt ta có thể dụng Visual Studio tạo một dự án và sử dụng bộ
SDK để lập trình tương tác với các ứng dụng AWS và EC2
Để sử dụng VS mở một project với EC2 ta thực hiện như sau:
Vào menu view chọn AWS Explorer
Nhập các thông số cấu hình để kết nối tới AWS
Sau khi kết nối thông số sẽ hiển thị trong VS với thông tin như sau:
Ngoài SDK kể trên thì một công cụ phổ phiến được sử dụng để thao tác
trên Windows là công cụ CLI tools (Command Line Interface tools). Bộ
công cụ này được viết bằng Java và cần cài môi trường Java để sử dụng.
5. Tài liệu tham khảo
[1] http://aws.amazon.com/developertools/Amazon-EC2/351 Amazon API
Tool
[2] Ebook: Amazon Elastic Compute Cloud API Reference
Phụ lục: Danh sáchcác hàm trong ebook của Amazon (phiên bản
1/10/2014)
Account Attributes
• DescribeAccountAttributes (p. 181)
Amazon DevPay
• ConfirmProductInstance (p. 57)
AMIs
• CopyImage (p. 59)
• CreateImage (p. 69)
• DeregisterImage (p. 179)
• DescribeImageAttribute (p. 206)
• DescribeImages (p. 209)
• ModifyImageAttribute (p. 393)
• RegisterImage (p. 423)
• ResetImageAttribute (p. 453)
Bundle Tasks
• BundleInstance (p. 42)
• CancelBundleTask (p. 45)
• DescribeBundleTasks (p. 191)
Customer Gateways(Amazon VPC)
• CreateCustomerGateway (p. 64)
• DeleteCustomerGateway (p. 138)
• DescribeCustomerGateways (p. 196)
Amazon Elastic Compute Cloud API Reference
DHCP Options (Amazon VPC)
• AssociateDhcpOptions (p. 22)
• CreateDhcpOptions (p. 66)
• DeleteDhcpOptions (p. 140)
• DescribeDhcpOptions (p. 200)
Elastic Block Store
• AttachVolume (p. 30)
• CopySnapshot(p. 61)
• CreateSnapshot (p. 110)
• CreateVolume (p. 121)
• DeleteSnapshot (p. 160)
• DeleteVolume (p. 168)
• DescribeSnapshotAttribute (p. 297)
• DescribeSnapshots (p. 300)
• DescribeVolumeAttribute (p. 329)
• DescribeVolumes (p. 331)
• DescribeVolumeStatus (p. 337)
• DetachVolume (p. 364)
• EnableVolumeIO (p. 377)
• ModifySnapshotAttribute (p. 405)
• ModifyVolumeAttribute (p. 409)
• ResetSnapshotAttribute (p. 459)
Elastic IP Addresses
• AllocateAddress (p. 13)
• AssociateAddress (p. 19)
• DescribeAddresses (p. 184)
• DisassociateAddress (p. 371)
• ReleaseAddress (p. 430)
Elastic Network Interfaces (Amazon VPC)
• AssignPrivateIpAddresses (p. 16)
• AttachNetworkInterface (p. 28)
• CreateNetworkInterface (p. 86)
• DeleteNetworkInterface (p. 150)
• DescribeNetworkInterfaceAttribute (p. 252)
• DescribeNetworkInterfaces (p. 254)
Amazon Elastic Compute Cloud API Reference
• DetachNetworkInterface (p. 362)
• ModifyNetworkInterfaceAttribute (p. 400)
• ResetNetworkInterfaceAttribute (p. 457)
• UnassignPrivateIpAddresses (p. 483)
Instances
• DescribeInstanceAttribute (p. 217)
• DescribeInstances (p. 221)
• DescribeInstanceStatus (p. 233)
• GetConsoleOutput (p. 379)
• GetPasswordData (p. 381)
• ModifyInstanceAttribute (p. 396)
• MonitorInstances (p. 413)
• RebootInstances (p. 421)
• ReportInstanceStatus (p. 442)
• ResetInstanceAttribute (p. 455)
• RunInstances (p. 467)
• StartInstances (p. 477)
• StopInstances (p. 479)
• TerminateInstances (p. 481)
• UnmonitorInstances (p. 485)
Internet Gateways (Amazon VPC)
• AttachInternetGateway (p. 26)
• CreateInternetGateway (p. 76)
• DeleteInternetGateway (p. 142)
• DescribeInternetGateways (p. 240)
• DetachInternetGateway (p. 360)
Key Pairs
• CreateKeyPair (p. 78)
• DeleteKeyPair (p. 144)
• DescribeKeyPairs (p. 243)
• ImportKeyPair (p. 387)
Network ACLs (Amazon VPC)
• CreateNetworkAcl (p. 81)
• CreateNetworkAclEntry (p. 83)
Amazon Elastic Compute Cloud API Reference
• DeleteNetworkAcl (p. 146)
• DeleteNetworkAclEntry (p. 148)
• DescribeNetworkAcls (p. 246)
• ReplaceNetworkAclAssociation (p. 432)
• ReplaceNetworkAclEntry (p. 434)
PlacementGroups
• CreatePlacementGroup (p. 91)
• DeletePlacementGroup (p. 152)
• DescribePlacementGroups (p. 260)
Regions and Availability Zones
• DescribeAvailabilityZones (p. 188)
• DescribeRegions (p. 263)
ReservedInstances
• CancelReservedInstancesListing (p. 51)
• CreateReservedInstancesListing (p. 93)
• DescribeReservedInstances (p. 266)
• DescribeReservedInstancesListings (p. 270)
• DescribeReservedInstancesModifications (p. 274)
• DescribeReservedInstancesOfferings (p. 278)
• ModifyReservedInstances (p. 403)
• PurchaseReservedInstancesOffering (p. 415)
Route Tables (Amazon VPC)
• AssociateRouteTable (p. 24)
• CreateRoute (p. 102)
• CreateRouteTable (p. 105)
• DeleteRoute (p. 154)
• DeleteRouteTable (p. 156)
• DescribeRouteTables (p. 287)
• DisableVgwRoutePropagation (p. 369)
• DisassociateRouteTable (p. 373)
• EnableVgwRoutePropagation (p. 375)
• ReplaceRoute (p. 437)
• ReplaceRouteTableAssociation (p. 440)
Amazon Elastic Compute Cloud API Reference
Security Groups
• AuthorizeSecurityGroupEgress (p. 35) (EC2-VPC only)
• AuthorizeSecurityGroupIngress (p. 38)
• CreateSecurityGroup (p. 107)
• DeleteSecurityGroup (p. 158)
• DescribeSecurityGroups (p. 292)
• RevokeSecurityGroupEgress (p. 461) (EC2-VPC only)
• RevokeSecurityGroupIngress (p. 464)
Spot Instances
• CancelSpotInstanceRequests (p. 54)
• CreateSpotDatafeedSubscription (p. 113)
• DeleteSpotDatafeedSubscription (p. 162)
• DescribeSpotDatafeedSubscription (p. 305)
• DescribeSpotInstanceRequests (p. 307)
• DescribeSpotPriceHistory (p. 315)
• RequestSpotInstances (p. 445)
Subnets (Amazon VPC)
• CreateSubnet (p. 115)
• DeleteSubnet (p. 163)
• DescribeSubnets (p. 319)
• ModifySubnetAttribute (p. 407)
Tags
• CreateTags (p. 118)
• DeleteTags (p. 165)
• DescribeTags (p. 323)
VM Import
• CancelConversionTask (p. 47)
• DescribeConversionTasks (p. 194)
• ImportInstance (p. 383)
• ImportVolume (p. 390)
VM Export
• CancelExportTask (p. 49)
• CreateInstanceExportTask (p. 73)
Amazon Elastic Compute Cloud API Reference
• DescribeExportTasks (p. 204)
VPCs (Amazon VPC)
• CreateVpc (p. 126)
• DeleteVpc (p. 170)
• DescribeVpcAttribute (p. 342)
• DescribeVpcs (p. 348)
• ModifyVpcAttribute (p. 411)
VPC Peering Connections (Amazon VPC)
• AcceptVpcPeeringConnection (p. 12)
• CreateVpcPeeringConnection (p. 128)
• DeleteVpcPeeringConnection (p. 171)
• DescribeVpcPeeringConnections (p. 344)
• RejectVpcPeeringConnection (p. 428)
VPN Connections (Amazon VPC)
• CreateVpnConnection (p. 131)
• CreateVpnConnectionRoute (p. 134)
• DeleteVpnConnection (p. 173)
• DeleteVpnConnectionRoute (p. 175)
• DescribeVpnConnections (p. 352)
Virtual Private Gateways(Amazon VPC)
• AttachVpnGateway (p. 33)
• CreateVpnGateway (p. 136)
• DeleteVpnGateway (p. 177)
• DescribeVpnGateways (p. 356)
• DetachVpnGateway (p. 367)

Contenu connexe

Tendances

HDP - Dien Toan Dam May - Quan Ly Phong Kham Truc Tuyen
HDP - Dien Toan Dam May - Quan Ly Phong Kham Truc TuyenHDP - Dien Toan Dam May - Quan Ly Phong Kham Truc Tuyen
HDP - Dien Toan Dam May - Quan Ly Phong Kham Truc TuyenHuu Phan
 
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...Le Cuong
 
Tìm hiểu về điện toán đám mây
Tìm hiểu về điện toán đám mâyTìm hiểu về điện toán đám mây
Tìm hiểu về điện toán đám mâyTam Pham Minh
 
Giải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏ
Giải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏGiải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏ
Giải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏAiTi Education
 
Presentation điện toán đám mây
Presentation   điện toán đám mâyPresentation   điện toán đám mây
Presentation điện toán đám mâyxKinAnx
 

Tendances (7)

Cloud computing
Cloud computingCloud computing
Cloud computing
 
HDP - Dien Toan Dam May - Quan Ly Phong Kham Truc Tuyen
HDP - Dien Toan Dam May - Quan Ly Phong Kham Truc TuyenHDP - Dien Toan Dam May - Quan Ly Phong Kham Truc Tuyen
HDP - Dien Toan Dam May - Quan Ly Phong Kham Truc Tuyen
 
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
 
Tìm hiểu về điện toán đám mây
Tìm hiểu về điện toán đám mâyTìm hiểu về điện toán đám mây
Tìm hiểu về điện toán đám mây
 
Gioithieu cloud computing-phienbannhap
Gioithieu cloud computing-phienbannhapGioithieu cloud computing-phienbannhap
Gioithieu cloud computing-phienbannhap
 
Giải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏ
Giải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏGiải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏ
Giải pháp xây dựng đám mây riêng cho doanh nghiệp vừa và nhỏ
 
Presentation điện toán đám mây
Presentation   điện toán đám mâyPresentation   điện toán đám mây
Presentation điện toán đám mây
 

Similaire à Essay amazon ec2 api

Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Hiển Phùng
 
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpngohanty13
 
Amazon Cloud for High Performance Websites
Amazon Cloud for High Performance WebsitesAmazon Cloud for High Performance Websites
Amazon Cloud for High Performance WebsitesTrung Phan Thai
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStackMinh Le
 
Asp.net mvc 3 (c#) (9 tutorials) egroups vn
Asp.net mvc 3 (c#) (9 tutorials)   egroups vnAsp.net mvc 3 (c#) (9 tutorials)   egroups vn
Asp.net mvc 3 (c#) (9 tutorials) egroups vnNguyen Van Hung
 
Sử dụng dịch vụ điện toán đám mây
Sử dụng dịch vụ điện toán đám mâySử dụng dịch vụ điện toán đám mây
Sử dụng dịch vụ điện toán đám mâyPhamTuanKhiem
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#Dao Uit
 
Tu hoc microsoft asp.net
Tu hoc microsoft asp.netTu hoc microsoft asp.net
Tu hoc microsoft asp.netnamhh1984ag
 
Slide Web Service
Slide Web ServiceSlide Web Service
Slide Web Serviceask bills
 
Asp net
Asp netAsp net
Asp netquanvn
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHPNIIT - ICT Hà Nội
 

Similaire à Essay amazon ec2 api (20)

Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1
 
Asp control
Asp controlAsp control
Asp control
 
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharp
 
Introduction Vs2008 Dot Net35
Introduction Vs2008 Dot Net35Introduction Vs2008 Dot Net35
Introduction Vs2008 Dot Net35
 
Windows Aruze
Windows AruzeWindows Aruze
Windows Aruze
 
Asp
AspAsp
Asp
 
Giáo trình asp.net với c sharp
Giáo trình asp.net với c sharpGiáo trình asp.net với c sharp
Giáo trình asp.net với c sharp
 
Amazon Cloud for High Performance Websites
Amazon Cloud for High Performance WebsitesAmazon Cloud for High Performance Websites
Amazon Cloud for High Performance Websites
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStack
 
Asp.net mvc 3 (c#) (9 tutorials) egroups vn
Asp.net mvc 3 (c#) (9 tutorials)   egroups vnAsp.net mvc 3 (c#) (9 tutorials)   egroups vn
Asp.net mvc 3 (c#) (9 tutorials) egroups vn
 
Asp.net 3.5 _1
Asp.net 3.5 _1Asp.net 3.5 _1
Asp.net 3.5 _1
 
Sử dụng dịch vụ điện toán đám mây
Sử dụng dịch vụ điện toán đám mâySử dụng dịch vụ điện toán đám mây
Sử dụng dịch vụ điện toán đám mây
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
 
Tu hoc microsoft asp.net
Tu hoc microsoft asp.netTu hoc microsoft asp.net
Tu hoc microsoft asp.net
 
Slide Web Service
Slide Web ServiceSlide Web Service
Slide Web Service
 
Asp net
Asp netAsp net
Asp net
 
Tu hoc asp
Tu hoc aspTu hoc asp
Tu hoc asp
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Aspnet 3.5 -06
Aspnet 3.5 -06Aspnet 3.5 -06
Aspnet 3.5 -06
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
 

Essay amazon ec2 api

  • 1. ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LỚP HTTT-2014B MÔN ĐIỆN TOÁN ĐÁM MÂY TIỂU LUẬN TÌM HIỂU VỀ AMAZON EC2 API Học viên thực hiện: NguyễnQuý Dương Mã học viên: CB140133 Giảng viên hướng dẫn : TS.NguyễnBình Minh Hà Nội, tháng 04/2015
  • 2. 1. Giới thiệu về Amazon EC2 Amazon EC2 (viết tắt của từ Elastic Compute Cloud) là một dịch vụ web cung cấp máy chủ ảo thông qua hình thức điện toán đám mây (cloud computing). Điểm nổi bật của Amazon EC2 là khả năng "co giãn" (elastic) của tài nguyên hệ thống. Nói cho dễ hiểu tức là mình có thể điều chỉnh cấu hình của máy chủ trên thời gian thực tùy theo nhu cầu sử dụng. Điều này khiến cho việc scaling hết sức dễ dàng tiện lợi. Ngoài ra, Amazon còn tối thiểu hóa chi phí thuê máy chủ cho người thuê bằng hình thức thu phí theo nhu cầu sử dụng, cụ thể là chỉ khi nào sử dụng máy chủ mới tính tiền. Một điểm khác cũng nên nói đến đó là máy chủ của Amazon EC2 chạy trên cơ sở hạ tầng mà ngay chính Amazon đang sử dụng nên độ tin cậy rất cao. Đặc điểm của Amazon EC2  Môi trường tính toán ảo hóa, được biết như instances  Các mẫu được định nghĩa trước cho instances, được biết như Amazon Machine Images (AMIs), cung cấp các gói phần mềm cần thiết cho máy chủ (gồm hệ điều hành và các phần mềm)  Các cấu hình khác nhau của CPU, memory, storage, và networking cho instances, được biết như instance types  Bảo mật thông tin đăng nhập đến isntances dùng key pairs (AWS lưu public key, bạn sẽ lưu private key ở nơi an toàn)  Lưu trữ dữ liệu tạm thời, sẽ bị xóa khi dừng hoặc hủy instance, được biết như instance type volumes  Lưu trữ dữ liệu lâu dài dùng Amazon Elastic Block Store (EBS), được biết như Amazon EBS volumes  Tách biệt tài nguyên như instances và Amazon EBS volumes trên các vùng lưu trữ vật lý ở nhiều vị trí, được biết như regions và Availability Zones  Firewall cho phép chỉ định protocols, ports, và sourceIP ranges được phép truy xuất đến instances dùng security groups  Địa chỉ Static IP được biết như Elastic IP addresses  Metadata, được biết như tags, mà bạn có thể tạo và gán cho Amazon EC2 resources Các mạng ảo mà bạn có thể tạo để cô lập với phần cònlại của AWS cloud, và bạn có thể tùy chọn kết nối đến mạng của riêng mình, được biết như virtual private clouds (VPCs)
  • 3. 2. Amazon EC2 API là gì Amazon EC2 API là bộ danh sách các hàm cho phép nhà phát triển có thể tương tác với Amazon EC2 hoặc máy chủ Amazon Virtual Private Cloud (Amazon VPC). Để sử dụng EC2 API ta có một số công cụ như sau: AWS Command Line Interface (CLI) Cung cấp các lệnh cho hầu hết các sản phẩm của AWS, được hỗ trợ trên Windows, Mac và Linux. Amazon EC2 Command Line Interface (CLI) Tools Cung cấp các lệnh cho Amazon EC2, Amazon EBS, và Amazon VPC, được hỗ trợ trên Windows, Mac và Linux. AWS Tools for Windows PowerShell Cung cấp các lệnh cho hầu hết các sản phẩm của AWS cho môi trường Windows PowerShell. Amazon EC2 cung cấp Query API. Các yêu cầu gọi hàm thuộc dạng HTTP và HTTPS dùng HTTP verbs GET và POST và Query parameter tên Action. Nếu bạn muốn xây dựng ứng dụng dùng 1 ngôn ngữ cụ thể thay vì gọi các yêu cầu thông qua HTTP hoặc HTTPS, AWS cung cấp các thư viện, mã nguồn, các bài tự học, và các tài nguyên khác cho người phát triển phần mềm. Đây chính là AWS SDKs and Tools. Để có thể sử dụng được các API với EC2 cần có kiến thức về  XML  Web services  HTTP Request do đây chính là cách thức để gọi các hàm hay kiểu dữ liệu sẽ trả về sau lời gọi. Các công cụ sử dụng EC2 API Amazon API Tool Là công cụ trên client cho phép sử dụng các hàm API để tác động tới EC2 qua webservice. Các công cụ này được sử dụng để đăng ký, thao tác bảo mật, khởi động ứng dụng … Query Requests Là các truy vấn qua HTTP hoặc HTTPS thông qua việc sử dụng phương thức GET hoặc POST và một danh sách các tham số đi kèm. Amazon Command Line Interface tool
  • 4. Các công cụ giao diện dòng lệnh Amazon EC2 (còn gọi là các công cụ CLI) bao gồm tất cả các hàm EC2 API. Những công cụ này được viết bằng Java và bao gồm các kịch bản shell cho cả Windows và Linux / Unix / Mac OSX 3. Tìm hiểu về các API trong Amazon EC2 API Cấu trúc của một API trong EC2 gồm các thành phần đáng chú ý như sau: Lời gọi hàm (tên hàm): Tương ứng với các thao tác mà người sử dụng muốn tác động hoặc lấy thông tin trả về từ EC2 Parameters: Danh sách các đối số của lời gọi hàm. Để thực hiện một API cần cung cấp cho nó các tham số đầu vào. ResponseElements: Các đối tượng trả về khi thực hiện một hàm. Thường được đóng gói trong một file XML Errors: Khi lời gọi hàm không thực hiện được hoặc phát sinh ra lỗi thì nó trả về mã lỗi. Ví dụ về API: Hàm AllocateAddress Mô tả: Được sử dụng đểthiết lập một địa chỉ IP cho EC2 hoặc VPC Các tham số truyền vào: Domain Địa chỉ được thiết lập tới VPC Kiểu dữ liệu: String Dữ liệu trả về Dữ liệu trả về là một cấu trúc gồm nhiều thực thể có tên là AllocateAddressResponse. Dạng XML và nó bao gồm các thành phần sau: requestId The ID of the request. Type: xsd:string publicIp The Elastic IP address. Type: xsd:string domain Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc). Type: xsd:string
  • 5. Valid values: standard | vpc allocationId [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with a VPC. Type: xsd:string Các lỗi có thể xẩy ra Mã lỗi khi trả về có thể tra trong bảng danhsách lỗi của EC2 API. Một trong những lỗi thường gặp là AddressLimitExceeded Ví dụ ta có lời gọi hàm như sau: https://ec2.amazonaws.com/?Action=AllocateAddress &AUTHPARAMS Lời gọi trên yêu cầu một địa chỉ IP để sử dụng cho instances trong EC2 Dữ liệu trả về: <AllocateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/"> <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> <publicIp>192.0.2.1</publicIp> <domain>standard</domain> </AllocateAddressResponse> Danh sách các API được liệt kê trong phần phụ lục hoặc tham khảo trong tài liệu eBook của Amazon EC2 API. 4. Cài đặt và tìm hiểu về các API cho nhà phát triển Amazon cung cấp công cụ giúp cho nhà phát triển, các lập trình viên sử dụng công cụ lập trình để gọi các hàm API từ các ngôn ngữ lập trình. Trên môi trường Windows ta sử dụng bộ SDKs For.Net Sau khi tải bộ SDK từ http://aws.amazon.com/sdkfornet ta tiến hành cài đặt như sau: Bước 1: Nháy đúp vào bộ setup đã tải về để tiến hành cài đặt
  • 7. Bước 3: Lựa chọn các tùy chọn và hoàn tất quá trình cài đặt Sau khi cài đặt ta có thể dụng Visual Studio tạo một dự án và sử dụng bộ SDK để lập trình tương tác với các ứng dụng AWS và EC2 Để sử dụng VS mở một project với EC2 ta thực hiện như sau: Vào menu view chọn AWS Explorer
  • 8. Nhập các thông số cấu hình để kết nối tới AWS Sau khi kết nối thông số sẽ hiển thị trong VS với thông tin như sau:
  • 9. Ngoài SDK kể trên thì một công cụ phổ phiến được sử dụng để thao tác trên Windows là công cụ CLI tools (Command Line Interface tools). Bộ công cụ này được viết bằng Java và cần cài môi trường Java để sử dụng. 5. Tài liệu tham khảo [1] http://aws.amazon.com/developertools/Amazon-EC2/351 Amazon API Tool [2] Ebook: Amazon Elastic Compute Cloud API Reference
  • 10. Phụ lục: Danh sáchcác hàm trong ebook của Amazon (phiên bản 1/10/2014) Account Attributes • DescribeAccountAttributes (p. 181) Amazon DevPay • ConfirmProductInstance (p. 57) AMIs • CopyImage (p. 59) • CreateImage (p. 69) • DeregisterImage (p. 179) • DescribeImageAttribute (p. 206) • DescribeImages (p. 209) • ModifyImageAttribute (p. 393) • RegisterImage (p. 423) • ResetImageAttribute (p. 453) Bundle Tasks • BundleInstance (p. 42) • CancelBundleTask (p. 45) • DescribeBundleTasks (p. 191) Customer Gateways(Amazon VPC) • CreateCustomerGateway (p. 64) • DeleteCustomerGateway (p. 138) • DescribeCustomerGateways (p. 196) Amazon Elastic Compute Cloud API Reference DHCP Options (Amazon VPC) • AssociateDhcpOptions (p. 22) • CreateDhcpOptions (p. 66) • DeleteDhcpOptions (p. 140) • DescribeDhcpOptions (p. 200) Elastic Block Store • AttachVolume (p. 30) • CopySnapshot(p. 61) • CreateSnapshot (p. 110) • CreateVolume (p. 121) • DeleteSnapshot (p. 160)
  • 11. • DeleteVolume (p. 168) • DescribeSnapshotAttribute (p. 297) • DescribeSnapshots (p. 300) • DescribeVolumeAttribute (p. 329) • DescribeVolumes (p. 331) • DescribeVolumeStatus (p. 337) • DetachVolume (p. 364) • EnableVolumeIO (p. 377) • ModifySnapshotAttribute (p. 405) • ModifyVolumeAttribute (p. 409) • ResetSnapshotAttribute (p. 459) Elastic IP Addresses • AllocateAddress (p. 13) • AssociateAddress (p. 19) • DescribeAddresses (p. 184) • DisassociateAddress (p. 371) • ReleaseAddress (p. 430) Elastic Network Interfaces (Amazon VPC) • AssignPrivateIpAddresses (p. 16) • AttachNetworkInterface (p. 28) • CreateNetworkInterface (p. 86) • DeleteNetworkInterface (p. 150) • DescribeNetworkInterfaceAttribute (p. 252) • DescribeNetworkInterfaces (p. 254) Amazon Elastic Compute Cloud API Reference • DetachNetworkInterface (p. 362) • ModifyNetworkInterfaceAttribute (p. 400) • ResetNetworkInterfaceAttribute (p. 457) • UnassignPrivateIpAddresses (p. 483) Instances • DescribeInstanceAttribute (p. 217) • DescribeInstances (p. 221) • DescribeInstanceStatus (p. 233) • GetConsoleOutput (p. 379) • GetPasswordData (p. 381) • ModifyInstanceAttribute (p. 396)
  • 12. • MonitorInstances (p. 413) • RebootInstances (p. 421) • ReportInstanceStatus (p. 442) • ResetInstanceAttribute (p. 455) • RunInstances (p. 467) • StartInstances (p. 477) • StopInstances (p. 479) • TerminateInstances (p. 481) • UnmonitorInstances (p. 485) Internet Gateways (Amazon VPC) • AttachInternetGateway (p. 26) • CreateInternetGateway (p. 76) • DeleteInternetGateway (p. 142) • DescribeInternetGateways (p. 240) • DetachInternetGateway (p. 360) Key Pairs • CreateKeyPair (p. 78) • DeleteKeyPair (p. 144) • DescribeKeyPairs (p. 243) • ImportKeyPair (p. 387) Network ACLs (Amazon VPC) • CreateNetworkAcl (p. 81) • CreateNetworkAclEntry (p. 83) Amazon Elastic Compute Cloud API Reference • DeleteNetworkAcl (p. 146) • DeleteNetworkAclEntry (p. 148) • DescribeNetworkAcls (p. 246) • ReplaceNetworkAclAssociation (p. 432) • ReplaceNetworkAclEntry (p. 434) PlacementGroups • CreatePlacementGroup (p. 91) • DeletePlacementGroup (p. 152) • DescribePlacementGroups (p. 260) Regions and Availability Zones • DescribeAvailabilityZones (p. 188) • DescribeRegions (p. 263)
  • 13. ReservedInstances • CancelReservedInstancesListing (p. 51) • CreateReservedInstancesListing (p. 93) • DescribeReservedInstances (p. 266) • DescribeReservedInstancesListings (p. 270) • DescribeReservedInstancesModifications (p. 274) • DescribeReservedInstancesOfferings (p. 278) • ModifyReservedInstances (p. 403) • PurchaseReservedInstancesOffering (p. 415) Route Tables (Amazon VPC) • AssociateRouteTable (p. 24) • CreateRoute (p. 102) • CreateRouteTable (p. 105) • DeleteRoute (p. 154) • DeleteRouteTable (p. 156) • DescribeRouteTables (p. 287) • DisableVgwRoutePropagation (p. 369) • DisassociateRouteTable (p. 373) • EnableVgwRoutePropagation (p. 375) • ReplaceRoute (p. 437) • ReplaceRouteTableAssociation (p. 440) Amazon Elastic Compute Cloud API Reference Security Groups • AuthorizeSecurityGroupEgress (p. 35) (EC2-VPC only) • AuthorizeSecurityGroupIngress (p. 38) • CreateSecurityGroup (p. 107) • DeleteSecurityGroup (p. 158) • DescribeSecurityGroups (p. 292) • RevokeSecurityGroupEgress (p. 461) (EC2-VPC only) • RevokeSecurityGroupIngress (p. 464) Spot Instances • CancelSpotInstanceRequests (p. 54) • CreateSpotDatafeedSubscription (p. 113) • DeleteSpotDatafeedSubscription (p. 162) • DescribeSpotDatafeedSubscription (p. 305) • DescribeSpotInstanceRequests (p. 307)
  • 14. • DescribeSpotPriceHistory (p. 315) • RequestSpotInstances (p. 445) Subnets (Amazon VPC) • CreateSubnet (p. 115) • DeleteSubnet (p. 163) • DescribeSubnets (p. 319) • ModifySubnetAttribute (p. 407) Tags • CreateTags (p. 118) • DeleteTags (p. 165) • DescribeTags (p. 323) VM Import • CancelConversionTask (p. 47) • DescribeConversionTasks (p. 194) • ImportInstance (p. 383) • ImportVolume (p. 390) VM Export • CancelExportTask (p. 49) • CreateInstanceExportTask (p. 73) Amazon Elastic Compute Cloud API Reference • DescribeExportTasks (p. 204) VPCs (Amazon VPC) • CreateVpc (p. 126) • DeleteVpc (p. 170) • DescribeVpcAttribute (p. 342) • DescribeVpcs (p. 348) • ModifyVpcAttribute (p. 411) VPC Peering Connections (Amazon VPC) • AcceptVpcPeeringConnection (p. 12) • CreateVpcPeeringConnection (p. 128) • DeleteVpcPeeringConnection (p. 171) • DescribeVpcPeeringConnections (p. 344) • RejectVpcPeeringConnection (p. 428) VPN Connections (Amazon VPC) • CreateVpnConnection (p. 131) • CreateVpnConnectionRoute (p. 134)
  • 15. • DeleteVpnConnection (p. 173) • DeleteVpnConnectionRoute (p. 175) • DescribeVpnConnections (p. 352) Virtual Private Gateways(Amazon VPC) • AttachVpnGateway (p. 33) • CreateVpnGateway (p. 136) • DeleteVpnGateway (p. 177) • DescribeVpnGateways (p. 356) • DetachVpnGateway (p. 367)