title: AWS之Qwiklab
subtitle: 4. Qwiklab'實驗-Amazon DynamoDB, Amazon Redshift, Elasticsearch Service'
date: 2018-09-22 12:29:20
---html
Amazon DynamoDB簡介python
首先,Amazon DynamoDB是非關係型數據庫(NoSQL),NoSQL 是一個術語,用於描述高度可用的、可擴展的而且已針對高性能進行優化的非關係數據庫系統。有別於關係模型,NoSQL 數據庫 (如 DynamoDB) 使用替代模型進行數據管理,例如鍵-值對或文檔存儲。數據庫
https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/HowItWorks.htmljson
https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/GettingStarted.Python.html安全
建立表Movies from __future__ import print_function # Python 2/3 compatibility import boto3 dynamodb = boto3.resource('dynamodb', region_name='us-west-2', endpoint_url="http://localhost:8000") table = dynamodb.create_table( TableName='Movies', KeySchema=[ { 'AttributeName': 'year', 'KeyType': 'HASH' #Partition key }, { 'AttributeName': 'title', 'KeyType': 'RANGE' #Sort key } ], AttributeDefinitions=[ { 'AttributeName': 'year', 'AttributeType': 'N' }, { 'AttributeName': 'title', 'AttributeType': 'S' }, ], ProvisionedThroughput={ 'ReadCapacityUnits': 10, 'WriteCapacityUnits': 10 } ) print("Table status:", table.table_status)
Users表 CREATE TABLE users ( userid INTEGER NOT NULL, username CHAR(8), firstname VARCHAR(30), lastname VARCHAR(30), city VARCHAR(30), state CHAR(2), email VARCHAR(100), phone CHAR(14), likesports BOOLEAN, liketheatre BOOLEAN, likeconcerts BOOLEAN, likejazz BOOLEAN, likeclassical BOOLEAN, likeopera BOOLEAN, likerock BOOLEAN, likevegas BOOLEAN, likebroadway BOOLEAN, likemusicals BOOLEAN ); 數據查詢 查詢表的行數 SELECT COUNT(*) FROM users; 查詢俄亥俄州(OH)的用戶喜歡體育不喜歡歌劇的狀況,列表按其名字排序 SELECT userid, firstname, lastname, city, state FROM users WHERE likesports AND NOT likeopera AND state = 'OH' ORDER BY firstname; 查詢顯示熱愛Jazz的用戶所居住的十大城市 SELECT city, COUNT(*) AS count FROM users WHERE likejazz GROUP BY city ORDER BY count DESC LIMIT 10;
Amazon Elasticsearch Service簡介dom
Amazon Elasticsearch Service (Amazon ES) 是一種託管服務, 能夠輕鬆地在AWS雲中部署,操做和擴展Elasticsearch。Elasticsearch是一種流行的開源搜索和分析引擎,用於日誌分析,實時應用程序監控,點擊流分析和文本搜索等用例。
您能夠在幾分鐘內從AWS管理控制檯設置和配置AmazonElasticsearchService
Cluster.
Amazon ES爲您的羣集配置了全部資源並啓動它。AmazonES自動檢測並替換故障節點,從而減小與自我管理基礎架構相關的開銷。設置AmazonES羣集沒有前期成本,您只需爲您使用的服務資源付費。
AmazonES提供託管服務的如下好處:elasticsearch
AmazonES包含與Kibana的內置集成,並支持與Logstash的集成。Logstash是一個開源數據管道,可幫助您處理日誌和其餘事件數據,並將其加載到Elasticsearch中。Kibana是一個開源分析和可視化平臺,可幫助您更好地瞭解Elasticsearch中的數據。ide
AmazonES包含如下組件:
域:AmazonES域包含Elasticsearch Service Cluster(硬件和軟件)以及提供負載平衡,安全性,監控等的其餘硬件和軟件。該域由AmazonES的服務說點公開,其名稱必須符合如下條件:工具
羣集:運行Elasticsearch Service所需的一個或多個數據節點,可選的專用主節佔和存儲的集合。
節點:Elasticsearch Service集羣中的單個實例,可以識別和處理或轉發消息到其餘節點。
存儲:AmazonES支持兩種不一樣的存儲類型:實例存儲或彈性塊存儲(EBS),能夠是通用(SSD),配置IOPS(SSD)或磁性。
Amazon ES一般與如下服務起使用:
使用AWS CloudTrail求取您賬戶的Amazon ES API調用和相關事件的歷史記錄。CloudTrail是一種Web服務,可記錄來自您賬戶的API調用,並將生成的日誌文件傳遞到您的Amazon S3存儲桶。您還可使用CloudTrail限蹤對AWS資源所作的更改。
Elasticsearch Service域會自動將指標發送到Amazon CloudWatch,以便您能夠收集和分析性能統計信息。您可使用AWS CLL或AWS開發工具向監控這些指標。您還能夠輕鬆地將CloudWatchLogs日誌組訂閱到Amazon ES域,以將該日誌組中的數據加載到AmazonES中。
Amazon Kinesis是一種託管服務,能夠彈性擴展,實現大規模流數據的實時處理。AmazonES提供Lambda示例代碼以與Kinesis集成。
Amazon Simple Storage Service (Amazon S3) 是Internet的存儲. 您能夠隨時使用AmazonS3在Web上的任何位置存儲和檢索任意數量的數據。
Amazon ES提供Lambda示例代碼以與S3集成。
AWS身份和訪問管理(IAM)是一種Web服務,可用於管理AWS中的用戶和用戶權限。使用IAM爲您的Amazon ES域建立基於用戶或基於IP的訪問策略。
域訪問策略-容許對域進行公開訪問: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "*" ] }, "Action": [ "es:*" ], "Resource": "arn:aws:es:us-west-2:563924657756:domain/mydomain/*" } ] }