rainit2006 / Certifications

0 stars 0 forks source link

AWS #1

Open rainit2006 opened 6 years ago

rainit2006 commented 6 years ago
rainit2006 commented 6 years ago

AWS クラウドコンピューティングホワイトペーパー (aws.amazon.com/whitepapers) o アマゾン ウェブ サービスの概要 o セキュリティプロセスの概要 o リスクとコンプライアンスホワイトペーパー o クラウド内のストレージオプション o クラウド向けのアーキテクチャ: ベストプラクティス

rainit2006 commented 6 years ago

ホワイトペーパー : アマゾン ウェブ サービスの概要

■グローバルインフラストラクチャ AWS クラウドインフラストラクチャはリージョンとアベイラビリティーゾーン (AZ) を中心として構築されます。 リージョンは世界中の物理的場所であり、リージョンに複 数の AZ が配置されています。AZ は 1 つ以上の独立したデータセンターで構成されま す。

AWS クラウドは世界中の 16 の地理的リージョン内の 42 の AZ を運用しており、2017 年にはさらに 2 つのリージョ ンと 5 つのアベイラビリティーゾーンがオンラインになる予定です。

Amazon の各リージョンは、Amazon の他のリージョンと完全に分離されるように設計 されています。

■セキュリティとコンプライアンス AWS クラウドでは、責任共有モデルを利用できます。AWS はクラウドのセキュリティを管理する一 方、クラウド内のセキュリティについてはお客様の責任です。 AWS セキュリティの利点  データの保護:AWS インフラストラクチャでは、お客様のプライバシーを保 護するための、強力な安全対策が用意されています。すべてのデータは安全性 が非常に高い AWS データセンターに保存されます。  コンプライアンスの要件に準拠:AWS では、インフラストラクチャ内で数多 くのコンプライアンスプログラムを管理できます。つまり、コンプライアンス の一部は最初から達成されています。  コスト削減:AWS データセンターを利用することでコストを削減できます。お 客様が独自の施設を管理する必要なく、最上位のセキュリティを維持できます。  迅速なスケーリング:AWS クラウドの使用量に合わせてセキュリティをス ケーリングできます。ビジネスの規模に関わらず、AWS インフラストラク チャによってお客様のデータが保護されます。

■コンプライアンス お客様と AWSの間でコンプライアンス上の責任が分担されます。

■アマゾン ウェブ サービスクラウドプラットフォーム サービスにアクセスするには、AWS マネジメントコンソール、コマンドラインインターフェイス(CLI)、または Software Development Kit (SDK) を使用します。

●コンピューティング ◎Amazon EC2 料金のお支払いは、実際に使用したキャパシティーの分だけです。

メリット: 1、弾力性のあるウェブスケールコンピューティング 2、完全な制御が可能 3、柔軟なクラウドホスティングサービス Amazon EC2 では、お客様が選択したオペレーティングシ ステムやアプリケーションに合わせて最適なメモリ設定、CPU、インスタンススト レージ、ブートパーティションサイズを選ぶこともできます。 4、統合 Amazon EC2 は、Amazon Simple Storage Service (Amazon S3)、Amazon Relational Database Service (Amazon RDS)、および Amazon Virtual Private Cloud (Amazon VPC) などほとんどの AWS のサービスと統合され、幅広いアプリケーションに対応する、コンピューティン グ、クエリ処理、クラウドストレージの安全な総合ソリューションを提供します。 5、信頼性 Amazon EC2 のサービスレベルアグリーメント (SLA) は、各リージョンにおいて、99.95% の可用性を約束します。 6、セキュリティ保護 Amazon EC2 は Amazon VPC と連携して動作し、お客様のコンピュートリソースに対し て安全性と堅牢なネットワーキング機能を提供します。 ①お客様のコンピュートインスタンスは VPC にあり、お客様が指定した IP アドレス範囲を持っています。インターネットに公開されるインスタンスと、プライベートな状態のままにするインスタンスを決定します。 ②セキュリティグループとネットワークアクセスコントロールリスト (ACL) により、インスタンスを出入りするインバウンドとアウトバウンドのネットワークアクセスを制御できます。 ③業界標準の暗号化 IPsec 仮想プライベートネットワーク (VPN) を使用して、既 存の IT インフラストラクチャを VPC 内のリソースに接続できます。 ④Amazon EC2 リソースは、ハードウェア専有インスタンスとしてプロビジョンできます。 ⑤Amazon EC2 リソースを、ハードウェア専有ホストにプロビジョンできます。 7.安価 ①オンデマンドインスタンス ②リザーブドインスタンス: オンデマンドインスタンスの料金と比べて大幅な割引 (最大 75%) を受けられます。 ③スポットインスタンス  :スペアの Amazon EC2 のコンピューティング性能の価格をお客様が指定できるシステムです。(入札制で大幅に安い価格で利用できる仕組みです。需要と供給のバランスで価格が決定する)

◎Amazon EC2 Container Service Docker コンテナをサポートするスケーラビリティに優れた高性能なコンテナ管理サービスです。 Amazon EC2 インスタンスのマネージドクラスターでアプリケーションを簡単に実行できます。Amazon ECS を使用すると、自社でクラスター管理インフラストラクチャのインストール、運用、スケールを行う必要がなくなります。 image

ECS説明資料(Good) https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2016-amazon-ec2-container-service

◎Amazon EC2 Container Registry 開発者が Docker コンテナイメージを簡単に保存、管理、デプロイできる完全マネージド型の Docker コンテナレジストリです。

rainit2006 commented 6 years ago

◎Amazon Lightsail AWS で仮想プライベートサーバーを起動および管理するもっとも簡単な方法として設計されています。Lightsail のプランには、プロジェクトをすばやく開始するためのすべてが揃っています。仮想マシン、SSD ベースのストレージ、データ転送、DNS 管理、静的 IP アドレスが予測可能な低価格で提供されます。

◎AWS Batch AWS Batch を使用することで、開発者、科学者、およびエンジニアは、数十万件のバッチコンピューティングジョブを AWS で簡単かつ効率的に実行できます。 AWS Batch は、サブミットされたバッチジョブのボリュームや特定のリソース要件に基いて、最適な量と種類のコンピューティングリソース (CPU やメモリ最適化インスタンスなど) を動的にプロビジョニングします。

◎AWS Elastic Beanstalk 、Java、.NET、PHP、Node.js、Python、Ruby、Go および Dockerを使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、インターネットインフォメーションサービス (IIS) など使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。

◎AWS Lambda Lambda によって、実質どのようなタイプのアプリケーションやバックエンドサービスでも、管理なしでコードを実行できます。コードをアップロードするだけで、コードの実行とスケールに必要な処理はすべて Lambda により自動的に実行され、高い可用性が維持されます。

◎Auto Scaling お客様が定義する条件に応じて Amazon EC2 の能力を自動的に縮小あるいは拡張する。 Auto Scaling を使用して、必要な数の Amazon EC2 インスタンスが確実に実行され ている状態になります。また Auto Scaling によって、需要が急激に上昇したときには Amazon EC2 インスタンスの数を自動的に増やしてパフォーマンスを維持し、需要が落 ち着いた状態にあるときには能力を縮小してコストを削減できます。

ストレージ ◎ Amazon S3 ウェブ上のどこからでも、容量に関係なくデータを保存および取得 できるオブジェクトストレージです。2699.999999999% の耐久性を提供できるように設 計され、世界中で数兆を超えるオブジェクトをスケールします。

Amazon のクラウドデータ移行オプションを使用すれば、大量のデータを Amazon S3 の 内外に簡単に移動できます。Amazon S3 に保存されたデータは、自動的に低価格の長 期クラウドストレージクラス (Amazon S3 標準 — 低頻度アクセスや Amazon Glacier な ど) に階層化されアーカイブされます。

Amazon S3 の特徴:

  1. シンプル: 使用が簡単。Amazon S3 では REST API および SDKもすべて用意されている.
  2. 耐久性: オブジェクトの 99.999999999% の耐久性を実現. データは冗長化されて複数の施設に保存され、各施設で複数のデバイスに保存されます.
  3. スケーラブル
  4. セキュリティ保護: SSL でのデータ転送と、アップロード後のデータの自動暗号化をサポートします。IAM を使用して、オブジェクトのアクセス権限を管理しデータへのアクセスを制御するバケットポリシーを設定することもできます。
  5. 使用可能:スタンダードは、年間で最大 99.99% のオブジェクトの可用性を提供するように設計されています。
  6. 低コスト
  7. シンプルなデータ転送:
  8. 統合:他の AWS サービスと緊密に統合されています.
  9. 管理が簡単

◎Amazon Elastic Block Store (EBS) Amazon EC2 インスタンスで使用する永続的なブロックレベルのストレージボリュームを提供します。 各Amazon EBS ボリュームはアベイラビリティーゾーン内で自動的にレプリケートされます。 特徴: 1.高性能なボリューム:最も条件の厳しいアプリケーションに必要なパフォーマンスに合わせて、ソリッドステートディスク (SSD) -backed またはハードディスクドライブ (HDD)-backed ボリュームのいずれかを選択します。 2.アベイラビリティー:Amazon EBS の各ボリュームは可用性が 99.999% になる 3.暗号化:保管中のデータと転送中のデータが EC2インスタンスと EBS ボリュームの間でシームレスに処理されます。 4.アクセス管理:Amazon の柔軟なアクセスコントロールポリシーにより、EBSボリュームにアクセスできるユーザーを指定でき、データへの安全なアクセスが保証されます。 5.スナップショット:EBS ボリュームのポイントインタイムスナップショットを作成することにより、データを保護できます。作成されたスナップショットは、長期保存のために Amazon S3 にバックアップされます。

EBSのスナップショットについて

**使用中のアタッチ済みボリュームのスナップショットを取ることができます。**ただし、スナップショットでは、スナップショットコマンドを実行した時点で Amazon EBS ボリュームに書き込まれているデータのみがキャプチャされます。そのため、アプリケーションやオペレーティングシステムによってキャッシュされたデータは除外される可能性があります。スナップショットを取る間、ボリュームへのすべてのファイルの書き込みを停止できれば、完全なスナップショットを取ることができます。ただし、ボリュームへのすべてのファイルの書き込みを停止できない場合は、一貫した完全なスナップショットを取ることができるように、インスタンス内からボリュームをアンマウントし、スナップショットコマンドを実行して、ボリュームを再マウントします。スナップショットのステータスが pending の間は、ボリュームを再マウントして使用できます。

**ルートデバイスとして機能する Amazon EBS ボリュームのスナップショットを作成するには、スナップショットを取る前にインスタンスを停止します。**

◎Amazon Elastic File System AWS クラウドで Amazon EC2 インスタンスと共に使用するための、シンプルでスケーラブルなファイルストレージシステムです。 Amazon EFS ファイルシステムが Amazon EC2 インスタンスにマウントされると、標準 的なファイルシステムインターフェイスと、ファイルシステムアクセスのセマンティ クスが提供され、既存のアプリケーションやツールに Amazon EFS をシームレスに統合 できます。複数の EC2 インスタンスが 1 つの EFS ファイルシステムに同時にアクセス することができるため、Amazon EFS は複数の Amazon EC2 インスタンスで実行されて いるワークロードおよびアプリケーションに共通のデータソースを提供できます。

Amazon EFS は高い可用性と耐久性を実現するよう設計されているため、ビッグデータ と分析、メディア処理ワークフロー、コンテンツ管理、ウェブ配信、ホームディレク トリなど、幅広いワークロードやアプリケーションに最適なパフォーマンスを実現で きます。

●EBS is cheaper than EFS ●How do I back up a file system? : Using the EFS-to-EFS Backup solution, you can schedule automatic incremental backups of your Amazon EFS file system. ●How do I access my file system from outside my VPC? Amazon EC2 instances within your VPC can access your file system directly, and Amazon EC2 Classic instances outside your VPC can mount a file system via ClassicLink ★. When you use Classic Link, an application on the EC2 instance can connect to the DB instance by using the RDS endpoint for the DB instance. ClassicLink is available at no charge. image

On-premises servers can mount your file systems via an AWS Direct Connect connection★ to your VPC. ● By default, you can create up to 10 file systems per AWS account per region. ●“General Purpose” performance mode is appropriate for most file systems, and is the mode selected by default when you create a file system. ●“Max I/O” performance mode is optimized for applications where tens, hundreds, or thousands of EC2 instances are accessing the file system — it scales to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for file operations. ●You can control who can administer your file system using AWS Identity and Access Management (IAM). You can control access to files and directories with POSIX-compliant user and group-level permissions. ● Data encrypted at rest is transparently encrypted while being written, and transparently decrypted while being read, so you don’t have to modify your applications. Encryption keys are managed by the AWS Key Management Service (KMS), eliminating the need to build and maintain a secure key management infrastructure. Data encryption in transit uses industry standard Transport Layer Security (TLS) 1.2 to encrypt data sent between your clients and EFS file systems. ● Amazon EFS does not support access over AWS VPN. ●EFS File Sync provides a fast and simple way to securely move data from existing on-premises or in-cloud file systems into Amazon EFS file systems.

◎Amazon Glacier データのアーカイブおよび長期バックアップを行うための、安全性と耐久性に優れたきわめて低コストのストレージサービスです。

□ Vault Lock(文件库锁定) 您可轻松利用文件库锁定策略对单独的 Amazon Glacier 文件库进行部署并实施合规性控制。您可以在一个文件库锁定策略中指定类似“一次写入,多次读取”(WORM) 这样的控制,并且可以锁定该策略以防止将来进行编辑。策略在锁定之后便无法再更改。

□ Expedited retrievals Expedited retrievals allow you to quickly access your data when occasional urgent requests for a subset of archives are required. For all but the largest archives (250 MB+), data accessed using Expedited retrievals are typically made available within 1–5 minutes. There are two types of Expedited retrievals: On-Demand and Provisioned. BTW, Archive Retrieval Options: Expedited, Standard, Bulk.

◎AWS Storage Gateway オンプレミスストレージ環境と AWS クラウド間のシームレスなハイブリッドストレージが可能になります。 image Storage Gatewayを利用するには、専用のEC2インスタンスが必要です。Storage Gatewayのクライアントは、このEC2に対してiSCSI接続を行い、Storage Gateway経由でS3上の仮想ボリュームをマウントするイメージになります。 手順は、おおまかに以下のとおりになります。

  1. AWS上にGateway用インスタンスを作成する
  2. Storage Gatewayの設定を行う
  3. EC2上の別インスタンスからiSCSI接続する
rainit2006 commented 6 years ago

データベース ◎Amazon Aurora MySQL および PostgreSQL と互換性のあるリレーショナルデータ ベースエンジンで、オープンソースデータベースのシンプルさとコスト効率性を備 え、高性能の商用データベースの可用性とスピードをあわせ持ったエンジンです。33 Amazon Aurora は、MySQL よりも最大 5 倍のパフォーマンスを発揮するだけでなく、商 業用データベースのセキュリティ、可用性、および信頼性を 10 分の 1 のコストで実現 します。 メリット: 1.高性能:Amazon Aurora は、同じハードウェアで実行される標準的な MySQL の 最大で 5 倍のスループット、または標準的な PostgreSQL の 2 倍のスループット を実現します。 2.高い安全性:Amazon Aurora では、データベースのために複数のレベルのセ キュリティが用意されています。 3.MySQL および PostgreSQL との互換性:Amazon Aurora データベースエンジンは InnoDB ストレージエンジンを使用することで MySQL 5.6 と完全な互換性があ ります。現在、PostgreSQL 9.6 の SQL 方言および機能をサポート する、PostgreSQL 互換の Amazon Aurora データベースインスタンスをプレ ビューしています。 (Aurora可兼容Mysql和PostgreSQL)

4.高スケーラブル 5.高可用性と耐久性:Amazon Aurora は、99.99% の可能性を提供するように設計 されています。物理ストレージの障害は透過的に復旧され、インスタンスの フェイルオーバーは、通常、30 秒未満で完了します。 6.完全マネージド型:Amazon Aurora は完全マネージド型のデータベースサービ スです。つまり、ハードウェアプロビジョニング、ソフトウェアパッチ適用、 セットアップ、構成、モニタリング、またはバックアップなどのデータベース 管理タスクについて頭を悩ます必要はありません。

◎Amazon RDS クラウド内のリレーショナルデータベースのセットアップ、運用、スケールが簡単になります。 Amazon RDS では、Amazon Aurora、PostgreSQL、36MySQL、37MariaDB、38Oracle、39および Microsoft SQL Server の 6 つの使い慣れたデータベースエンジンから選択できます。

◎Amazon DynamoDB どのような規模でも、一貫した、数ミリ秒台にレイテンシーを抑える必要のあるアプリケーションに適した、高速で柔軟性の高い NoSQL データベースサービスです。41完全マネージド型のデータベースで、ドキュメントとキー値のデータモデルの両方をサポートしています。

イベント駆動型プログラミング:Amazon DynamoDB は、AWS Lambda と統合することで、トリガーを提供します。これを使用して、データの変更に自動的に対応するアプリケーションを構築できます。

DynamoDB支持的是json格式的文件。

◎Amazon ElastiCache インメモリキャッシュのデプロイ、運用、スケーリングをクラウド内で簡単に実行できるウェブサービスです。 Amazon ElastiCache は、次の 2 つのオープンソースインメモリキャッシュエンジンをサポートしています: Redis と Memcached

======================================================= 移行 ◎AWS アプリケーション検出サービス(AWS Application Discovery Service) AWS Application Discovery Service は、オンプレミスデータセンターで実行されているア プリケーション、その関連依存関係、およびパフォーマンスプロファイルを自動的に 識別することで、システムインテグレータがすばやく確実にアプリケーション移行プ ロジェクトを計画する役に立ちます。

AWS Application Discovery Service は、サーバー、ストレージ、ネットワーク機器から設 定や使用状況のデータを自動的に収集します。これらを利用して、アプリケーション のリストや動作方法、相互依存性を作成できます。この情報は暗号化されたフォー マットで AWS Application Discovery Service データベースに保持され、CSV または XML ファイルでお好きな仮想化ツールまたはクラウド移行ソリューションにエクスポート できます。クラウド移行の計画にかかる複雑さや時間を軽減できます。

◎AWS Database Migration Service AWS にデータベースを簡単かつ安全に移行します。 移行中でもソースデータベースは完全に利用可能な状態に保たれ、データベースを利用するアプリケーションのダウンタイムは最小限に抑えられます。AWS Database Migration Service は、広く普及しているほとんどの商用データベースとオープンソースデータベース間のデータ移行にご利用いただけます。

◎AWS Server Migration Service (AWS SMS) 数千のオンプレミスワークロードを従来よりも簡単に、かつ短時間で AWS に移行できるエージェントレスサービスです。AWS SMSを利用すると、ライブサーバーのボリュームの増分レプリケーションを自動化、スケジュール設定、追跡できるため、大規模なサーバーの移行を簡単に処理することができます。

仮想化環境から Amazon EC2 に、インスタンスとして仮想マシン (VM) イメージをインポートするために、VM Import/Export を使用できます。VM イメージは、後でインスタンスから仮想化環境にエクスポートできます。 ほとんどの VM Import のニーズに対しては、AWS Server Migration Service を使用することをお勧めします。

VMware vCenter から VM をインポートする場合、代わりに AWS Connector for vCenter を使用して VMware から VM をエクスポートし、Amazon EC2 にインポートすることもできます。

◎AWS Snowball セキュアなアプライアンスを使用し、AWS との大容量データ転送を行うペタバイト規模のデータ転送ソリューションです。Snowball を使用することで、ネットワークコストが高い、転送時間が長い、セキュリティに懸念があるなど、大規模データを転送する際の一般的な課題を解決できます。 If required migration volume is very large (several TB). AWS Snowball will be rather recommended option.

◎AWS Snowball Edge オンボードのストレージとコンピューティング能力を搭載した100 TB のデータ転送デバイスです

◎AWS Snowmobile 非常に大規模なデータを AWS に移動する際に使用するエクサバイト規模のデータ転送サービスです。 Snowmobile 1 台あたり 100 PB まで転送できます。Snowmobile を使うと、ビデオライブラリや画像リポジトリ、またはデータセンター全体まで、膨大な量のデータを簡単にクラウドに移動できます。Snowmobile を使用したデータ転送は、安全、高速で費用対効果に優れています。

AWS Snowmobile は、データを保護するように設計された何段階ものセキュリティを使 用します。これには、セキュリティ専門担当者、GPS 追跡、アラーム監視、24 時間 365 日のビデオによる監視、およびオプションで輸送中のセキュリティ伴走車が含ま れます。

rainit2006 commented 6 years ago

ネットワーキングとコンテンツ配信 ◎Amazon VPC AWS クラウドの論理的に分離されたセ クションをプロビジョニングし、お客様が定義した仮想ネットワーク内の AWS リソー スを起動することができます。52独自の IP アドレス範囲の選択、サブネットの作成、 ルートテーブル、ネットワークゲートウェイの設定など、仮想ネットワーク環境を完 全にコントロールできます。セキュアでアクセスが容易なリソースおよびアプリケー ションのために、VPC で IPv4 と IPv6 の両方を使用できます。

◎Amazon CloudFront グローバルなコンテンツ配信ネットワーク (CDN) サービスで、お 客様のウェブサイト、API、動画コンテンツ、またはその他のウェブ資産の配信を高速できます。

https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront

◎Amazon Route 53 可用性と拡張性に優れたドメインネームシステム (DNS) ウェブ サービスです。54人間が読み取れる名前(www.example.com など)をコンピュータが 互いに接続するための数字の IP アドレス(192.0.2.1 など)に変換することにより、開 発者や会社のエンドユーザーをインターネットアプリケーションに転送させる、きわ めて信頼性が高く、経済的な方法を提供します。

また、Amazon Route 53 ではドメイン名登録も提供します。example.com のようなドメイン名を購入および管理でき、Amazon Route 53でお客様のドメインの DNS 設定が自動的に構成されます。

CNAMEレコード vs ALIASレコード https://dev.classmethod.jp/cloud/aws/amazon-route-53-alias-records/ ALIASレコードを用いて、CNAMEと同じ挙動が実現されています。メリット: 1.パフォーマンスが良い

  1. zone apexに対するマッピングに対応

◎AWS Direct Connect お客様の設備から AWS への専用ネットワーク接続を簡単に確立することができます。 ネットワークのコストを削減する、帯域幅のスループットを向上させる、インターネットベースの接続よりも一貫性のあるネットワークの体験を提供することができます。 パブリック環境とプライベート環境の間でネットワークを分離できます。 https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-direct-connect image

DirectConnect uses the same virtual interface (the virtual gateway) that VPN would use. Enabling the route propagation to this device allows the VPC virtual router to see what networks are available in the data center and do dynamic routing to them. The customer gateway is part of VPN setup, not DirectConnect.

◎Elastic Load Balancing アプリケーションへのトラフィックを複数の EC2 インスタンスに自動的に分散します。 2つタイプ: 1. Classic Load Balancer:アプリケーションまたはネットワークレベルの情報に基づいてトラフィックをルーティングする。 複数の EC2 インスタンス間でのシンプルなトラフィックの負荷分散に最適です。 2.Application Load Balancer:リクエストのコンテンツを含む拡張アプリケーションレベル情報に基づいてトラフィックをルーティングする 高度なルーティング機能、マイクロサービス、およびコンテナベースのアーキテクチャが必要なアプ リケーションに最適です。

rainit2006 commented 6 years ago

開発者用ツール ◎AWS CodeCommit 完全マネージド型ソースコントロールサービスで、安全で非常にスケーラブルなプライベート Git リポジトリを簡単にホスティングできます。

◎AWS CodeBuild 完全マネージド型の構築サービスです。ソースコードのコンパイル、テストの実行、すぐにデプロイできるソフトウェアパッケージの生成を行います。

◎AWS CodeDeploy EC2 インスタンス、およびオンプレミスで稼働するインスタンスを含む、さまざまなインスタンスへのコードのデプロイを自動化するサービスです。

◎AWS CodePipeline 迅速で信頼性の高いアプリケーションとインフラストラクチャの更新を実現するための継続統合および継続配信サービスです。 CodePipeline は、お客様の定義するリリースプロセスモデルに基づいて、コードの変更があるたびに、コードのビルド、テスト、デプロイを実施します。

◎AWS X-Ray 開発者は本稼働または開発中の分散アプリケーション (マイクロサービスアーキテクチャを使用して構築されたものなど) を分析およびデバッグできます。

rainit2006 commented 6 years ago

管理ツール ◎Amazon CloudWatch AWS のクラウドリソースと AWS 上でお客様が実行するアプリケーションをモニタリングするサービスです。 Amazon CloudWatch を使用して、メトリクスの収集と追跡、ログファイルの収集とモニタリング、アラームの設定、およびAWS リソースへの変更に対する自動的な対応が可能です。

Amazon EC2 インスタンスの基本モニタリング: 事前に選択した 7 種類のメトリクス(5 分間隔)と、3 種類の状態チェックメトリクス(1 分間隔)。追加料金なし。 image

Amazon EC2 インスタンスの詳細モニタリング: 基本モニタリングで利用できるすべてのメトリクスが 1 分間隔で更新される。追加料金が必要。

-- Can I access the metrics data for a terminated Amazon EC2 instance or a deleted Elastic Load Balancer? Yes. Amazon CloudWatch stores metrics for terminated Amazon EC2 instances or deleted Elastic Load Balancers for 2 weeks.

◎Amazon EC2 Systems Manager ソフトウェアインベントリの収集やオペレーティングシステム (OS) パッチの適用、システムイメージの作成、Windows や Linux オペレーティングシステムの設定などのプロセスを自動化する管理サービスです。

EC2 Systems Manager には以下のツールが含まれます。 1.Run Command:シェルスクリプトや PowerShell コマンドのリモート実行。 2.ステートマネージャー:ファイアウォール設定やアンチマルウェアの定義など、OS 設定の一貫性を定義して維持し、ポリシーに準拠できるようにします。 3.インベントリ:インスタンスおよびそこにインストールされているソフトウェアに関する設定とインベントリの情報の収集とクエリを支援します。 4.メンテナンスウィンドウ:複数のインスタンスにわたって管理タスクおよびメンテナンスタスクを定期的に実行する時間帯を定義できます。 5.Patch Manager:オペレーティングシステムとソフトウェアのパッチを選択して、インスタンスの大規模なグループにわたって自動的にデプロイする支援を行います。 6.自動化:Amazon Machine Image (AMI) の更新など、一般的なメンテナンスやデプロイメントタスクを簡素化します。 7.パラメータストア:パスワードやデータベース文字列などの重要な管理情報を保存するための暗号化されたロケーションを提供します。

◎AWS CloudFormation 関連する AWS リソースのコレクションを開発者やシステム管理者が容易に作成および管理し、整った予測可能な方法でプロビジョニングおよび更新できるようにします。

AWS CloudFormation のサンプルテンプレート67を使用したり、独自のテンプ レートを作成したりして、AWS リソースおよびそのアプリケーションを実行するため に必要な関連するすべての依存関係や実行時のパラメータを記述することができます。

AWS リソースがデプロイされたら、管理された予測可能な方法でそれらを修正/更新でき、実際にはソフトウェアに対して行うのと同じ方法で AWS インフラストラクチャにバージョン管理を適用できます。

AWS CloudFormation Designer を使用して、テンプレートを図として可視化し、ドラッグアンドドロップインターフェイスを使用して編集することもできます。

◎AWS CloudTrail アカウントの AWS API 呼び出しを記録し、ログファイルを送信するウェブサービスです。記録される情報には、API 呼び出し元のアイデンティティ、API呼び出しの時間、API 呼び出し元のソース IP アドレス、リクエストのパラメータ、および AWS の各種サービスから返された応答の要素が含まれます。

EC2, IAM and RDS can be integrated with AWS CloudTrail, a service that captures API calls and delivers the log files to an Amazon S3 bucket that you specify. A trail can be applied to all regions or a single region. For global service (like IAM, AWS STS, Amazon CloudFront, and Route 53), global services option should be enabled.

◎AWS Config セキュリティとガバナンスを可能にするため、AWS リソースのインベントリ、構成履歴、構成変更の通知を提供する完全マネージド型のサービスです。Config Rules 機能を使用して、AWS Config に記録された AWS リソースの設定を自動で確認するルールを作成できます。

AWS Config は、AWS アカウントにある AWS リソースの設定詳細ビューを提供します。これには、リソース間の関係と設定の履歴が含まれるため、時間の経過と共に設定と関係がどのように変わるかを確認できます。

https://dev.classmethod.jp/cloud/aws/aws-config-start/

◎AWS OpsWorks サーバー設定をコードとして取り扱う自動化プラットフォームである Chef を使用した設定管理サービスです。

OpsWorks は Chef を使用して、EC2 インスタンスまたはオンプレミスコンピューティング環境全体のサーバーの設定方法、デプロイ方法、管理方法を自動化します。OpsWorks には AWS OpsWorks for Chef Automateと AWS OpsWorks Stacks の 2 種類があります.

ちなみに、 サーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。

Q: AWS OpsWorks スタックと AWS Elastic Beanstalk では、どのような点が異なりますか? AWS OpsWorks スタックは設定管理プラットフォームですが、AWS Elastic Beanstalk はアプリケーション管理プラットフォームです。 AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go、Docker で開発されたウェブアプリケーションとウェブサービスをデプロイおよびスケーリングするための、使いやすいサービスです。ユーザーがコードをアップロードすると、残りは自動的に処理されます。 AWS OpsWorks スタックと AWS Elastic Beanstalk のどちらでも運用は自動化されますが、対象のニーズと目的が異なります。AWS Elastic Beanstalk は、オペレーションについて心配せずにウェブアプリケーションをデプロイしたいとお考えの開発者向けに設計されています。開発者はコードをアップロードするのみで、キャパシティーのプロビジョニング、ロードバランシング、自動スケーリングからアプリケーションの状態のモニタリングまで、デプロイが自動的に処理されます。開発者側でインフラストラクチャやリソースの設定をすることなく、アプリケーションが使用できるようになります。 一方、AWS OpsWorks スタックは、高度なカスタマイズとオペレーションの制御が必要であるとお考えの IT 管理者および DevOps エンジニア向けの、統合された設定管理プラットフォームです。AWS OpsWorks スタックでは、Chef レシピを活用して、ソフトウェアの設定、パッケージのインストール、データベースのセットアップ、サーバーのスケーリング、コードのデプロイといった運用が自動化されます。

◎AWS Service Catalog AWS での使用が承認された IT サービスのカタログを作成およ び管理できます。72この IT サービスには、仮想マシンイメージ、サーバー、ソフトウェ ア、データベースから包括的な多層アプリケーションアーキテクチャまで、あらゆる ものが含まれます。AWS Service Catalog では、一般的にデプロイされた IT サービスを集 中管理でき、一貫性のあるガバナンスを実現し、コンプライアンス要件を満たすと同 時に、ユーザーは必要な承認済みの IT サービスのみをすばやくデプロイできます。

https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-service-catalog

◎AWS Trusted Advisor AWS 環境を最適化することで、コストを削減しパフォーマンスを上げ、セキュリティを向上させるオンラインリソースです。Trusted Advisor は、AWS のベストプラクティスに従って、AWS リソースをプロビジョニングするためのガイダンスをリアルタイムで提供します。

◎AWS Personal Health Dashboard お客様に影響がある可能性があるイベントが AWSで発生した場合に、アラートと修正ガイダンスを提供します。サービス状態ダッシュボードが AWS のサービスの一般的な状況を表示するのに対して、Personal Health Dashboard はお客様が使用している AWS リソースの基盤となる AWS サービスのパ フォーマンスや可用性について、各ユーザーに適した情報を表示します。

◎AWS マネージドサービス(AWS Managed Services) AWS インフラストラクチャの継続的な管理を提供するため、 お客様はアプリケーションに集中できます。75AWS マネージドサービスでは、ベスト プラクティスを実践してインフラストラクチャが管理されるため、運用のオーバー ヘッドとリスクを削減できます。変更リクエスト、モニタリング、パッチ管理、セ キュリティ、バックアップサービスなどの一般的なアクティビティが自動化され、イ ンフラストラクチャをプロビジョニング、実行、サポートするためにライフサイクル 全体にわたるサービスを利用できます。

rainit2006 commented 6 years ago

セキュリティ、ID、およびコンプライアンス ◎Amazon Cloud Directory 柔軟性に優れたクラウドネイティブのディレクトリを構築し、複数のディメンションに沿ったデータの階層を編成できます。

◎AWS Identity and Access Management(IAM) お客様のユーザーの AWS サービスおよびリソースへのアクセスを安全にコントロールすることができます。IAM を使用すると、AWS のユーザーとグループを作成および管理し、アクセス権を使用して AWSリソースへのアクセスを許可および拒否できます。IAM を使って以下が行えます。 1.IAM ユーザーとそのアクセスの管理 2.IAM ロールおよびそのアクセス権限の管理 3.フェデレーティッドユーザーとその権限の管理

◎Amazon Inspector AWS にデプロイされたアプリケーションのセキュリティとコンプライアンスを向上させるための、自動化されたセキュリティ評価サービスです。

Amazon Inspector は、自動的にアプリケーションを評価し、脆弱性やベストプラクティ スからの逸脱がないかどうかを確認します。評価が実行された後、重大性の順に結果 を表示した詳細なリストが Amazon Inspector によって作成されます。

◎AWS Certificate Manager AWS の各種サービスで使用する Secure Sockets Layer/Transport Layer Security (SSL/TLS) 証明書のプロビジョニング、管理、およびデプロイを簡単に行えます。

◎AWS CloudHSM AWS クラウド内の専用ハードウェアセキュリティモジュール (HSM) アプライアンスを使用して、データセキュリティに対する企業コンプライアンス要件、契約上のコンプライアンス要件、および法令遵守の要件を満たすようサポートします。

◎AWS Directory Service AWS Microsoft AD とも呼ばれる AWS Directory Service for Microsoft Active Directory (Enterprise Edition) によって、ディレクトリ対応型ワークロードと AWS リソースで AWS クラウド内 のマネージド型の Active Directory を使用できるようになります。AWS Microsoft AD サー ビスは実際の Microsoft Active Directory 上に構築されていて、既存の Active Directory から クラウドにデータを同期またはレプリケートする必要はありません。

◎AWS Key Management Service データの暗号化に使用する暗号化キーの作成や制御を容易にする管理サービスです。このサービスでは、HSM を使用してキーのセキュリティを保護します。

◎AWS Organizations AWS アカウントのグループを作成すれば、セキュリティとオートメーションの設定管理がもっと簡単になります。Organizations を使用すると、複数のアカウントを一元的に管理でき、拡張するのに役立ちます。

◎AWS Shield AWS で実行されるウェブアプリケーションを保護するマネージド型分散サービス妨害攻撃 (DDoS) 防止サービスです。 AWS Shield には、スタンダードとアドバンストの 2 つの階層があります。 すべての AWS のお客様は、追加料金なしで AWS Shield Standard の保護の適用を自動的 に受けることができます。AWS Shield Standard は、お客様のウェブサイトやアプリ ケーションを標的として一般的かつ頻繁に発生するネットワークおよび転送レイヤー の DDoS 攻撃に対して防御します。 ELB、Amazon CloudFront、Amazon Route 53 などのリソースで実行されるウェブアプリ ケーションを標的とした攻撃に対する高レベルな保護には、AWS Shield Advanced をサ ブスクライブできます。Standard に付属している一般的なネットワークおよびトランス ポートレイヤーの保護に加えて、AWS Shield Advanced では大規模で洗練された DDoS 攻 撃に対する追加の検出および緩和策と、ほぼリアルタイムの可視性を提供します。

◎AWS WAF アプリケーションの可用性に影響を与え、セキュリティを侵害し、過度 にリソースを消費する可能性のある一般的なウェブの脆弱性からウェブアプリケー ションを保護するウェブアプリケーションファイアウォールです。93AWS WAF を使用 すると、カスタマイズ可能なウェブセキュリティルールを指定することによって、ど のトラフィックをウェブアプリケーションに許可またはブロックするかを制御できます。

rainit2006 commented 6 years ago

分析 ◎Amazon Athena 標準 SQL を使用して Amazon S3 のデータの分析を簡易化するインタラクティブなクエリサービスです。Athena はサーバーレスなので、インフラストラクチャの管理は不要です。実行したクエリに対してのみ料金が発生します。 Athena は簡単に使えます。Amazon S3 にあるデータを指定して、スキーマを定義し、標準的な SQL を使ってデータのクエリを開始するだけです。 https://www.slideshare.net/AmazonWebServicesJapan/amazon-athena image

Athenaは、クエリを実行する際に分散SQLエンジンのPrestoを利用しています。また、テーブルを作成、削除、変更、パーティションするためにApache Hiveも利用しています。 標準 SQL をフルサポートした Presto を使用し、CSV、JSON、ORC、Apache Parquet、Avro を含むさまざまな標準データ形式で機能します。

Amazon Athena では Apache Hive DDL を使用してテーブルを定義します。DDL ステートメントの実行には、Athena コンソール、JDBC ドライバー、API、Athena テーブル作成ウィザードを使用できます。Athena で AWS Glue データカタログを使用している場合、Glue クローラーにより自動的にスキーマとパーティションを推論することもできます。

Amazon版 BigQuery といった風合い。

Amazon Athena を早速試してみた https://qiita.com/kazutomo/items/e8df46a3f28bb4af0cfc Amazon Athenaではじめるログ分析入門 https://qiita.com/miyasakura_/items/174dc73f706e8951dbdd image

◎Amazon EMR 動的にスケーラブルな EC2 インスタンス間で大量のデータを簡単、 迅速、費用効率よく配布および処理できるマネージド型 Hadoop フレームワークを提 供します。また、Apache Spark や HBase、Presto、Flink といった他の一般的なフレー ムワークを Amazon EMR で実行することや、Amazon S3 や Amazon DynamoDB といった 他の AWS データストア内でデータを操作することもできます。

◎Amazon CloudSearch AWS クラウドにおけるマネージド型サービスであり、ウェブサイトまたはアプリケーション向けの検索ソリューションを容易かつコスト効率良く設定、管理、スケールできます。 Amazon CloudSearch は、34 言語をサポートし、ハイライト表示、自動入力、地理空間検索などの人気のある検索機能を備えています。 To make your data searchable, you represent it as a batch of documents in either JSON or XML and upload the batch to your search domain. Amazon CloudSearch then generates a search index from your document data according to your domain’s configuration options.

◎Amazon Elasticsearch Service Elasticsearch を簡単にデプロイ、運用、スケールして、ログ分析、全文検索、アプリケーション監視などを行うことができます。 このサービスでは、Kibana、Logstash、および Amazon Kinesis Firehose、AWS Lambda、および Amazon CloudWatch などの AWS のサービ スとの統合が組み込まれているため、未加工データから実践的なインサイトにすばや く移ることができます。 Elasticsearch は Elastic 社が開発しているオープンソースの全文検索エンジンです。 大量のドキュメントから目的の単語を含むドキュメントを高速に抽出することができます。

ES中保存的是一种类似JSON对象的结构化数据类型。所以简单来说,搜索的内容是许多键与值,他不是一个关系型的数据库,所以不允许关联查询或子查询。而这样做,前提是需要先将数据进行分析,得到的结果往往可能比索引的数据库大数倍。但是由于使用了Lucene,所以多个类似的结果并不会带来占用太多的空间。 es数据更新是对文档进行更新,需要先将es中的数据取出,设置更新字段后再写入es。hbase是列存储的,可以方便地更新任意字段的值。

★Elasticsearch Service と CloudSearch どっちを選べば良いの? https://dev.classmethod.jp/cloud/elasticsearch-service-vs-cloudsearch/

◎Amazon Kinesis AWS のデータをストリーミングするプラットフォームです。また、ストリーミングデータのロードと分析を簡易化する強力なサービスや、特定のニーズに対応させたカスタムのストリーミングデータアプリケーションを作成する機能を提供します。

Amazon Kinesis では、現在 3 つのサービスが提供されています。 Amazon Kinesis Firehose、Amazon Kinesis Analytics、および Amazon Kinesis Streams です。

◎Amazon Redshift 高速で完全マネージド型のペタバイト規模を誇るデータウェアハウスです。

Amazon Redshift Spectrum Amazon Redshift Spectrum is a feature of Amazon Redshift that enables you to run queries against exabytes of unstructured data in Amazon S3, with no loading or ETL required.

Currently, Amazon Redshift only supports Single-AZ deployments. You can run data warehouse clusters in multiple AZ's by loading data into two Amazon Redshift data warehouse clusters in separate AZs from the same set of Amazon S3 input files. With Redshift Spectrum, you can spin up multiple clusters across AZs and access data in Amazon S3 without having to load it into your cluster.

By default, Amazon Redshift retains backups for 1 day. You can configure this to be as long as 35 days.

Amazon Redshift Enhanced VPC Routing When you use Amazon Redshift Enhanced VPC Routing, Amazon Redshift forces all COPY and UNLOAD traffic between your cluster and your data repositories through your Amazon VPC. If Enhanced VPC Routing is not enabled, Amazon Redshift routes traffic through the Internet, including traffic to other services within the AWS network.

◎Amazon QuickSight クラウド駆動の高速なビジネス分析サービスです。視覚化を構築して、アドホック分析を実行し、データからビジネス上の洞察をすばやく得ることが簡単になります。

◎AWS Data Pipeline オンプレミスのデータソースと同様に、異なる AWS のコンピューティングやストレージサービス間で、指定された間隔で信頼性の高いデータの処理や移動を行うためのウェブサービスです。 AWS Data Pipeline を使用すると、定期的に保管場所のデータに大規模にアクセスし、変換し、処理し、その結果を効率的に AWS のサービス (Amazon S3、Amazon RDS、Amazon DynamoDB、Amazon EMR など)に転送できます。

◎AWS Glue データストア間のデータの移行が簡単になる完全マネージド型 ETL サービスです。 AWS Glue は、データの検索、変換、マッピング、ジョブのスケジューリ ングといった難しく時間がかかるタスクを簡易化および自動化します。AWS Glue で は、データの移動プロセス全体を使いやすいコンソールでガイドするため、データ ソースを理解し、データを分析用に準備し、それらをデータソースから送信先に確実 にロードする役に立ちます。 AWS Glue は Amazon S3、Amazon RDS、および Amazon Redshift と統合され、任意の Java Database Connectivity (JDBC) 準拠のデータストアに接続できます。

例:AWS Glue と Amazon S3 を使用してデータレイク(data lake)の基礎を構築する https://aws.amazon.com/jp/blogs/news/build-a-data-lake-foundation-with-aws-glue-and-amazon-s3/

rainit2006 commented 6 years ago

人工知能 ◎Amazon Lex 音声とテキストを使用してアプリケーションに会話型インターフェイスを構築するためのサービスです。 Lex では、自動音声認識 (ASR) という音声をテキストに変換するための高度な深層学習機能と、テキストの意図を理解するための自然言語理解 (NLU) を利用できます。

実用するにはlambda連携は必須。

Lexを使う上で重要なキーワードは下記3つです。

  1. インテント Intents: ユーザーが達成したいこと=意図。
  2. スロット Slots: インテントの中にある、意味ある単語。
  3. フルフィルメント Fulfillment: 達成アクション

https://ledge.ai/amazon_lex/ 「ホテルの部屋を予約する」という想定のbotをつくってみました。 1.まずは、BookRoomというインテントを作成します。 image 2.次はスロットです。「意図を満たすために、重要となる情報はなにか」を考えます。また、その情報はプログラムに引き渡すことが前提なことも忘れてはいけません。 image また、よく使いそうなスロットについては公式が既に用意してくれています。 3.最終的には達成アクションで、外部システムと連携し、これまでのスロットをプログラムで処理します。今回はサンプルとして、部屋の予約日をSlack上に通知するような処理を書きました。 image


◎Amazon Polly テキストを生きた話し声に変換するサービスです。 Polly には 24 の言語と 47 の音声が含まれているため、用途に最適な音声を選ん で、多くの国で使える音声対応のアプリケーションを簡単に構築できます。 Polly では、音声に変換した文字数のみ請求されます。Polly によって生成された音声は 保存および再生できます。

ーーーーーーーーーーーーーーーーーーーーーーー ◎Amazon Rekognition 画像の分析をアプリケーションに簡単に追加できるようにす るサービスです。108Rekognition では、画像内の物体、シーン、および顔を検出できま す。顔を検索および比較することもできます。Amazon Rekognition API を使用して、洗練されたディープラーニングベースの視覚検索およびイメージ分類をアプリケーションにすばやく追加できます。

Amazon Rekognition では、分析する画像と保存する顔のメタデータに対してのみ支払います。最低料金や前払いの義務は発生しません。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー ◎Amazon Machine Learning どの技術レベルの開発者も簡単に機械学習のテクノロジーを使用できるサービスです。Amazon Machine Learning は、可視化ツールとウィザードを提供します。複雑な ML アルゴリズムやテクノロジーを習得することなく、表示される手順に従って、機械学習モデルを作成できます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

rainit2006 commented 6 years ago

モバイルサービス ◎AWS Mobile Hub AWS を使用すると、モバイルアプリケーションに簡単にクラウドサービスを追加し、サーバーレスのモバイルバックエンドを作成できます。また、ユーザーのアイデンティティとサインインを管理することやプッシュ通知を送信することに加え、アプリケーション内分析を使って使用パターンの追跡やアプリケーションの最適化を実行することができます。さらに、幅広い種類の実機でアプリケーションをテストできます。 image

◎Amazon Cognito Amazon Cognito でモバイルアプリやウェブアプリに、ユーザーのサインアップやサイ ンインを簡単に追加できるようになりました。Amazon Cognito を使用して、Facebook、Twitter、Amazon などのソーシャル ID プロバイダー経由で、SAML ID ソリューションを使用して、または独自の ID システムを使用して、ユーザーを認証することもできます。さらに、Amazon Cognito を使用すると、ユーザーのデバイスにローカルでデータを保存し、デバイスがオフラインであってもアプリケーションが機能するようにもできます。その後、ユーザーのデバイス間でデータを同期して、使用する デバイスを問わずアプリのエクスペリエンスに整合性を持たせることができます。

Cognito は、次の2つの機能を持っています。 1, Cognito Identity (Cognito はユーザーを一意にするために、次の2つの方法を取ります。 (1)匿名ユーザーとして ID を発行する (2)パブリックなログインプロバイダのユーザー ID と紐付ける) image 2, Cognito Sync (Data associated with an Amazon Cognito identity are organized as key/value pairs. A key is a label e.g. “MusicVolume”, and a value e.g. “11”. Key/value pairs are grouped and categorized using data sets. Data sets are a logical partition of key/value pairs and the most granular entity used by Amazon Cognito to perform sync operations. Each user information store can have a maximum size of 20MB. Each data set within the user information store can contain up to 1MB of data. Within a data set you can have up to 1024 keys. With Cognito Streams, you can push sync store data to a Kinesis stream in your AWS account. You can then consume this stream and store the data in a way that makes it easy for you to analyze such as a Amazon Redshift database, an RDS instance you own or even an S3 file. By streaming the data to Kinesis you can receive all of the history of changes to your datasets in real-time. This means you receive all the changes an end user makes to a dataset and gives you the flexibility to store this data in a tool of your choice.)

◎Amazon Pinpoint は対象を絞ったキャンペーンを容易に実行して、ユーザーのモバイ ルアプリケーションの利用度を高めることができます。112Amazon Pinpoint は、ユー ザーの行動を把握し、ターゲットにするユーザーや送信するメッセージを決定し、 メッセージを配信する最適な時間を計画し、キャンペーン開始後にキャンペーンの結 果を追跡するのに役立ちます。

◎AWS Device Farm はアプリテストサービスです。さまざまなデバイスの Android、iOS、 ウェブアプリを同時にテストおよび操作したり、デバイス上で問題をリアルタイムで 再現したりできます。113アプリケーションをリリースする前に、動画、スクリーン ショット、ログ、およびパフォーマンスデータを確認し、問題を検出および修正でき ます。

◎AWS Mobile SDK AWS Lambda、Amazon S3、Amazon DynamoDB、Amazon Mobile Analytics、Amazon Machine Learning、Elastic Load Balancing、Auto Scaling、その他さまざまな AWS のサービスに簡単に アクセスできます。 AWS Mobile SDK には、iOS、Android、Fire OS、Unity 向けのライブラリ、コードサンプ ル、およびドキュメントが含まれているため、各種のデバイスやプラットフォームで 優れたサービスを提供するアプリケーションを構築できます。

◎Amazon Mobile Analytics アプリ使用量やアプリ収益を計測できます。新規ユーザーかリピートユーザーか、アプリの収益、ユーザーの維持、そしてアプリケーション内でのカスタム動作イベントなどのキートレンドを追跡することで、データを基にした決定を下し、アプリのエンゲージメントや収益を増やすことができます。Mobile Analytics コンソールで主要なグラフを表示し、アプリケーションイベントデータを Amazon S3 と Amazon Redshift に自動的にエクスポートして、カスタム分析を実行できます。

rainit2006 commented 6 years ago

アプリケーションサービス ◎AWS Step Functions 視覚的なワークフローを使用して、分散アプリケーションと マイクロサービスのコンポーネントを簡単に調整できます。それぞれ別個の機能を実 行する個々のコンポーネントからアプリケーションを構築することで、簡単にアプリ ケーションをスケールおよび変更できるようになります。

◎Amazon API Gateway 全面的に管理されたサービスで、開発者はこれを利用することにより、どのようなスケールであっても、簡単に API の作成、配布、保守、監視、保護が行えます。

Amazon API Gateway is a fully managed service for defining, deploying, and maintaining APIs. Clients integrate with the APIs using standard HTTPS requests。

◎Amazon Elastic Transcoder クラウドでのメディア変換です。

簡単に言うと、AWS上で動画のエンコードを行えるソリューションです。動画エンコードもクラウドで行える時代ですね。 しかも、エンコードの時間ではなく、元動画の時間で課金がされます。また、Pipelineの中のJobという形で並行して同一の元動画から、複数の形式でエンコードが行えます。また、サムネイルも作成することもできます。 データの入出力はS3で行われるので、大容量の動画のエンコードも楽に行えます。 http://d.conma.me/entry/2013/01/30/002445

◎Amazon SWF (Amazon Simple Workflow) 開発者が並列またはシーケンシャルステップを含むバックグラウンドジョブを構築、実行、拡張するのを支援します。

Q: AWS Step Functions と Amazon Simple Workflow Service (SWF) はどのように使い分けますか? AWS Step Functions では、より生産的かつ機敏なアプローチにより、視覚的ワークフローを使用してアプリケーションコンポーネントを調整できるため、新しいアプリケーションには AWS Step Functions を使用することをお勧めします。プロセスにおいて介入する外部信号が必要な場合、または結果を親に返す子プロセスを起動する場合は、Amazon Simple Workflow Service (SWF) を使用してください。

rainit2006 commented 6 years ago

メッセージング ◎Amazon Simple Queue Service (Amazon SQS) 完全マネージド型のメッセージキューイングサービスです。

◎Amazon Simple Notification Service (Amazon SNS) マネージド型のプッシュ通知サービスです。このサービスを使用すると、個々のメッセージを送信 したり、多数の受信者にメッセージをファンアウトしたりできます。

◎Amazon Simple Email Service (Amazon SES) は Amazon.com が自社のお客様を基準として開発した高信頼でスケーラブルなインフラストラクチャに構築された費用対効果の高い Eメールサービスです。

rainit2006 commented 6 years ago

ビジネスの生産性 ◎Amazon WorkDocs 完全マネージド型のセキュアなエンタープライズストレージおよび共有サービスであり、 ユーザーの生産性を高める強力な管理制御とフィードバック機能を備えています。

類似サービスとして、 --Dropbox --Google Drive --Microsoft OneDrive  --Adobe Creative Cloud(ストレージ)

◎Amazon WorkMail の企業向け E メールおよびカレンダーサービスで、デスクトップとモバイルの既存の E メールクライアントに対応しています。

◎Amazon Chime 音声/ビデオ通話サービス。

rainit2006 commented 6 years ago

デスクトップとアプリケーションのストリーミング ◎Amazon WorkSpaces AWS クラウドで動作する完全マネージド型のセキュアなデスクトップコンピューティングサービスです。Amazon WorkSpaces を使用することで、クラウドベースの仮想デスクトップを簡単にプロビジョニングでき、ユーザーはWindows や Mac のコンピュータ、Chromebook、iPad、Fire タブレット、および Androidタブレットといったサポート対象デバイス、また Chrome および Firefox ウェブブラウ ザから、必要なドキュメント、アプリケーション、およびリソースにアクセスできるようになります。 image

◎Amazon AppStream 2.0 デスクトップのアプリケーションをストリーミング配信させることのできるサービスです。 デバイスを問わず、Webブラウザからアプリケーションを利用することができ、IDフェデレーションもサポートされているので外出先からもセキュアに利用ができます。 image

ユースケース: 社外に持ち運ぶデバイスからの利用ができる為、リモートオフィスや自宅から必要なアプリケーションを利用するということが挙げられます。 Word機能やExcel機能を使うだけならOffice 365でも良いですが、Eclipse等の開発用アプリケーションをダウンロードすることなく利用できるのはAppStream 2.0の強みだと思います。

また、AWSには仮想デスクトップサービス「Amazon WorkSpaces」があり、似たようなユースケースが挙げられますが、デスクトップ環境そのものではなく単にアプリケーションを使いたいという用途であればAppStream 2.0の方が簡単に利用できます。

rainit2006 commented 6 years ago

IoT ◎AWS IoT プラットフォーム AWS IoT の構成要素:

◎AWS Greengrass AWS GreengrassはLambda等のAWSで利用可能なサービスの一部をローカルデバイス上で実行できるようにする事で、エッジ側でのアプリケーション実行を簡単にできるサービスです。

IoTでデータをクラウドに集めよう、という時、実際の業務ではいくつか懸念点が出ることがあります。例えば ・レイテンシを10ms以下に押さえたい。クラウドに上げると処理が間に合わない ・デバイスが置かれる場所に通信が通らない(山の中とか) 。。。 のような場合です。このような場合は手元のデバイス、もしくはゲートウェイにてクラウドの代わりに処理を行い、クラウドにあげてもいいデータのみをあげてもいいタイミングでまとめてあげる、というのがベストプラクティスとなります。これを「エッジコンピューティング」「フォグコンピューティング」と言います。速さを追求することが多いのでC++で書いたりすることが多いのですが、Greengrassではこのエッジコンピューティングを「AWSリソースが動くコンテナをデバイスにデプロイする」ことで解決しました。

◎AWS IoT ボタン Amazon Dash Button ハードウェアをベースにしたプログラミング可能なボタンです。

クラウド内のボタンのロジックをコーディングして、アイテムのカウントまたはト ラッキング、呼び出しまたは警告、何かの開始または停止、サービスのオーダー、ま たはフィードバックを提供するようにボタンのクリックを設定できます。例えばボタ ンをクリックして、車のロック解除や始動、ガレージのオープン、タクシーの配車、 配偶者やカスタマーサービスの代表者の呼び出し、家庭の日用品、薬品または製品の 使用量のトラッキング、または家電のリモートコントロールを行えます。

image https://dev.classmethod.jp/cloud/aws/deploy-aws-iot-button-with-ios-app/

rainit2006 commented 6 years ago

ゲーム開発 ◎Amazon GameLift セッションベースのマルチプレイヤーゲーム専用のゲームサーバーをデプロイ、運用、スケーリングするためのマネージドサービスです。

◎Amazon Lumberyard 無料のクロスプラットフォーム 3D ゲームエンジンです。

rainit2006 commented 6 years ago

Key Points

rainit2006 commented 6 years ago
rainit2006 commented 6 years ago
rainit2006 commented 6 years ago

S3 1. S3バージョニング機能 Versioning can be suspended. not enabled versioning, verion ID is NULL. MFA Delete

S3 MFA Deleteは、バージョニング機能のオプションとして動作します。バージョンIDを指定しない通常のファイル操作(作成、変更、削除)は通常通りで、バージョンIDを指定する削除操作のみ、MFAデバイスによる認証を必須とするオプションです。

2. S3ライフサイクル機能(Object Lifecycle Management) A lifecycle configuration is a set of rules that define actions that Amazon S3 applies to a group of objects. There are two types of actions: (1)移行アクション(Transition actions) – 別のストレージクラスにオブジェクトを移行するタイミングを定義します。たとえば、作成後 30 日目に STANDARD_IA (IA、少頻度アクセス) ストレージクラスにオブジェクトを移行し、作成後 1 年目に GLACIER ストレージクラスにオブジェクトをアーカイブするよう選択することができます。 (2) 失効アクション(Expiration actions) – Amazon S3 はユーザーに代わって有効期限切れのオブジェクトを削除します。

3、アクセス制限: ACL(拒否設定できない)、パッケージポリシー(拒否設定可能)、IAMポリシー(拒否設定できない)。 https://aws.amazon.com/jp/blogs/security/iam-policies-and-bucket-policies-and-acls-oh-my-controlling-access-to-s3-resources/ IAM policies vs. S3 bucket policies S3 bucket policies, on the other hand, are attached only to S3 buckets. S3 bucket policies specify what actions are allowed or denied for which principals on the bucket that the bucket policy is attached to (e.g. allow user Alice to PUT but not DELETE objects in the bucket). S3 bucket policies are a type of access control list, or ACL。 Note: You attach S3 bucket policies at the bucket level (i.e. you can’t attach a bucket policy to an S3 object), but the permissions specified in the bucket policy apply to all the objects in the bucket.

◎Sample S3 Bucket Policy This S3 bucket policy enables the root account 111122223333 and the IAM user Alice under that account to perform any S3 operation on the bucket named “my_bucket”, as well as that bucket’s contents.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": ["arn:aws:iam::111122223333:user/Alice",
                "arn:aws:iam::111122223333:root"]
      },
      "Action": "s3:*",
      "Resource": ["arn:aws:s3:::my_bucket",
                   "arn:aws:s3:::my_bucket/*"]
    }
  ]
}

◎Sample IAM Policy This IAM policy grants the IAM entity (user, group, or role) it is attached to permission to perform any S3 operation on the bucket named “my_bucket”, as well as that bucket’s contents.

{
  "Version": "2012-10-17",
  "Statement":[{
    "Effect": "Allow",
    "Action": "s3:*",
    "Resource": ["arn:aws:s3:::my_bucket",
                 "arn:aws:s3:::my_bucket/*"]
    }
  ]
}

Note that the S3 bucket policy includes a “Principal” element, which lists the principals that bucket policy controls access for. The “Principal” element is unnecessary in an IAM policy, because the principal is by default the entity that the IAM policy is attached to.

When to use IAM policies vs. S3 policies? 如果只想控制S3资源的话用S3 policies, 否则可以用IAM。

S3 ACLs(不同于通常的ACL) As a general rule, AWS recommends using S3 bucket policies or IAM policies for access control. S3 ACLs is a legacy access control mechanism that predates IAM. However, if you already use S3 ACLs and you find them sufficient, there is no need to change.

●How does authorization work with multiple access control mechanisms? In accordance with the principle of least-privilege, decisions default to DENY and an explicit DENY always trumps an ALLOW. For example, if an IAM policy grants access to an object, the S3 bucket policies denies access to that object, and there is no S3 ACL, then access will be denied. Similarly, if no method specifies an ALLOW, then the request will be denied by default. Only if no method specifies a DENY and one or more methods specify an ALLOW will the request be allowed.

4, 署名(期限)付きURL

Pre-Signed URLs A pre-signed URL gives you access to the object identified in the URL, provided that the creator of the pre-signed URL has permissions to access that object. That is, if you receive a pre-signed URL to upload an object, you can upload the object only if the creator of the pre-signed URL has the necessary permissions to upload that object.

All objects and buckets by default are private. The pre-signed URLs are useful if you want your user/customer to be able to upload a specific object to your bucket, but you don't require them to have AWS security credentials or permissions. ★★When you create a pre-signed URL, you must provide your security credentials and then specify a bucket name, an object key, an HTTP method (PUT for uploading objects), and an expiration date and time. The pre-signed URLs are valid only for the specified duration.★★

With Query String Authentication, customers can create a URL to an Amazon S3 object which is only valid for a limited time. Because the request signature is part of the URL, this type of URL is often referred to as a presigned URL.

You can choose to encrypt data using SSE-S3, SSE-C, SSE-KMS, or a client library such as the Amazon S3 Encryption Client.

An Amazon VPC Endpoint for Amazon S3 is a logical entity within a VPC that allows connectivity only to S3. The VPC Endpoint routes requests to S3 and routes responses back to the VPC. (在VPC里面通信) You can limit access to your bucket from a specific Amazon VPC Endpoint or a set of endpoints using Amazon S3 bucket policies. S3 bucket policies now support a condition, aws:sourceVpce, that you can use to restrict access.

Amazon Macie Amazon Macie is an AI-powered security service that helps you prevent data loss by automatically discovering, classifying, and protecting sensitive data stored in Amazon S3.

"Query in Place" functionality Amazon S3 allows customers to run sophisticated queries against data stored without the need to move data into a separate analytics platform. S3 offers multiple query in place options, including S3 Select, Amazon Athena, and Amazon Redshift Spectrum, allowing you to choose one that best fits your use case.

S3 Select is an Amazon S3 feature that makes it easy to retrieve specific data from the contents of an object using simple SQL expressions without having to retrieve the entire object.

S3 Transfer Acceleration Amazon S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your client and your Amazon S3 bucket. S3 Transfer Acceleration leverages Amazon CloudFront’s globally distributed AWS Edge Locations. As data arrives at an AWS Edge Location, data is routed to your Amazon S3 bucket over an optimized network path.

5、データの整合性: 新規追加はS3から「完了」が返された後は整合性があるが。上書き、削除はS3から「完了」が返されてもすぐに反映するわけではない。 整合性の問題があるため、頻繁に上書き必要のデータ(DBのトランザクションログなど)に適用しない。 6、パッケットのサイズ制限5TBまで。 7、スタンダードクラス:データを同じリージョン中の3か所へ保存。 8、RRS (Reduced Redundancy Storage): 低冗長性、低コスト。(Rawデータから一時に作成されたデータの保存に最適): 費用対効果が良い。

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/request-rate-perf-considerations.html

rainit2006 commented 6 years ago

RDS RDSはAZサービスである。

  1. マルチAZ配置 マルチ AZ 配置を使用して DB インスタンスの高可用性およびフェイルオーバーサポートを提供します。 Oracle、PostgreSQL、MySQL、MariaDB DB インスタンスのマルチ AZ 配置では、Amazon のフェイルオーバーテクノロジーが使用されます。 SQL Server DB インスタンスでは SQL Server ミラーリングが使用されます。 Amazon Aurora インスタンスでは、1 つの AWS リージョン内の複数のアベイラビリティーゾーン間で DB クラスター内のデータのコピーが保存されます。

Amazon RDS のマルチ AZ 配置では、異なるアベイラビリティーゾーンに同期スタンバイレプリカが自動的にプロビジョニングされて維持されます。プライマリ DB インスタンスは複数のアベイラビリティーゾーンにまたがって、スタンバイレプリカに同期してレプリケートされます。

DB インスタンスの計画的な機能停止または計画外の機能停止が発生すると、マルチ AZ を有効にした場合は、Amazon RDS により別のアベイラビリティーゾーン内のスタンバイレプリカに自動的に切り替えられます。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html

  1. 自動バックアップ機能: Amazon RDS は、DB インスタンスの自動バックアップを作成および保存します。Amazon RDS は DB インスタンスのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、その DB インスタンス全体をバックアップします。 各リージョンの Amazon RDS バックアップストレージは、そのリージョンの自動バックアップと手動 DB スナップショットで構成されています。

自動バックアップは、優先されるバックアップウィンドウ中に毎日行われます。 バックアップ保持期間は、1 ~ 35 日間で設定できます。 デフォルトのバックアップ保持期間は、Amazon RDS API または AWS CLI を使用して DB インスタンスを作成する場合は 1 日、AWS コンソールを使用して DB インスタンスを作成する場合は 7 日間です。Amazon Aurora DB クラスターの場合、DB クラスターの作成方法に関係なく、デフォルトのバックアップ保持期間は 1 日です。 随時トランザクションログが取得されている。 バックアップによって特定時点への復旧を開始して、トランザクションログによって復元可能な最新時刻まで、任意の秒数を指定する事が可能。

Amazon RDS は、DB インスタンスのバックアップと復元を行うための 2 つの方法を提供しています。自動バックアップとデータベーススナップショット (DB スナップショット) です。

自動バックアップ: Amazon RDS は毎日、お客様のデータの完全なスナップショットを自動的に作成し (任意のバックアップウィンドウ中に実施)、トランザクションログを取得します (DB インスタンスに対する更新が実施される)。 保持期間中、特定時点への復旧を開始して、最大で復元可能な最新時刻 (Latest Restorable Time) まで、任意の秒数を指定することができます。 これは通常過去 5 分以内です。

-- 关于Snapshot Amazon RDS を使用すると、DB スナップショットと DB クラスタースナップショットをコピーできます。自動スナップショットも手動スナップショットもコピーできます。 同じ AWS リージョン内、AWS リージョン間、および AWS アカウント間でスナップショットをコピーできます。 -- Cross-Region Snapshot Copy for Amazon RDS image

自動化バックアップとデータベーススナップショット Amazon RDS の自動バックアップ機能によって、DB インスタンスのポイントインタイムリカバリが可能になります。DB インスタンスに対して自動バックアップがオンになっている場合、Amazon RDS は毎日、お客様のデータの完全なスナップショットを自動的に作成し (任意のバックアップウィンドウ中に実施)、トランザクションログを取得します (DB インスタンスに対する更新が実施される)。ポイントインタイムリカバリを開始する際、DB インスタンスをリクエストされた特定の時刻の状態に復元するために、最も適切なデイリーバックアップにトランザクションログを適用します。Amazon RDS は、DB インスタンスのバックアップを、ユーザーが指定する限られた期間 (保持期間) 中、保持します。保持期間はデフォルトでは 7 日間ですが、最大 35 日間に設定可能です。 保持期間中、特定時点への復旧を開始して、最大で復元可能な最新時刻 (Latest Restorable Time) まで、任意の秒数を指定することができます。 DB スナップショットはユーザーにより開始され、指定した頻度で既知の状態で DB インスタンスをバックアップすることができ、その後いつでもその特定の状態に復元することができます。

Amazon RDS DB スナップショットと自動バックアップは S3 に保存されます。 DB インスタンスを削除するときに、最終的な DB スナップショットを作成できます。その場合、この DB スナップショットを使用して、削除された DB インスタンスを後日復元できます。Amazon RDS は、DB インスタンスが削除された後に、このユーザーが作成した最終的な DB スナップショットと、手動で作成されたその他の DB スナップショットをすべて保持します。

  1. パッチ適用
  2. ストレージ

ーーーーーーーーーーーーーーーーーーーーーーーー ■DBサッブネット https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets DB サブネットグループは VPC に作成するサブネット (通常はプライベート) のコレクションで、DB インスタンス用に指定します。 Each DB subnet group should have subnets in at least two Availability Zones in a given region. When creating a DB instance in VPC, you must select a DB subnet group. Amazon RDS uses that DB subnet group and your preferred Availability Zone to select a subnet and an IP address within that subnet to associate with your DB instance. If the primary DB instance of a Multi-AZ deployment fails, Amazon RDS can promote the corresponding standby and subsequently create a new standby using an IP address of the subnet in one of the other Availability Zones.

■Hiding a DB Instance in a VPC from the Internet One common Amazon RDS scenario is to have a VPC in which you have an EC2 instance with a public-facing web application and a DB instance with a database that is not publicly accessible.

When you launch a DB instance inside a VPC, you can designate whether the DB instance you create has a DNS that resolves to a public IP address by using the Public accessibility parameter. This parameter lets you designate whether there is public access to the DB instance. Note that access to the DB instance is ultimately controlled by the security group it uses, and that public access is not permitted if the security group assigned to the DB instance does not permit it.

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ■実例 image

■一時的にMulti-AZにしてフェイルオーバーしたRDSのAvailability Zoneを元にもどす一番簡単な方法 http://blog.serverworks.co.jp/tech/2014/10/08/tgi-multi-az-pattern/

■どのタイミングでフェイルオーバーするのか? 下記の状態が発生した場合、プライマリBDインスタンスがスタンバイレプリカに自動的に切り替えられる。(フェイルオーバーする) ・アベイラビリティゾーンの機能停止 ・プライマリDBインスタンスのエラー ・DBインスタンスのサーバータイプ変更 ・DBインスタンスのオペレーティングシステムでソフトウェアのパッチ適用中 ・DBインスタンスの手動フェイルオーバーが [Reboot with failover] を使用して開始された

アプリケーション側ではフェイルオーバー時に処理が異常終了しないように、データベースとの通信ができない場合を考慮した設計になっていることも大事です。

Q: マルチ AZ 配置のコンテキストにおいて "プライマリ" と "スタンバイ" は何を意味しますか? A: DB インスタンスをマルチ AZ 配置として実行する場合、"プライマリ" はデータベースに読み込みと書き込みの機能を提供します。さらに、Amazon RDS は、背後で「スタンバイ」を設定して管理します。これはプライマリの最新レプリカになります。スタンバイはフェイルオーバー時に(プライマリに)「昇格」します。フェイルオーバー後、スタンバイはプライマリとなり、お客様のデータベースオペレーションを受け付けるようになります。昇格前には、どの時点においても、スタンバイと直接やりとり(例: 読み込みオペレーション)することはありません。

For database performance increase purpose, read replica is right one. (This supposes database is read replica supported DB, not Oracle or SQL Server) Multi-AZ is for mainly fail over purpose. Therefore answer is A.

注意RDS的容量问题 (最大不会超过16TB。 如果题目中需要的容量大于16TB,则要考虑使用DynamoDB):

rainit2006 commented 6 years ago

DynamoDB リージョンサービスである。プライベートサブネットからアクセス(テーブル操作など)するには、NATが必要。 アクセスやテーブル操作はIAMで管理 (セキュリティグループではない)。

データが同じ AWS リージョン内の 3 つの施設間でレプリケートされる.

項目に設定できる属性の数に制限はありません。 1 つの項目の合計サイズ(すべての属性名と属性値を含む)は 400 KB を超えることはできません。

Amazon DynamoDB テーブルで保存できるデータ量の制限はありません。 データセットのサイズが増えると、Amazon DynamoDB では、保存要件に対応するために十分な数のマシンリソースにデータが自動的に分散されます。

1 つのテーブルから取得できるスループットの量に制限はありません。

Amazon DynamoDB へのアクセスには、認証情報が必要です。

If you use Amazon DynamoDB, you may already be using AWS Data Pipeline to make regular backups to Amazon S3, or to load backup data from S3 to DynamoDB. https://aws.amazon.com/jp/blogs/aws/copy-dynamodb-data-between-regions-using-the-aws-data-pipeline/ ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ElastiCache AZサービスである、VPC中のEC2からのアクセスのみ受け付ける。 アクセス制御:セキュリティグループとサブネットのルーティンググループ(プライベートサブネットに配置)。 Amazon ElastiCache がサポートしているオープンソースのメモリ内キャッシュエンジン: Redis と Memcached。 image

RDSの負荷を軽減するメリットがある。

rainit2006 commented 6 years ago

セキュリティ制御 ■ネットワークACL: サブネットレベルで設定します。 ステートレス:戻りの通信はACLのルールに従いますので許可設定する必要があります。 デフォルトACLの初期設定:全てのインバウンドと全てのアウトバウンドを許可しています。

ACLの構成要素: ◇ルール番号 ◇プロトコル ◇インバウンドルールの場合:CIDR範囲のソースと宛先ポート(listen等)/範囲 ◇アウトバウンドルールの場合:CIDR範囲の宛先と宛先ポート/範囲 ◇許可または拒否

■セキュリティグループ: インスタンスレベルで設定します。EC2インスタンスへのアクセスを許可し、トラフィックを制御するファイアウォール。 ステートフル:戻りの通信はセキュリティグループの設定に関わらず許可されます。 Security Group only support allow, not deny. VPC 内でインスタンスを起動した場合、そのインスタンスには最大 5 つのセキュリティグループを割り当てることができます。 起動時に特定のグループを指定しないと、インスタンスは VPC のデフォルトのセキュリティグループに自動的に割り当てられます。 セキュリティグループは、サブネットレベルでなくインスタンスレベルで動作します。このため、VPC 内のサブネット内のインスタンスごとに異なるセキュリティグループのセットに割り当てることができます。 セキュリティグループを作成するときには、インバウンドルールはありません。 デフォルトでは、セキュリティグループにはすべてのアウトバウンドトラフィックを許可するアウトバウンドルールが含まれています。 デフォルトのセキュリティグループを削除することはできません。デフォルトのセキュリティグループを削除しようとした場合、Client.CannotDelete: the specified group: "sg-51530134" name: "default" cannot be deleted by a user エラーが発生します。

image

■IAM リージョンリソースを制御。 AWS Identity and Access Management (IAM) . AWS リソースへのアクセスを安全に制御するためのウェブサービスです。IAM を使用して、リソースを使用するために認証 (サインイン) され、許可された (アクセス権限を持つ) ユーザーを制御します。 IAM控制对象是用户,group或role。 IAM policies specify what actions are allowed or denied on what AWS resources (e.g. allow ec2:TerminateInstance on the EC2 instance with instance_id=i-8b3620ec). You attach IAM policies to IAM users, groups, or roles, which are then subject to the permissions you’ve defined.

Without IAM, you cannot control the tasks a particular user or system can do and what AWS resources they might use :TRUE!

You can work with AWS Identity and Access Management in any of the following ways.

  1. AWS Management Console
  2. AWS Command Line Tools
  3. AWS SDKs (consist of libraries and sample code)
  4. IAM HTTPS API

■STS AWS Security Token Service(AWS STS), 一時的セキュリティ認証情報. AWS Security Token Service(AWS STS)を使用して、AWS リソースへのアクセスを制御できる一時的セキュリティ認証情報を持つ、信頼されたユーザーを作成および提供することができます。一時的セキュリティ認証情報の機能は、IAM ユーザーが使用できる長期的なアクセスキー認証情報とほとんど同じですが、次の相違点があります。

  1. 使用期限が短くなっています。有効期限は数分から数時間に設定できます。
  2. 一時的セキュリティ認証情報はユーザーとともに保存されることはなく、ユーザーのリクエストに応じて動的に生成され、提供されます。一時的セキュリティ認証情報が失効すると(または失効する前でも)、ユーザーは新しい認証情報をリクエストできます。ただし、リクエストするユーザーがまだその権限を持っている場合に限ります。

AWS STS の使用には 3 つのステップがあります。

  1. リージョンをアクティブ化する (オプション)。
  2. AWS STS から一時的なセキュリティ認証情報を取得する。 例:AWS SDK for Java を使用して一時的なセキュリティ認証情報を取得する AWSSecurityTokenServiceClient sts_client = new AWSSecurityTokenServiceClient(); sts_client.setEndpoint("sts-endpoint.amazonaws.com");

GetSessionTokenRequest session_token_request = new GetSessionTokenRequest(); session_token_request.setDurationSeconds(7200); // optional.

  1. 認証情報を使用して AWS リソースにアクセスする。

image

■idフェデレーション フェデレーション(Federation)」を日本語に訳すと「連合、連携」といった意味になる。 よって「IDフェデレーション」とはその名の通り、IDを連携させるソリューションのことを指す。

AWSでは、STSとIDブローカー(ID Provider)を利用して、自社の認証基盤で認証が通れば、AWSリソースを利用できること。これをIDフェデレーションという。

ほとんどのシナリオでは、Amazon Cognito を使用することをお勧めします。Amazon Cognito は ID ブローカーとして機能し、ユーザーの代わりに多くのフェデレーション作業を行う。

■ Web identity federation You can let users sign in using a well-known third party identity provider such as Login with Amazon, Facebook, Google, or any OpenID Connect (OIDC) 2.0 compatible provider. AWS STS web identity federation supports Login with Amazon, Facebook, Google, and any OpenID Connect (OICD)-compatible identity provider.

■Which of the following strategies can be used to control access to your Amazon EC2 instances? Answer: EC2 security groups. IAM policies allow you to specify what actions your IAM users are allowed to perform against your EC2 Instances. However, when it comes to access control, security groups are what you need in order to define and control the way you want your instances to be accessed, and whether or not certain kind of communications are allowed or not. image image

■MFA(多要素認証, Multi-factor authentication ) Q. I already have a hardware authentication device from my place of work or from another service I use, can I re-use this device with AWS MFA? No. AWS MFA relies on knowing a unique secret associated with your authentication device in order to support its use. Because of security constraints that mandate such secrets never be shared between multiple parties, AWS MFA cannot support the use of your existing hardware authentication device. Only a compatible hardware authentication device purchased from Gemalto can be used with AWS MFA. image

rainit2006 commented 6 years ago

ELB

  1. 複数AZにまたがる。
  2. EC2のヘルスチェック
  3. ELB自体の自動スケーリング
  4. SSLのオフロード 暗号化された接続で SSL/TLS プロトコルを使用するロードバランサーを作成できます (SSL オフロードとも呼ばれます)。SSL証明書はEC2上ではなくELBで一元管理。
  5. Connection Draining 既存の接続を開いたまま、登録解除中のインスタンスまたは異常の発生したインスタンスにリクエストを送信しないようにする
  6. アクセスログ記録
  7. スティッキーセッション デフォルトでは、Classic Load Balancerは負荷が最小の登録されたインスタンスに各リクエストを個別にルーティングします。スティッキーセッション機能 (セッションアフィニティとも呼ばれる) を使用することによって、ロードバランサーがユーザーのセッションを特定のアプリケーションインスタンスにバインドするように設定できます。これにより、ユーザーのセッション中のすべてのリクエストが同じインスタンスに送信されます。

ELB supports sticky session, However, ELB does not support SNI yet, it is not feasible to bind multiple SSL certificate to single ELB. To enable sticky session, the SSL has to terminate on the same ELB. one ELB can only bind to one SSL cert.

リスナー Elastic Load Balancing の使用を開始する前に、Classic Load Balancerに 1 つ以上のリスナーを設定する必要があります。 リスナーとは接続リクエストをチェックするプロセスです。 It is configured with a protocol and a port for front-end (client to load balancer) connections, and a protocol and a port for back-end (load balancer to back-end instance) connections.

If the front-end connection uses TCP or SSL, then your back-end connections can use either TCP or SSL. If the front-end connection uses HTTP or HTTPS, then your back-end connections can use either HTTP or HTTPS.

Elastic Load Balancing は次のプロトコルをサポートしています。 -- HTTP -- HTTPS (セキュア HTTP) -- TCP -- SSL (セキュア TCP)

Currently, ELBs cannot support authentication for the client side SSL/TLS cert required for two-way SSL authentication to succeed. In order to “two-way” SSL authentication (从ELB的角度就是实现Client Certificate Authentication, where the client provides its Client Certificate to the Server to prove its identity.)

HTTPSをサポート リスナープロトコルが HTTPS の場合は、リスナーに SSL サーバー証明書を 1 つだけデプロイする必要があります。 ・If you use HTTPS or SSL for your front-end connections, you must deploy an X.509 certificate (SSL server certificate) on your load balancer. The load balancer decrypts requests from clients before sending them to the back-end instances. ・If you don't want the load balancer to handle the SSL termination (known as SSL offloading), you can use TCP for both the front-end and back-end connections, and deploy certificates on the registered instances handling requests.

Application Load Balancer は Websockets のネイティブ サポートを提供します。WebSocket は、HTTP リスナーと HTTPS リスナーの両方で使用できます。

ELB now doesn't supports SSL mutual(相互的) authentication.

cooldown (Cooldown Period): it waits for the cooldown period to complete before resuming scaling activities.


Auto Scaling 三つコンポーネント: 1,起動設定(Launch Configuration) 2.Auto Scaling Group :最大数の設定はここ。

  1. Auto Scalingポリシー。

特徴: 1、正常時に希望台数(Desired Capacity)を維持。 2、複数AZまたがる時、AZ間でEC2数を均等する。

--スケールアウトを行う場合

  1. Scale Out Alarmがサーバの負荷を監視する
  2. サーバの状態がScale Out Alarmの閾値を超えたときにAuto Scaling Groupsに通知する
  3. 通知を受けたAuto Scaling GroupsはScale Out Policyに従ってスケールアウトを行う

--スケールインを行う場合

  1. Scale In Alarmがサーバの負荷を監視する
  2. サーバの状態がScale In Alarmの閾値を超えたときにAuto Scaling Groupsに通知する
  3. 通知を受けたAuto Scaling GroupsはScale In Policyに従ってスケールインを行う

-- Elastic Load Balancing supports three types of load balancers. You can select the appropriate load balancer based on your application needs. If you need flexible application management and TLS termination then we recommend you to use Application Load Balancer. If extreme performance and static IP is needed for your application then we recommend you to use Network Load Balancer. If your application is built within the EC2 Classic network then you should use Classic Load Balancer.

-- Q: Can I privately access Elastic Load Balancing APIs from my Amazon Virtual Private Cloud (VPC) without using public IPs? Yes, you can privately access Elastic Load Balancing APIs from your Amazon Virtual Private Cloud (VPC) by creating VPC Endpoints. With VPC Endpoints, the routing between the VPC and Elastic Load Balancing APIs is handled by the AWS network without the need for an Internet gateway, NAT gateway, or VPN connection.

rainit2006 commented 6 years ago

Route 53 リージョンサービス。 SLAは100% 登録すると、4か所のエッジロケーションのDNSサーバーに登録。 Route53が管理しているドメインに対してクリエが発生したら、一番近いDNSサーバーから応答する。

Route 53では、独自拡張である「ALIASレコード」という特殊なレコードがあります。 ALIASレコード: 一言で言ってしまえば「各AWSプロダクトで利用するDNS名専用の、CNAMEレコード風の挙動を実現するレコード」です。 下記のexample1はCNAMEで設定したもの、example2はALIASで設定したものです。結局は同じELBにつながっています。 image

CNAMEレコードを利用した場合、まずexample1.をDNSに問い合わせるとawseb--1110552124.ap-southeast-2.elb.amazonaws.comが返り、これをさらにDNSに問い合わせた結果として..**.183を得ます。つまり、DNSクエリが2回発生します。 一方、ALIASレコードを利用した場合は、example1.*から直接...183を得ますので、DNSクエリが1回で済みます。50%削減です。 ALIASレコードではなく、..**.183のAレコードを直接定義すればいいと考えるかもしれません。しかし、ELBのDNS名に対するIPアドレスは動的に変化する可能性があるため、そうすることはできません。 また、ALIASレコードは、CNAMEが対応できないZone apexの名前解決をサポートする。

レコードの設定: 1、加重ラウンドロビン トラフィックを分散させるため,ひとつのドメイン名に対して複数のホストを割り当てる必要がありました. image

2、レイテンシーベースルーティング 最小のレイテンシー(遅延)で利用できる AWS エンドポイントにユーザーをルーティングできます。 3、位置情報ルーティング ユーザーの位置情報に基づいてトラフィックをルーティングする際に使用します。 4、ヘルスチェック Webサーバーが正常に動作できなくなる場合、事前に設定したフェイルオーバー先のIPアドレス/名前を返す。

rainit2006 commented 6 years ago

CloudFront CDNサービス。静的コンテンツ格納。

キャッシュは最初にエンドーユーザからのアクセスがあった際に、オリジンサーバーからダウンロード/キャッシャされる。

■Origin CloudFrontのDistributionと呼ばれるものを作成し、それに対してコンテンツの取得元であるオリジンサーバを一つ指定します。CloudFrontの特徴として、オリジンサーバとしてS3バケットを指定できることが挙げられます。以降、S3をオリジンサーバに設定したディストリビューションをS3 Origin、その他の一般的なWebサーバをオリジンとしたサーバをCustom Originと呼びます。

■署名付きURL: S3中のパッケージをエンドユーザに直接アクセスさせるのではなく、CloudFront経由に限ってアクセスさせる。CloudFrontユーザを意味するOAI(Original Acess Identifyを作成し、OAIからのアクセスだけを許可する。

設定手順: AWSのコンソールから、CloudFrontを選択する。 「CreateDistribution」を押下し、「Web」のGet Startedを選択します。 HTTPやHTTPSで表示する通常のコンテンツ配信には、「Web」を選択します。 Distributionの設定 OriginSettingsでオリジンサーバの設定を行います。 ①OriginSettingsのOriginDomainNameから、作成したコンテンツ配信用のS3のバケット名を選択します。  →自動でoriginIDが挿入されます。 ②RestrictBucketAccessの「Yes」を選択  →S3バケットのコンテンツへのアクセスをCloudFrontからのみに制限する場合は「Yes」を選択します。


cloudfrontまとめ ■delivery

■RMTP

■private content

■feature

■SNI Server Name Indication, 同一个IP可用选择多个hostname, 用自己的SSL证书时选择,一般是客户端浏览器的选项 ■Dedicated IP 专属主机IP,不和其他hostname共用,传统SSL使用,现在大部分用SNI ■https with S3, s3不能独立用https, 但是结合cloudfront, 用 ACM Amazon Certificate Manager 生成的证书可以通讯 ■price charge with: data out, request, Invalidation request, SSL certificates Real Time Messaging Protocol (RTMP)

■TTL Time to liveの省略で、生存期間を示す言葉です。 キャッシュさせたくない場合、「最小 TTL」 の値を 0 にする必要


Optimizing Caching

rainit2006 commented 6 years ago

CloudFormation 自体の料金:無料。 用語:テンプレート、スタック。

テンプレートはユーザ独自で作成だけではなく、CloudFormerツールで作成可能。

Elastic Beanstalk

OpsWorks Chefレシピを実行。

注意:  CloudFormationからElastic Beanstalk/OpsWorksを呼び出すことができる。 Elastic Beanstalk/OpsWorksは、AWSリソースの設定(例:Auto Scaling設定など)はできない。やはりできるのはアプリ範囲である。

rainit2006 commented 6 years ago

EC2に接続するブロックストレージは2種類。 1、EBS(Elastic Block Store) 2、インスタンスストア

推奨されるのは「Amazon EBS backed」です。この AMI は起動が高速であり、永続的ストレージを使用しているからです。 image image

EBS-Backedインスタンス:起動、停止、再起動、削除ができる。 Instance store-backedインスタンス:再起動、削除ができる. インスタンスストアタイプのインスタンスには、Stopのステータスがありません。動いている(Running)か、止まっている(Terminated)かです。インスタンスが止まると、内部のデータは消えてしまいます。

EBS image

EBS最適化インスタンス(EBS–Optimized Instances): Amazon EBS I/O と、インスタンスからのその他のトラフィックとの間における競合を最小化して、EBS ボリュームに最適なパフォーマンスが実現 image

Provisional IOPS EBS: 高いIO性能。  EBSスナップショート: image image

EBS General Purpose SSD can provide bursts of performance up to 10,000 IOPS EBS Provisioned IOPS SSD: Max IOPS: 32,000***. EBS Throughput Optimized HDD : 500 IOPS EBS Cold HDD: 250 IOPS

プレイスメントグループ(Spread placement groups): プレイスメントグループは、単一のアベイラビリティーゾーン内のインスタンスを論理的にグループ化したものです。サポートされているインスタンスタイプとともにプレイスメントグループを使用すると、アプリケーションが低レイテンシーの 10 Gbps (ギガビット/秒) ネットワークに参加できるようになります。 その制約:

  1. AZを跨げない
  2. サブネットを跨げない
  3. インスタンスタイプの混在は出来ない A placement group is a logical grouping of EC2 instances within a single Availability Zone. Using placement groups enables applications to participate in a low-latency, 10 Gbps network. Placement groups are recommended for applications that benefit from low network latency, high network throughput or both.

Dedicatedインスタンス: ハードウェア専有インスタンスは、お客様専用のハードウェアの VPC で実行される Amazon EC2 インスタンスです。ハードウェア専有インスタンスは、他の AWS アカウントに属するインスタンスとは、ホストハードウェアのレベルで物理的に分離されます。

EBS ボリュームの種類:2 つのカテゴリに分類。 (1)I/O サイズの小さい頻繁な読み取り/書き込み操作を含むトランザクションワークロード用に最適化された SSD-Backed ボリューム。 主要なパフォーマンス属性は IOPS です。 (2)大きなストリーミングワークロード用に最適化された HDD-Backed ボリューム。 パフォーマンスの測定単位としては、IOPS よりスループット (MiB/秒単位で計測) の方が適しています。

EBSの暗号化 https://qiita.com/mou34/items/d62239a40458c667c49e https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSEncryption.html ・暗号化されたEBSボリュームを作成し、インスタンスタイプにアタッチする場合は下記のデータが暗号化される ◎ボリューム内の保存データ ◎ボリュームとインスタンスの間で移動される全てのデータ ◎ボリュームから作成された全てのスナップショット(自動的に暗号化される) ・それらのスナップショットから作成された全てのボリューム ・インスタンスと接続されたEBS間でのデータの保存、転送両方のセキュリテイを保証 ・暗号化は全てのEBSボリュームタイプでサポートされる。[gp2,io1,st1,sc1,standard] ・暗号化してもIOPSはしない時と同程度期待できる ・暗号化・復号化は透過的に行われるため、操作不要 ・特定のインスタンスタイプに使用可能。つまり使用できないインスタンスタイプあり ・暗号化されたボリュームとされていないボリュームを同時にアタッチ可能 ・Intel AES New Instructions (AES-NI) 命令セットを利用している。

■ルートデバイスストレージ 場所によってルートデバイスが ebs (Amazon EBS-Backed の場合) または instance store (Instance store-Backed の場合) と表示されます。


EBSまとめ ■general

■encrypted

■performence

■price

■snapshot -- Will I be able to access my EBS snapshots using the regular Amazon S3 APIs? No, EBS snapshots are only available through the Amazon EC2 APIs.

-- snapshots can be done in real time while the volume is attached and in use. However, snapshots only capture data that has been written to your Amazon EBS volume, which might exclude any data that has been locally cached by your application or OS. In order to ensure consistent snapshots on volumes attached to an instance, we recommend cleanly detaching the volume, issuing the snapshot command, and then reattaching the volume. For Amazon EBS volumes that serve as root devices, we recommend shutting down the machine to take a clean snapshot.

-- Each snapshot is given a unique identifier, and customers can create volumes based on any of their existing snapshots.

-- Q: What are the differences between Standard RIs and Convertible RIs? Standard RIs offer a significant discount on EC2 instance usage when you commit to a particular instance family. Convertible RIs offer you the option to change your instance configuration during the term, and still receive a discount on your EC2 usage.

-- Q: Do RIs provide a capacity reservation? Yes, zonal RIs. -- zonal RIs(可用区 RI) , regional RI(地区 RI) If you do not require the capacity reservation, then you should buy a regional RI.

Micro Instances : 在短时间内将 CPU 容量突增至 2 个 ECU。 它们非常适合具备下述特点的较低吞吐量应用程序和网站:定期消耗大量的计算周期,但在其他时间中只消耗极少的 CPU 来用于后台进程和守护程序等.

Compute Optimized Instances: designed for applications that benefit from high compute power. These applications include compute-intensive applications like high-performance web servers, high-performance computing (HPC), scientific modelling, distributed analytics and machine learning inference.

Each C4 instance type is EBS-optimized by default. 计算优化型实例具体包含哪些实例:  C4とC5

Accelerated Computing Instances: use hardware accelerators, or co-processors, to perform some functions, such as floating-point number calculation and graphics processing, more efficiently than is possible in software running on CPUs. Amazon EC2 provides three types of Accelerated Computing instances – 1、GPU compute instances for general-purpose computing, 2、GPU graphics instances for graphics intensive applications, 3、FPGA programmable hardware compute instances for advanced scientific workloads.

Cluster Instances:combine high compute resources with a high performance networking for High Performance Compute (HPC) applications and other demanding network-bound applications. 两种集群cluster:Cluster GPU Instance、High Memory Cluster Instance

-- Cluster instance和普通instance的区别: Cluster Compute and Cluster GPU Instances use differs from other Amazon EC2 instance types in two ways. First, Cluster Compute and Cluster GPU Instances use Hardware Virtual Machine (HVM) based virtualization and run only Amazon Machine Images (AMIs) based on HVM virtualization. Paravirtual Machine (PVM) based AMIs used with other Amazon EC2 instance types cannot be used with Cluster Compute or Cluster GPU Instances. Second, in order to fully benefit from the available low latency, full bisection bandwidth between instances, Cluster Compute and Cluster GPU Instances must be launched into a cluster placement group through the Amazon EC2 API or AWS Management Console.

General Purpose Instances (Amazon EC2 M5 Instances): M5 instances offer a good choice for running development and test environments, web, mobile and gaming applications, analytics applications, and business critical applications including ERP, HR, CRM, and collaboration apps.

Storage Optimized Instances: Memory Optimized Instances: VM Import/Export:VM Import/Export enables customers to import Virtual Machine (VM) images in order to create Amazon EC2 instances. Customers can also export previously imported EC2 instances to create VMs. Customers can use VM Import/Export to leverage their previous investments in building VMs by migrating their VMs to Amazon EC2.

rainit2006 commented 6 years ago

考试問題Point:

答题思路: – A highly available design : Use ELB and RDS Multi-AZ deployment. DynamoDB is already HighAvailble. – Leverages multiple regions for the most recently accessed content : As CloudFront supports dynamic contents, this is enough to meet this requirement. – Leverages multiple regions for latency sensitive portions of the web site : If latency is critical, Route 53 supports latency based routing. – User preferences support : User preference should be stored in database. SQS is also recommended for heavy DB update.

For connection to on-premise network through Direct Connect, below is step. – Add a Virtual Private Gateway(VGW) to VPC – Create private virtual interface in Direct Connect, and connect to VGW – Establish BGP session based on ASN – Route propagation is populated to the route tables in your VPC (generally in automatically)

rainit2006 commented 6 years ago

Elastic IP addressの料金発生 EPIは、「EC2インスタンスで使える、パブリックIPアドレス(グローバルIPアドレス)の固定IPアドレス」です。 料金が発生しない場合:起動しているEC2インスタンスで、EIPを1つだけ使用している場合。 なおAWS用語的には、EIPはEC2インスタンスと「関連付ける(associate)」という言い方をします。

下記のような利用をしているEIPについては、それぞれごとに料金が発生します。

  1. EIPを関連付けているEC2インスタンスが停止している場合
  2. EC2に関連付いていない(= 使わずに放置されている)EIP
  3. 関連付いているEC2は起動しているけれども、ふたつ目以降のEIPの場合
  4. EIPの「リマップ(remap)」を、1ヶ月に100回以上行った場合(101回目以降について $0.1)
rainit2006 commented 6 years ago

Multi-AZ配置 「EC2やRDS等を別々の場所に配置し、同期をとることで耐障害性、可用性を高める」ものです。

メリット:

デメリット:

rainit2006 commented 6 years ago

インスタンスメタデータとユーザーデータ インスタンスメタデータは、インスタンスに関するデータで、実行中のインスタンスを設定または管理するために使用します。 例:public IP address of your EC2 instance、instance id, instance-type, local-ipv4... https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-categories

CUIからはcurlを利用して、http://169.254.169.254/latest/meta-data/にリクエストを投げると、インスタンスメタデータ一覧が表示される

実行中のインスタンス内からユーザーデータを取得するには、次の URI を使用します。 http://169.254.169.254/latest/user-data

注意: インスタンスメタデータおよびユーザーデータにはそのインスタンス自体内からのみアクセスできるものの、データは暗号化手法によって保護されていません。インスタンスにアクセスできるユーザーなら誰でもそのメタデータを参照できます。したがって、重要なデータ (長期間使用する暗号化キーなど) については、適切な安全策によって保護する必要があります。パスワードなどの機密データは、ユーザーデータとして保存しないでください。

rainit2006 commented 6 years ago

カスタマーゲートウェイ(customer gateway (CGW))

AWS Direct Connect connection

rainit2006 commented 6 years ago

EC2 VM Import Connector VMWare provides add-on tool for AWS integration.AWS Connector

rainit2006 commented 6 years ago

重点说说IAM https://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-getting-started-again-aws-iam/ IAMユーザーは1つ以上のIAMグループに所属させ、IAMグループは1つ以上のIAMポリシーを設定します。

IAMユーザーとは、AWSを利用するアカウントに相当します。IAMユーザーの登録はユーザー名を入力します。ユーザーの作成時にアクセスキーを作成したい場合は「ユーザーごとにアクセスキーを生成」を選んでください。 image

IAMグループとは、IAMユーザーをまとめて管理するグループで、IAMユーザーは複数のグループに登録できます。 IAMユーザーの登録の手順: 1,グループ名を入力。 2,IAMポリシーを指定 3,ユーザを追加 image

IAMポリシーとは、AWSリソースに対する権限を設定です。 IAMポリシーは以下の3つの方法で作成できます。 1.AWS 管理ポリシーをコピー 2.Policy Generator 3.独自のポリシーを作成

基本的にはJSON形式のアクセスポリシー言語でアクセス条件を記述しますが、AWS 管理ポリシーからカスタマイズしたり、Policy Generator(下図)による質問形式で条件を入力することでIAMポリシーの生成が可能です。 image image

IAMロールとは、IAMユーザーやIAMグループではなく、AWSサービスやアプリケーション等、エンティティに対してにAWS の操作権限を付与するための仕組みです。 IAMロールをEC2インスタンスに付与すると、そのEC2インスタンス上で実行するAWSCLIやAWS SDKはクレデンシャルなしで利用できます。そんなことができて何が嬉しいかというと、EC2上にクレデンシャルを置かなくても良いのでクレデンシャルの漏洩リスクを回避できることや、EC2のAMIを別の環境へ移行した時に変更無しで再利用できることです。 image

クロスアカウントアクセスのロール あるIAMアカウントに対して別のアカウントのIAMロールを紐付ける機能です。例えば、本番環境に触れるロールを事前に作っておき、必要な時にそのロールにスイッチすることで、IAMユーザ一を作らずに他のアカウントのIAMユーザーが一時的に本番環境に触れるようにすることができます。 image

ID プロバイダアクセス用のロール 外部の認証機構である 外部 ID プロバイダーサービス(IdP)との連携を設定します。以下の具体例については、後述の AWS Security Token Service(STS) で紹介します。

多要素認証(MFA) ユーザー・パスワード漏洩によるなりすましの防止には多要素認証(MFA)の導入が効果的です。専用のハードウェアとソフトウェアがあります。 例:Google Authenticator 、Authy

ユーザーのアクティビティの記録 AWS CloudTrailはAWSアカウントで利用された全てのAPI Callを記録するサービスです。全リージョンでの有効化を推奨します。IAMのアクテビティの監査にご利用ください。

AWS Security Token Service(STS) 一時的に利用するトークンを発行するサービスで、動的にIAMユーザーを作成し、ポリシーを適用できます。EC2インスタンスに付与したIAMロールから一時クレデンシャルを取得することにも利用されています。

IAMロールによるクロスアカウントアクセス IAMロールの解説したクロスアカウントアクセスは、実は内部ではSTSを利用して実現した機能です。

API FederationによるAWSリソースへのアクセス Windows Active Directory認証したユーザーのAWSアクセス権を紐付けはFederationProxyが行い、FederationProxyのGetFederationTokenリクエストによって、テンポラリセキュリティクレデンシャルを取得することで実現します。 image

SAML プロバイダへのウェブシングルサインオン(WebSSO) IAMは SAML2.0をサポートしており、新しいAssumeRoleWithSAML APIによりAPIフェデレーションが可能になりました。SAMLを利用してADFSといった既存のID管理ソフトウェアによるAWSリソースへのアクセスできますので、マネジメントコンソールのシングルサインオンにも利用できます。FederationProxyサーバーのような紐付けするサーバー不要な点が優れています。 image

Web Identity Federation によるAWSリソースアクセス Google、Facebook、Amazon(Login with Amazon)、Amazon、Cognito及びOIDC準拠のID プロバイダの認証とAWSのアクセス権を紐付けて連携させるユースケースです。モバイルアプリはウェブ ID プロバイダに対してユーザー認証してIDトークンを取得します。このIDトークン使ってSTSに対して一時的な認証情報取得をリクエストして一時的な認証情報を取得します。 image

ベストプラクティス image

IAM doesn’t control access to login to instances. With resource-level permissions, you can set permissions to reboot, start, stop, and terminate specific EC2 instances as well as set permissions to attach, delete, and detach EBS (Elastic Block Store) volumes. https://aws.amazon.com/jp/blogs/security/demystifying-ec2-resource-level-permissions/

+++++++++++++++++++++++++++++++++++++++++++ IAM Roles for Tasks

rainit2006 commented 6 years ago

One-way and two-way SSL authentication

★★★ CloudFront just support 1 way authentication until now。 实现Two-way SSL的办法: Configure ELB with TCP listeners on TCP/443. And place the Web servers behind it. This is effectively TLS “pass through” mode, where the TLS connection does not terminate on the ELB, it is passed through and decrypted on the back-end servers.

rainit2006 commented 6 years ago

Key Management Service(KMS) AWS KMS is a managed encryption service that enables you to easily encrypt your data. AWS KMS provides a highly available key storage, management, and auditing solution for you to encrypt your data across AWS services and within your own applications.

https://dev.classmethod.jp/cloud/aws/10minutes-kms/ image "鍵の鍵"がマスターキー、データを暗号化した鍵がデータキーです。これがKMSの基本的な考え方です。

机能主要包含:マスターキーの作成(CreateKey),データキーの生成(GenerateDataKey),データの暗号化@ローカル,データキーの復号,データの復号@ローカル,マスターキーの有効化/無効化 image

rainit2006 commented 6 years ago

サービスの「場所」 image

rainit2006 commented 6 years ago

关于网络连接 image

■VPC endpoint (VPCE) VPC エンドポイント を使用して、VPC を他の AWS サービスやエンドポイントサービスとプライベートに接続します。 VPC エンドポイント では、PrivateLink を使用する AWS サービスや VPC エンドポイントサービスに VPC をプライベートに接続できます。インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続は必要ありません。VPC のインスタンスは、サービスのリソースと通信するためにパブリック IP アドレスを必要としません。

VPC Endpoint for S3 S3にアクセスするにはインターネットを経由してアクセスしなければならない、という制約がありました。S3にアクセスするためにはVPCにIGWをアタッチして、一度IGWからインターネットに出てからS3にアクセスする必要がありました. VPC Endpoint機能を使うと、 VPCと別のAWSサービスとの間でプライベート接続を作成できるようになります。 つまり、S3にアクセスする際にも、インターネットを経由しなくてよくなるんですね。 では、早速設定を進めましょう。 – VPC endpoints for Amazon S3 provide secure connections to S3 buckets that do not require a gateway or NAT instances. NAT Gateways and Internet Gateways still route traffic over the Internet to the public endpoint for Amazon S3. There is no way to connect to Amazon S3 via VPN.

■VPCとの接続方法 1、Direct Connect(DX) (大量のデータ連携をする、コンプライアンスなどから閉域網での接続が必須の場合) 2、VPN接続 (DXよりコスト重視したい場合) 3、HTTPS/SSH (通信要件は特になし)

■IGW(Internet Gateway)と NAT IGW allows resources within your VPC to access the internet, and vice versa (逆にも). NAT: private subnet下的resources想访问internet时需要通过NAT,NAT必须存在于public subnet里。NAT only works one way. the internet at large cannot get through your NAT to your private resources unless you explicitly allow it.

■AWS のネットワーク設計入門 https://d0.awsstatic.com/events/jp/2017/summit/slide/D2T3-5.pdf image image image

■AWS PrivateLink https://aws.amazon.com/vpc/faqs/ AWS PrivateLink enables customers to access services hosted on AWS in a highly available and scalable manner, while keeping all the network traffic within the AWS network. Service users can use this to privately access services powered by PrivateLink from their Amazon Virtual Private Cloud (VPC) or their on-premises, without using public IPs, and without requiring the traffic to traverse across the Internet. Service owners can register their Network Load Balancers to PrivateLink services and provide the services to other AWS customers.

rainit2006 commented 6 years ago

Recommended Network ACL Rules for Your VPC https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html

  1. a single subnet with instances that can receive and send Internet traffic. image

■ RDBセキュリティグループ セキュリティグループにより DB インスタンスに対する送受信トラフィックへのアクセスを制御します。Amazon RDS では、DB セキュリティグループ、VPC セキュリティグループ、Amazon EC2 セキュリティグループという 3 種類のセキュリティグループを使用します。 -- DB セキュリティグループは、VPC 内にない EC2-Classic DB インスタンスへのアクセスを制御します。 -- VPC セキュリティグループは、VPC 内の DB インスタンスと EC2 インスタンスへのアクセスを制御します。 -- EC2 セキュリティグループは、EC2 インスタンスへのアクセスを制御します。

■デフォルトのネットワーク ACL と カスタムネットワーク ACL VPC には、変更可能なデフォルトのネットワーク ACL が自動的に設定されます。デフォルトでは、すべてのインバウンドおよびアウトバウンドの IPv4 トラフィックと、IPv6 トラフィック (該当する場合) が許可されます。 デフォルトでは、各カスタムネットワーク ACL は、ルールを追加するまですべてのインバウンドトラフィックとアウトバウンドトラフィックを拒否します。

rainit2006 commented 6 years ago

Shuffle Sharding: https://aws.amazon.com/jp/blogs/architecture/shuffle-sharding-massive-and-magical-fault-isolation/

rainit2006 commented 6 years ago

AWS Cost Explorer AWS Cost Explorer lets you dive deeper into your cost and usage data to identify trends, pinpoint cost drivers, and detect anomalies.

rainit2006 commented 6 years ago

AWS-Cost-Optimization-Pillar

■geographic location The following services and features are also important when you consider a geographic location: Amazon Route 53, Amazon CloudFront

■Managed Services AWS provides managed services for databases, such as Amazon RDS and Amazon DynamoDB. You can also use serverless or application-level services such as AWS Lambda, Amazon Simple Queue Service (Amazon SQS), Amazon Simple Notification Service (Amazon SNS), and Amazon Simple Email Service (Amazon SES).

The key AWS service for expenditure awareness is AWS Billing and Cost Management. ・ Cost Explorer: Use this tool to visualize and analyze your costs. ・ Tagging: Use tags to overlay business and organizational information onto your billing and usage data. ・ Amazon CloudWatch alerts: Create billing alerts that notify you when usage of your services exceeds financial thresholds you define.

■Optimizing Over Time

rainit2006 commented 6 years ago

Security Pillar https://d1.awsstatic.com/whitepapers/architecture/AWS-Security-Pillar.pdf • AWS STS lets you request temporary, limited-privilege credentials for authentication with other AWS APIs. • IAM instance profiles for EC2 instances allow you to leverage the Amazon EC2 metadata service and managed, temporary credentials for accessing other AWS APIs.

The key AWS features that support the protection of your systems are Amazon VPC security groups per-instance firewalls. The following services and features are also important: • Amazon Inspector can be used to identify vulnerabilities or deviations from best practices in your guest operating systems and applications. • Amazon EC2 Systems Manager Run Command provides a simple way of automating common administrative tasks such as remotely executing shell scripts or PowerShell commands with granular access control and visibility, installing software updates, or making changes to the configuration of the operating system. •Amazon EC2 Systems Manager State Manager helps you define and maintain consistent operating system configurations such as firewall settings and anti-malware definitions. • Amazon EC2 Systems Manager Inventory helps you collect and query configuration and inventory information about your instances and the software installed on them. • Amazon EC2 Systems Manager Parameter Store provides a centralized store to manage your configuration data. It also provides access control to specific parameters through integration with IAM and helps you encrypt sensitive information and protect the security of your keys through integration with AWS KMS. • Amazon EC2 Systems Manager Patch Manager helps you select and deploy operating system and software patches automatically across large groups of instances.

The key AWS service that supports service-level protection is IAM, which lets you define specific policies for many AWS resources. The following services are also important: • AWS KMS allows you to set policies on the individual key. • Amazon S3 allows you to set bucket policies for each S3 bucket.

By using resource tags, IAM policies, AWS KMS, and AWS CloudHSM, you can define and implement your policies for data classification. For example, if you have S3 buckets that contain highly critical data or EC2 instances that process confidential data, they can be tagged with a “DataClassification=CRITICAL” tag. You can define levels of access to the encryption keys through key policies to ensure that appropriate services have access to the sensitive content.

The key AWS feature that supports data classification is resource tagging, which provides an ability to apply custom-defined tags for resources. The following services are also important: • Amazon Macie uses machine learning to automatically discover, classify, and protect sensitive data in AWS. • AWS KMS allows you to define encryption keys and access policies to them.

The key AWS service that supports encryption is AWS KMS, which provides an easy-to-use, secure, and redundant key management service. The following services are also important: • AWS CloudHSM provides a hardware security module for managing your keys • Amazon DynamoDB provides a way to implement a fast NoSQL database. This can be used to store encrypted content for your tokens.

The key AWS service that protects data at rest is AWS KMS, which provides an easy-to-use, secure, redundant, key management service. The following services are also important: • Amazon S3 provides an object storage service that integrates with AWS KMS and allows you to supply your own keys. • Amazon EBS provides block storage integrated with AWS KMS. You can also perform block-level encryption with your operating system tools or third-party solutions. • Amazon Glacier provides a long-term data archival solution that encrypts content at rest.

The key AWS service that protects data in transit is ACM( AWS Certificate Manager), which helps you generate certificates used for establishing encrypted transport between systems. The following services and features are also important: • ELB Classic Load Balancers and Application Load Balancers help deploy and manage load balancers using secure endpoints. • Amazon CloudFront supports encrypted endpoints for your content distributions. • AWS Shield is a managed Distributed Denial of Service (DDoS) protection service that safeguards web applications running on AWS.

The key AWS service that supports data backup, replication, and recovery is Amazon S3. The following services and features are also important for backup and replication of data: • Amazon S3 Cross-Region Replication is an Amazon S3 bucketlevel feature that enables automatic, asynchronous copying of objects across buckets in different AWS Regions. • Amazon S3 lifecycle polices and versioning allow you to implement a backup strategy and meet retention requirements. • Amazon EBS snapshot operations let you back up your volumes attached to EC2 instances.

Several key AWS services and features are critical to a mature incident response: • IAM should be used to grant appropriate authorization to incident response teams. • AWS CloudFormation can be used to create a trusted environment for conducting deeper investigations. • Amazon EC2 APIs can be used to help isolate instances and mitigate the impact of a security incident. • AWS Step Functions can be used to coordinate a sequence of steps to automate incident response.

rainit2006 commented 6 years ago

whitepapers/AWS_Cloud_Best_Practices.pdf

Other scenarios require storage of larger files (e.g., user uploads, interim results of batch processes, etc.). By placing those files in a shared storage layer like Amazon S3 or Amazon Elastic File System (Amazon EFS) you can avoid the introduction of stateful components. Another example is that of a complex multistep workflow where you need to track the current state of each execution. Amazon Simple Workflow Service (Amazon SWF) can be utilized to centrally store execution history and make these workloads stateless.

■Instantiating Compute Resources

AWS Elastic Beanstalk and the Amazon EC2 Container Service (Amazon ECS) support Docker and enable you to deploy and manage multiple Docker containers across a cluster of Amazon EC2 instances.

■Loose Coupling

For an Amazon EC2 hosted service a simple way to achieve service discovery is through the Elastic Load Balancing service. Because each load balancer gets its own hostname you now have the ability to consume a service through a stable endpoint. This can be combined with DNS and private Amazon Route53 zones, so that even the particular load balancer’s endpoint can be abstracted and modified at any point in time.

Another option would be to use a service registration and discovery method to allow retrieval of the endpoint IP addresses and port number of any given service. Because service discovery becomes the glue between the components, it is important that it is highly available and reliable. If load balancers are not used, service discovery should also cater for things like health checking. Example implementations include custom solutions using a combination of tags, a highly available database and custom scripts that call the AWS APIs, or open source tools like Netflix Eureka, Airbnb Synapse, or HashiCorp Consul.

■Services, Not Servers

AWS IoT provides a fully managed device gateway that scales automatically with your usage, without any operational overhead for you.

■Databases

Relational database workloads that need to scale their write capacity beyond the constraints of a single DB instance require a different approach called data partitioning or sharding. Although Amazon RDS removes the operational overhead of running those instances, sharding introduces some complexity to the application. The application’s data access layer will need to be modified to have awareness of how data is split so that it can direct queries to the right instance.



- High Availability
 we recommend the use of the Amazon RDS Multi-AZ deployment feature, which creates a synchronously replicated standby instance in a different Availability Zone (AZ). 
 In case of failure of the primary node, Amazon RDS performs an automatic failover to the standby without the need for manual administrative intervention. 

- Anti-Patterns
If your application primarily indexes and queries data with no need for joins or complex transactions (especially if you expect a write throughput beyond the constraints of a single instance) consider a NoSQL database instead. 
If you have large binary files (audio, video, and image), it will be more efficient to store the actual files in the Amazon Simple Storage Service (Amazon S3) and only hold the metadata for the files in your database. 

- NoSQL Databases
 Amazon DynamoDB
- Scalability
NoSQL database engines will typically perform data partitioning and replication to scale both the reads and the writes in a horizontal fashion. 
- High Availability
The Amazon DynamoDB service synchronously replicates data across three facilities in an AWS region to provide fault tolerance in the event of a server failure or Availability Zone disruption.
- Anti-Patterns
If your schema cannot be denormalized and your application requires joins or complex transactions, consider a relational database instead. If you have large binary files (audio, video, and image), consider storing the files in Amazon S3 and storing the metadata for the files in your database.

- Data Warehouse
Amazon Redshift
- Scalability
Amazon Redshift achieves efficient storage and optimum query performance through a combination of massively parallel processing (**MPP**), columnar data storage, and targeted data compression encoding schemes.
- High Availability
We recommend that you deploy production workloads in multi-node clusters in which data written to a node is automatically replicated to other nodes within the cluster. Data is also continuously backed up to Amazon S3. Amazon Redshift continuously monitors the health of the cluster and automatically re-replicates data from failed drives and replaces nodes as necessary.
- Anti-Patterns
If you expect a high concurrency workload that generally involves reading and writing all of the columns for a small number of records at a time you should instead consider using Amazon RDS or Amazon
DynamoDB. 

■Search
On AWS, you have the choice between Amazon CloudSearch and Amazon Elasticsearch Service (Amazon ES).
 On the one hand, Amazon CloudSearch is a managed service that requires little configuration and will scale automatically. On the other hand, Amazon ES offers an open source API and gives you more controlover the configuration details. Amazon ES has also evolved to become a lot more than just a search solution. It is often used as an analytics engine for use cases such as log analytics, real-time application monitoring, and click stream analytics.
- Scalability
Both Amazon CloudSearch and Amazon ES use data partitioning and replication to scale horizontally. The difference is that with Amazon CloudSearch you do not need to worry about the number of partitions and replicas you will need because the service handles all that automatically for you.
- High Availability
Both services provide features that store data redundantly across Availability Zones. 

■Removing Single Points of Failure 
- Introducing Redundancy
In standby redundancy when a resource fails, functionality is recovered on a secondary resource using a process called failover.
- Detect Failure
 You can use services like ELB and Amazon Route53 to configure health checks and mask failure by routing traffic to healthy endpoints. 
In addition, Auto Scaling can be configured to automatically replace unhealthy nodes. You can also replace unhealthy nodes using the **Amazon EC2 autorecovery** feature or services such as AWS OpsWorks and AWS Elastic Beanstalk.

- Durable Data Storage
Amazon S3 versioning feature. With versioning, you can recover from both unintended user actions and application failures.
For example, you can maintain an asynchronous replica of a database in a separate AWS region as a disaster recovery solution.    **Amazon Dynamo : 複数の AWS リージョンにまたがって自動的にレプリケートされるテーブルを作成できます。**

- recovery point objective (RPO) and recovery time objective (RTO)
You need to ascertain how much data you would expect to lose and how quickly you would be able to resume operations. For example, the Redis engine for Amazon ElastiCache supports replication with automatic failover, but the Redis engine’s replication is asynchronous. During a failover, it is highly likely that some recent transactions would be lost. However, Amazon RDS, with its Multi AZ feature, is designed to provide synchronous replication to keep data on the standby node up-to-date with the primary. 

- Automated Multi-Data Center Resilience
 Each AWS region contains multiple distinct locations called Availability Zones. Each Availability Zone is engineered to be isolated from failures in other Availability Zones. An Availability Zone is a data center, and in some cases, an Availability Zone consists of multiple data centers. Availability Zones within a
region provide inexpensive, low-latency network connectivity to other zones in the same region. This allows you to replicate your data across data centers in a synchronous manner so that failover can be automated and be transparent for your users.

It is also possible to implement active redundancy so that you don’t pay for idle resources. For example, a fleet of application servers can be distributed across multiple Availability Zones and be attached to the Elastic Load Balancing service(ELB).

In fact, many of the higher level services on AWS are inherently designed according to the Multi-AZ principle. For example, Amazon RDS provides high availability and automatic failover support for DB instances using Multi-AZ deployments, while with Amazon S3 and Amazon DynamoDB your data is redundantly stored across multiple facilities. 

- Fault Isolation and Traditional Horizontal Scaling
Shuffle Sharding
One fault-isolating improvement you can make to traditional horizontal scaling is called sharding

■Optimize for Cost
- Right Sizing
 You should benchmark and select the right instance type depending on how your workload utilizes CPU, RAM, network, storage size, and I/O. 
Similarly, you can reduce cost by selecting the right storage solution for your needs.
- Elasticity
Ultimately, consider which compute workloads you could implement on AWS Lambda so that you never pay for idle or redundant resources.
Where possible, replace Amazon EC2 workloads with AWS managed services that either don’t require you to take any capacity decisions (e.g., ELB, Amazon CloudFront, Amazon SQS, Amazon Kinesis Firehose, AWS Lambda, Amazon SES, Amazon CloudSearch) or enable you to easily modify capacity as and when need (e.g., Amazon DynamoDB, Amazon RDS, Amazon Elasticsearch Service).
- Take Advantage of the Variety of Purchasing Options
Reserved Capacity for EC2
Reserved capacity options exist for other services as well (e.g., Amazon Redshift, Amazon RDS, Amazon DynamoDB, and Amazon CloudFront).
Spot Instances: Bidding strategy, Mix with On-Demand, Spot Blocks for Defined-Duration Workloads

■Caching
- Application Data Caching
Amazon ElastiCache 
- Edge Caching
Copies of static content (e.g., images, css files, streaming of pre-recorded video) and dynamic content (e.g., html response, live video) can be cached at Amazon CloudFront, which is a content delivery network (CDN) consisting of multiple edge locations around the world. Edge caching allows content to be served by infrastructure that is closer to viewers, lowering latency and giving you the high, sustained data transfer rates needed to deliver large popular objects to end users at scale.

■Security
- Utilize AWS Features for Defense in Depth
Services like AWS WAF, a web application firewall, can help protect your web applications from SQL injection and other vulnerabilities in your application code. 
For access control, you can use IAM to define a granular set of policies and assign them to users, groups, and AWS resources
- Offload Security Responsibility to AWS
 For example, when you use services such as Amazon RDS, Amazon ElastiCache, Amazon CloudSearch, etc., security patches become the responsibility of AWS. This not only reduces operational overhead for your team, but it could also reduce your exposure to vulnerabilities.

- Reduce Privileged Access
IAM roles 
For mobile applications, the use of Amazon Cognito allows client devices to get controlled access to AWS resources via temporary tokens. 
- Security as Code
 AWS CloudFormation script 
 AWS CloudFormation templates can be imported as “products" into AWS Service Catalog
- Real-Time Auditing
On AWS, it is possible to implement continuous monitoring and automation of controls to minimize exposure to security risks. Services like AWS Config, Amazon Inspector, and AWS Trusted Advisor continually monitor for compliance or vulnerabilities giving you a clear overview of which IT resources
are in compliance, and which are not. 
 With AWS Config rules you will also know if some component was out of compliance even for a brief period of time, making both point-in-time and period-in-time audits very effective. 
AWS CloudTrail is a web service that records API calls to supported AWS services in your AWS account
and delivers a log file to your Amazon S3 bucket.
You can use AWS Lambda, Amazon EMR, the Amazon Elasticsearch Service, or thirdparty tools from the AWS Marketplace to scan logs to detect things like unused permissions, overuse of privileged accounts, usage of keys, anomalous logins, policy violations, and system abuse. 
rainit2006 commented 6 years ago

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー Amazon SQS リージョンサービス。IAMでアクセス管理、プライベートからのアクセスはNATが必要。

1、Pull型(ポーリングされる必要がある) 2, 順序性の保証はしない(FirstInFristOutは保証しない)。 3、最低1回送信保証 メッセージはアプリケーションが取得時に自動削除されるのではなく、アプリケーションでは明示的に削除する必要がある。 4、可視性タイムアウト メッセージが受信された直後は、メッセージはキューに残ったままです。他のコンシューマーが同じメッセージを再び処理しないように、Amazon SQS は可視性タイムアウトを設定しています。この時間内では、他のコンシューマーによる同じメッセージの受信と処理が防止されます。メッセージのデフォルトの可視性タイムアウトは 30 秒です。最大スケールは 12 時間です。 image

image image https://www.slideshare.net/AmazonWebServicesJapan/aws-31275003

5、メッセージサイズは最大256KB 大きいデータを処理する際、SQSに格納先情報だけ、データ本体はS3に保存する。

★注意:SQSはメッセージの受信順位を保障しない。

■message retention period is 4 days by default Amazon SQS メッセージを保持する期間を、1 分間~14 日間の範囲内で設定できます。デフォルトでは 4 日間になっています。メッセージの保持期間が終了すると、お客様のメッセージは自動的に削除されます。

■SQS does not guarantee ordering of messages. If you 100% require a service that retains the order of messages, you could use Amazon Kinesis. An Amazon Kinesis stream is an ordered sequence of data records.

■SQS FIFO ユーザーが入力したコマンドが正しい順序で実行されていることを確認します。 FIFO キューはまた、1 回だけの処理を提供しますが、1 秒あたりのトランザクション (TPS) は制限されます。 FIFO キューの名前は .fifo サフィックスで終わる必要があります。

+++++++++++++++++++++++++++++++++++++++ Q: You run a website which hosts videos and you have two types of members, premium fee paying members and free members. All videos uploaded by both your premium members and free members are processed by a fleet of EC2 instances which will poll SQS as videos are uploaded. However you need to ensure that your premium fee paying members videos have a higher priority than your free members. How do you design SQS? Please select : A. SQS allows you to set priorities on individual items within the queue, so simply set the fee paying members at a higher priority than your free members. B. Create two SQS queues, one for premium members and one for free members. Program your EC2 fleet to poll the premium queue first and if empty, to then poll your free members SQS queue. C. SQS would not be suitable for this scenario. It would be much better to use SNS to encode the videos. D. Use SNS to notify when a premium member has uploaded a video and then process that video accordingly.

答え:B。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー SWF クラウド内の完全マネージド型の状態トラッカー、およびタスクコーディネーター. image