Open rainit2006 opened 6 years ago
AWS クラウドコンピューティングホワイトペーパー (aws.amazon.com/whitepapers) o アマゾン ウェブ サービスの概要 o セキュリティプロセスの概要 o リスクとコンプライアンスホワイトペーパー o クラウド内のストレージオプション o クラウド向けのアーキテクチャ: ベストプラクティス
ホワイトペーパー : アマゾン ウェブ サービスの概要
■グローバルインフラストラクチャ 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 を使用すると、自社でクラスター管理インフラストラクチャのインストール、運用、スケールを行う必要がなくなります。
ECS説明資料(Good) https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2016-amazon-ec2-container-service
◎Amazon EC2 Container Registry 開発者が Docker コンテナイメージを簡単に保存、管理、デプロイできる完全マネージド型の Docker コンテナレジストリです。
◎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 の特徴:
◎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.
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 クラウド間のシームレスなハイブリッドストレージが可能になります。 Storage Gatewayを利用するには、専用のEC2インスタンスが必要です。Storage Gatewayのクライアントは、このEC2に対してiSCSI接続を行い、Storage Gateway経由でS3上の仮想ボリュームをマウントするイメージになります。 手順は、おおまかに以下のとおりになります。
データベース ◎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 日のビデオによる監視、およびオプションで輸送中のセキュリティ伴走車が含ま れます。
ネットワーキングとコンテンツ配信 ◎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.パフォーマンスが良い
◎AWS Direct Connect お客様の設備から AWS への専用ネットワーク接続を簡単に確立することができます。 ネットワークのコストを削減する、帯域幅のスループットを向上させる、インターネットベースの接続よりも一貫性のあるネットワークの体験を提供することができます。 パブリック環境とプライベート環境の間でネットワークを分離できます。 https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-direct-connect
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:リクエストのコンテンツを含む拡張アプリケーションレベル情報に基づいてトラフィックをルーティングする 高度なルーティング機能、マイクロサービス、およびコンテナベースのアーキテクチャが必要なアプ リケーションに最適です。
開発者用ツール ◎AWS CodeCommit 完全マネージド型ソースコントロールサービスで、安全で非常にスケーラブルなプライベート Git リポジトリを簡単にホスティングできます。
◎AWS CodeBuild 完全マネージド型の構築サービスです。ソースコードのコンパイル、テストの実行、すぐにデプロイできるソフトウェアパッケージの生成を行います。
◎AWS CodeDeploy EC2 インスタンス、およびオンプレミスで稼働するインスタンスを含む、さまざまなインスタンスへのコードのデプロイを自動化するサービスです。
◎AWS CodePipeline 迅速で信頼性の高いアプリケーションとインフラストラクチャの更新を実現するための継続統合および継続配信サービスです。 CodePipeline は、お客様の定義するリリースプロセスモデルに基づいて、コードの変更があるたびに、コードのビルド、テスト、デプロイを実施します。
◎AWS X-Ray 開発者は本稼働または開発中の分散アプリケーション (マイクロサービスアーキテクチャを使用して構築されたものなど) を分析およびデバッグできます。
管理ツール ◎Amazon CloudWatch AWS のクラウドリソースと AWS 上でお客様が実行するアプリケーションをモニタリングするサービスです。 Amazon CloudWatch を使用して、メトリクスの収集と追跡、ログファイルの収集とモニタリング、アラームの設定、およびAWS リソースへの変更に対する自動的な対応が可能です。
Amazon EC2 インスタンスの基本モニタリング: 事前に選択した 7 種類のメトリクス(5 分間隔)と、3 種類の状態チェックメトリクス(1 分間隔)。追加料金なし。
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 マネージドサービスでは、ベスト プラクティスを実践してインフラストラクチャが管理されるため、運用のオーバー ヘッドとリスクを削減できます。変更リクエスト、モニタリング、パッチ管理、セ キュリティ、バックアップサービスなどの一般的なアクティビティが自動化され、イ ンフラストラクチャをプロビジョニング、実行、サポートするためにライフサイクル 全体にわたるサービスを利用できます。
セキュリティ、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 を使用 すると、カスタマイズ可能なウェブセキュリティルールを指定することによって、ど のトラフィックをウェブアプリケーションに許可またはブロックするかを制御できます。
分析 ◎Amazon Athena 標準 SQL を使用して Amazon S3 のデータの分析を簡易化するインタラクティブなクエリサービスです。Athena はサーバーレスなので、インフラストラクチャの管理は不要です。実行したクエリに対してのみ料金が発生します。 Athena は簡単に使えます。Amazon S3 にあるデータを指定して、スキーマを定義し、標準的な SQL を使ってデータのクエリを開始するだけです。 https://www.slideshare.net/AmazonWebServicesJapan/amazon-athena
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
◎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 Kinesis Firehose: ストリーミングデータを AWS にロードする最も簡単な方法です。ストリーミングデータをキャプチャし、変換し、Amazon Kinesis Analytics、Amazon S3、Amazon Redshift、および Amazon Elasticsearch Service に自動的にロードすることができる。
Amazon Kinesis Analytics: 新しいプログラミング言語や処理フレームワークについて学ぶことなく、標準 SQL でストリーミングデータを簡単にリアルタイムで処理、クエリする最も簡単な方法です。
Amazon Kinesis Streams: 専門的な必要性に応じて、ストリーミングデータを処理、または分析するカスタムアプリケーションを構築できます。 Amazon Kinesis Data Streams を使用して、データレコードの大量のストリームをリアルタイムで収集し、処理します。 一般的な Amazon Kinesis Data Streams application は、データを Kinesis stream からデータレコードとして読み込みます。これらのアプリケーションは Kinesis Client Library を使用することも、Amazon EC2 インスタンスで実行することもできます。処理されたレコードは、ダッシュボードに送信してアラートの生成や、料金設定と広告戦略の動的変更に使用できます。
An kinesis stream stores records for 24 hours by default.
◎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/
人工知能 ◎Amazon Lex 音声とテキストを使用してアプリケーションに会話型インターフェイスを構築するためのサービスです。 Lex では、自動音声認識 (ASR) という音声をテキストに変換するための高度な深層学習機能と、テキストの意図を理解するための自然言語理解 (NLU) を利用できます。
実用するにはlambda連携は必須。
Lexを使う上で重要なキーワードは下記3つです。
https://ledge.ai/amazon_lex/ 「ホテルの部屋を予約する」という想定のbotをつくってみました。 1.まずは、BookRoomというインテントを作成します。 2.次はスロットです。「意図を満たすために、重要となる情報はなにか」を考えます。また、その情報はプログラムに引き渡すことが前提なことも忘れてはいけません。 また、よく使いそうなスロットについては公式が既に用意してくれています。 3.最終的には達成アクションで、外部システムと連携し、これまでのスロットをプログラムで処理します。今回はサンプルとして、部屋の予約日をSlack上に通知するような処理を書きました。
◎Amazon Polly テキストを生きた話し声に変換するサービスです。 Polly には 24 の言語と 47 の音声が含まれているため、用途に最適な音声を選ん で、多くの国で使える音声対応のアプリケーションを簡単に構築できます。 Polly では、音声に変換した文字数のみ請求されます。Polly によって生成された音声は 保存および再生できます。
ーーーーーーーーーーーーーーーーーーーーーーー ◎Amazon Rekognition 画像の分析をアプリケーションに簡単に追加できるようにす るサービスです。108Rekognition では、画像内の物体、シーン、および顔を検出できま す。顔を検索および比較することもできます。Amazon Rekognition API を使用して、洗練されたディープラーニングベースの視覚検索およびイメージ分類をアプリケーションにすばやく追加できます。
Amazon Rekognition では、分析する画像と保存する顔のメタデータに対してのみ支払います。最低料金や前払いの義務は発生しません。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー ◎Amazon Machine Learning どの技術レベルの開発者も簡単に機械学習のテクノロジーを使用できるサービスです。Amazon Machine Learning は、可視化ツールとウィザードを提供します。複雑な ML アルゴリズムやテクノロジーを習得することなく、表示される手順に従って、機械学習モデルを作成できます。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
モバイルサービス ◎AWS Mobile Hub AWS を使用すると、モバイルアプリケーションに簡単にクラウドサービスを追加し、サーバーレスのモバイルバックエンドを作成できます。また、ユーザーのアイデンティティとサインインを管理することやプッシュ通知を送信することに加え、アプリケーション内分析を使って使用パターンの追跡やアプリケーションの最適化を実行することができます。さらに、幅広い種類の実機でアプリケーションをテストできます。
◎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 と紐付ける) 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 に自動的にエクスポートして、カスタム分析を実行できます。
アプリケーションサービス ◎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) を使用してください。
メッセージング ◎Amazon Simple Queue Service (Amazon SQS) 完全マネージド型のメッセージキューイングサービスです。
Amazon SQSを使う前に知っておきたい基本的なこと https://qiita.com/tomoya_ozawa/items/dc0286cdb30763eab174
マイクロサービス、分散システム、サーバーレスアプリケーションの切り離しとスケーリング : Amazon Simple Queue Service (SQS) キュー、AWS Lambda 関数、および HTTP エンドポイントにメッセージを直接プッシュできます。Amazon EC2、Amazon S3、Amazon CloudWatch などの AWS のサービスは、SNS トピックにメッセージを発行して、イベント駆動のコンピューティングやワークフローをトリガーすることができます。
モバイルデバイスにプッシュ通知と SMS を送信する
◎Amazon Simple Notification Service (Amazon SNS) マネージド型のプッシュ通知サービスです。このサービスを使用すると、個々のメッセージを送信 したり、多数の受信者にメッセージをファンアウトしたりできます。
◎Amazon Simple Email Service (Amazon SES) は Amazon.com が自社のお客様を基準として開発した高信頼でスケーラブルなインフラストラクチャに構築された費用対効果の高い Eメールサービスです。
ビジネスの生産性 ◎Amazon WorkDocs 完全マネージド型のセキュアなエンタープライズストレージおよび共有サービスであり、 ユーザーの生産性を高める強力な管理制御とフィードバック機能を備えています。
類似サービスとして、 --Dropbox --Google Drive --Microsoft OneDrive --Adobe Creative Cloud(ストレージ)
◎Amazon WorkMail の企業向け E メールおよびカレンダーサービスで、デスクトップとモバイルの既存の E メールクライアントに対応しています。
◎Amazon Chime 音声/ビデオ通話サービス。
デスクトップとアプリケーションのストリーミング ◎Amazon WorkSpaces AWS クラウドで動作する完全マネージド型のセキュアなデスクトップコンピューティングサービスです。Amazon WorkSpaces を使用することで、クラウドベースの仮想デスクトップを簡単にプロビジョニングでき、ユーザーはWindows や Mac のコンピュータ、Chromebook、iPad、Fire タブレット、および Androidタブレットといったサポート対象デバイス、また Chrome および Firefox ウェブブラウ ザから、必要なドキュメント、アプリケーション、およびリソースにアクセスできるようになります。
◎Amazon AppStream 2.0 デスクトップのアプリケーションをストリーミング配信させることのできるサービスです。 デバイスを問わず、Webブラウザからアプリケーションを利用することができ、IDフェデレーションもサポートされているので外出先からもセキュアに利用ができます。
ユースケース: 社外に持ち運ぶデバイスからの利用ができる為、リモートオフィスや自宅から必要なアプリケーションを利用するということが挙げられます。 Word機能やExcel機能を使うだけならOffice 365でも良いですが、Eclipse等の開発用アプリケーションをダウンロードすることなく利用できるのはAppStream 2.0の強みだと思います。
また、AWSには仮想デスクトップサービス「Amazon WorkSpaces」があり、似たようなユースケースが挙げられますが、デスクトップ環境そのものではなく単にアプリケーションを使いたいという用途であればAppStream 2.0の方が簡単に利用できます。
IoT ◎AWS IoT プラットフォーム AWS IoT の構成要素:
◎AWS Greengrass AWS GreengrassはLambda等のAWSで利用可能なサービスの一部をローカルデバイス上で実行できるようにする事で、エッジ側でのアプリケーション実行を簡単にできるサービスです。
IoTでデータをクラウドに集めよう、という時、実際の業務ではいくつか懸念点が出ることがあります。例えば ・レイテンシを10ms以下に押さえたい。クラウドに上げると処理が間に合わない ・デバイスが置かれる場所に通信が通らない(山の中とか) 。。。 のような場合です。このような場合は手元のデバイス、もしくはゲートウェイにてクラウドの代わりに処理を行い、クラウドにあげてもいいデータのみをあげてもいいタイミングでまとめてあげる、というのがベストプラクティスとなります。これを「エッジコンピューティング」「フォグコンピューティング」と言います。速さを追求することが多いのでC++で書いたりすることが多いのですが、Greengrassではこのエッジコンピューティングを「AWSリソースが動くコンテナをデバイスにデプロイする」ことで解決しました。
◎AWS IoT ボタン Amazon Dash Button ハードウェアをベースにしたプログラミング可能なボタンです。
クラウド内のボタンのロジックをコーディングして、アイテムのカウントまたはト ラッキング、呼び出しまたは警告、何かの開始または停止、サービスのオーダー、ま たはフィードバックを提供するようにボタンのクリックを設定できます。例えばボタ ンをクリックして、車のロック解除や始動、ガレージのオープン、タクシーの配車、 配偶者やカスタマーサービスの代表者の呼び出し、家庭の日用品、薬品または製品の 使用量のトラッキング、または家電のリモートコントロールを行えます。
https://dev.classmethod.jp/cloud/aws/deploy-aws-iot-button-with-ios-app/
ゲーム開発 ◎Amazon GameLift セッションベースのマルチプレイヤーゲーム専用のゲームサーバーをデプロイ、運用、スケーリングするためのマネージドサービスです。
◎Amazon Lumberyard 無料のクロスプラットフォーム 3D ゲームエンジンです。
Key Points
インスタンスには最大 5 つのセキュリティグループを割り当てることができる。
デフォルトでは、セキュリティグループにはすべてのアウトバウンドトラフィックを許可するが、すべてのインバウンドは拒否される。
セキュリティグループはステートフルです。インスタンスからリクエストを送信する場合、そのリクエストのレスポンストラフィックは、インバウンドセキュリティグループルールにかかわらず、流れることができます。許可されたインバウンドトラフィックに対する応答(戻りのトラフィック)は、アウトバウンドルールにかかわらずアウト側に対し通過することができます。 Security groups are stateful — if you send a request from your instance, the response traffic for that request is allowed to flow in regardless of inbound security group rules. Responses to allowed inbound traffic are allowed to flow out, regardless of outbound rules.
ACLはデフォルトでは、すべてのインバウンドとアウトバウンドを許可する。
VPCピアは、2つのVPCは同一リージョンに存在する必要がある。また、プライベートアドレス空間は重複できない。VPC接続は1対1である。あるVPCを経由で別のVPCに接続することができない。
サブネットはAZを跨って設定することができない。
VPC内のすべてのサブネット間の通信はデフォルトのルーティングテーブルでは許可されており、削除や変更ができない。
クラスタプレイスメントグループ(Cluster Placement Groups) A cluster placement group is a logical grouping of instances within a single Availability Zone. Placement groups are recommended for applications that benefit from low network latency, high network throughput, or both. グループ化されたインスタンスは物理的に距離が近くなり通信コストが減る AZ・サブネットをまたげない インスタンスタイプを混在させることができない
SnapShot S3に保存される 2回目以降は差分保存できる 他のアカウントと共有可能
インスタンスストア 別名:エフェメラルディスク(Ephemeral Disk) 揮発性ストレージの種類の一つ 無料で使える t1/t2インスタンスでは利用できない(m3.medium以上) 別のインスタンスへアタッチすることはできない インスタンスの停止・終了でデータは失われる インスタンスの再起動(意図しないものでも)ではデータは失われない
[EBS] Provisioned IOPS IOPSを指定できる EBS Optimized Instanceを使うことが前提 合計20TB / 10,000IOPSが上限 上限は申請ベースで解除できる
[EC2] Optimized Instance EBS用にネットワーク帯域最適化を行う 500Mbps ~ 2000Mbps
AWS Trusted Advisor では、4 つのカテゴリでのベストプラクティスをご提案します。
Know how to troubleshoot a connection time out error when trying to connect to an instance in your VPC. "You need a security group rule that allows inbound traffic from your public IP address on the proper port, you need a route that sends all traffic destined outside the VPC (0.0.0.0/0) to the Internet gateway for the VPC, the network ACLs must allow inbound and outbound traffic from your public IP address on the proper port," etc.
Know how to enable cross-account access with IAM. "To delegate permission to access a resource, you create an IAM role that has two policies attached. The permissions policy grants the user of the role the needed permissions to carry out the desired tasks on the resource. The trust policy specifies which trusted accounts are allowed to grant its users permissions to assume the role. The trust policy on the role in the trusting account is one-half of the permissions. The other half is a permissions policy attached to the user in the trusted account that allows that user to switch to, or assume the role."
Know the difference between Directory Service's AD Connector and Simple AD. "Use Simple AD if you need an inexpensive Active Directory–compatible service with the common directory features. AD Connector lets you simply connect your existing on-premises Active Directory to AWS."
NAT インスタンスの基本 プライベートサブネットのインスタンスからパブリックサブネット内の NAT インスタンスにトラフィックを送信します。 NAT インスタンスは、そのトラフィックを VPC のインターネットゲートウェイに送信します。 トラフィックは NAT インスタンスの Elastic IP アドレスによってもたらされます。NAT インスタンスは応答用に大きなポート番号を指定します。 応答が戻ってきた場合、NAT インスタンスはそれをプライベートサブネット内のインスタンスに、応答用のポート番号に基づいて送信します。
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
Amazon S3 バケットのワークロードが毎秒 100 回の PUT/LIST/DELETE リクエストまたは毎秒 300 回の GET リクエストを頻繁に超える場合は、最高のパフォーマンスとスケーラビリティを確保するため、このトピックのガイドラインに従ってください。 1), キー名を連続するパターンにすると、パフォーマンス上の問題が発生します。 ワークロードが 1 秒あたり 100 個のリクエストを常に超えることが予想される場合、連続するキー名は避けてください。キー名で連番や日付と時刻のパターンを使用する場合は、キー名にランダムなプレフィックスを追加します。プレフィックスがランダムであることで、キー名が複数のインデックスパーティションに均等に分散されます。 タイムスタンプやアルファベット順などの順次プレフィックスを使用すると、Amazon S3 が対象とする特定のパーティションに大量のキーが集中し、そのパーティションの I/O 容量がひっ迫する可能性が増大します。キー名のプレフィックスをランダムにすると、キー名、したがって I/O ロードは複数のパーティションに分散されます。 2), 大量の GET を使用するワークロード パフォーマンスを最適化するために、前述のガイドラインに加えて、Amazon CloudFront の使用を検討してください。
Amazon S3 multipart upload Multipart upload allows you to upload a single object as a set of parts. https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
RDS RDSはAZサービスである。
Amazon RDS のマルチ AZ 配置では、異なるアベイラビリティーゾーンに同期スタンバイレプリカが自動的にプロビジョニングされて維持されます。プライマリ DB インスタンスは複数のアベイラビリティーゾーンにまたがって、スタンバイレプリカに同期してレプリケートされます。
DB インスタンスの計画的な機能停止または計画外の機能停止が発生すると、マルチ AZ を有効にした場合は、Amazon RDS により別のアベイラビリティーゾーン内のスタンバイレプリカに自動的に切り替えられます。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
自動バックアップは、優先されるバックアップウィンドウ中に毎日行われます。 バックアップ保持期間は、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
自動化バックアップとデータベーススナップショット 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 スナップショットをすべて保持します。
ーーーーーーーーーーーーーーーーーーーーーーーー ■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.
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ■実例
■一時的に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 は、背後で「スタンバイ」を設定して管理します。これはプライマリの最新レプリカになります。スタンバイはフェイルオーバー時に(プライマリに)「昇格」します。フェイルオーバー後、スタンバイはプライマリとなり、お客様のデータベースオペレーションを受け付けるようになります。昇格前には、どの時点においても、スタンバイと直接やりとり(例: 読み込みオペレーション)することはありません。
注意RDS的容量问题 (最大不会超过16TB。 如果题目中需要的容量大于16TB,则要考虑使用DynamoDB):
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。
RDSの負荷を軽減するメリットがある。
セキュリティ制御 ■ネットワーク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 エラーが発生します。
■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.
■STS AWS Security Token Service(AWS STS), 一時的セキュリティ認証情報. AWS Security Token Service(AWS STS)を使用して、AWS リソースへのアクセスを制御できる一時的セキュリティ認証情報を持つ、信頼されたユーザーを作成および提供することができます。一時的セキュリティ認証情報の機能は、IAM ユーザーが使用できる長期的なアクセスキー認証情報とほとんど同じですが、次の相違点があります。
AWS STS の使用には 3 つのステップがあります。
GetSessionTokenRequest session_token_request = new GetSessionTokenRequest(); session_token_request.setDurationSeconds(7200); // optional.
■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.
■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.
ELB
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、正常時に希望台数(Desired Capacity)を維持。 2、複数AZまたがる時、AZ間でEC2数を均等する。
--スケールアウトを行う場合
--スケールインを行う場合
-- 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.
Route 53 リージョンサービス。 SLAは100% 登録すると、4か所のエッジロケーションのDNSサーバーに登録。 Route53が管理しているドメインに対してクリエが発生したら、一番近いDNSサーバーから応答する。
Route 53では、独自拡張である「ALIASレコード」という特殊なレコードがあります。 ALIASレコード: 一言で言ってしまえば「各AWSプロダクトで利用するDNS名専用の、CNAMEレコード風の挙動を実現するレコード」です。 下記のexample1はCNAMEで設定したもの、example2はALIASで設定したものです。結局は同じELBにつながっています。
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、加重ラウンドロビン トラフィックを分散させるため,ひとつのドメイン名に対して複数のホストを割り当てる必要がありました.
2、レイテンシーベースルーティング 最小のレイテンシー(遅延)で利用できる AWS エンドポイントにユーザーをルーティングできます。 3、位置情報ルーティング ユーザーの位置情報に基づいてトラフィックをルーティングする際に使用します。 4、ヘルスチェック Webサーバーが正常に動作できなくなる場合、事前に設定したフェイルオーバー先のIPアドレス/名前を返す。
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
S3 bucket as the origin
users view media files using the media player that is provided by cloudfront; not the locally installed
(CloudFront を使用してメディアファイルのストリーミングを行うには、2 種類のファイルをエンドユーザーに提供します。メディアファイルとメディアプレーヤー (例: JW Player、Flowplayer、Adobe Flash)。 エンドユーザーは、メディアファイルを、そのメディアファイル用に提供されたメディアプレーヤーを使用して視聴します。エンドユーザーは、自分のコンピュータまたは他のデバイスにすでにインストールされているメディアプレーヤー (ある場合) を使用しません。 https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/HowStreamingDistributionsWork.html)
Web distribution for media Player and RMTP distribution for media files
■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 にする必要
In this example, if the main page for your website is main.html, the following five requests will cause CloudFront to cache main.html five times, once for each value of the language query string parameter:
-- http://d111111abcdef8.cloudfront.net/main.html?language=de
-- http://d111111abcdef8.cloudfront.net/main.html?language=en
-- http://d111111abcdef8.cloudfront.net/main.html?language=es
-- http://d111111abcdef8.cloudfront.net/main.html?language=fr
-- http://d111111abcdef8.cloudfront.net/main.html?language=jp
次のいずれかを実行するよう CloudFront を設定できます。 1.クエリ文字列をオリジンにまったく転送しない。クエリ文字列を転送しない場合、CloudFront はクエリ文字列パラメータに基づくキャッシュを実行しません。 2.クエリ文字列をオリジンにキャッシュし、クエリ文字列内のすべてのパラメータに基づいてキャッシュする。 3.クエリ文字列をオリジンにキャッシュし、クエリ文字列内の指定したパラメータに基づいてキャッシュする。
Optimizing Caching
CloudFormation 自体の料金:無料。 用語:テンプレート、スタック。
テンプレートはユーザ独自で作成だけではなく、CloudFormerツールで作成可能。
Elastic Beanstalk
OpsWorks Chefレシピを実行。
注意: CloudFormationからElastic Beanstalk/OpsWorksを呼び出すことができる。 Elastic Beanstalk/OpsWorksは、AWSリソースの設定(例:Auto Scaling設定など)はできない。やはりできるのはアプリ範囲である。
EC2に接続するブロックストレージは2種類。 1、EBS(Elastic Block Store) 2、インスタンスストア
推奨されるのは「Amazon EBS backed」です。この AMI は起動が高速であり、永続的ストレージを使用しているからです。
EBS-Backedインスタンス:起動、停止、再起動、削除ができる。 Instance store-backedインスタンス:再起動、削除ができる. インスタンスストアタイプのインスタンスには、Stopのステータスがありません。動いている(Running)か、止まっている(Terminated)かです。インスタンスが止まると、内部のデータは消えてしまいます。
EBS
EBS最適化インスタンス(EBS–Optimized Instances): Amazon EBS I/O と、インスタンスからのその他のトラフィックとの間における競合を最小化して、EBS ボリュームに最適なパフォーマンスが実現
Provisional IOPS EBS: 高いIO性能。 EBSスナップショート:
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 (ギガビット/秒) ネットワークに参加できるようになります。 その制約:
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.
考试問題Point:
SQS is right answer to manage volume. 对于大量写操作,使用SQS是一个cost-effective的选择。
The cost of DymonoDB is higher than S3.
Amazon Kinesis collect and process large streams of data records in real time. then Kinesis feeds data to Redshift for future data mining.
For ‘real-time’ data analysis purpose, consider to use Kinesis. Not real time? Then your alternative can be Redshift. Elastic MapReduce is data storage infrastructure based on Hadoop, so still requires analysis tool.
There is no limit on the number of messages that can be pushed onto SQS. The retention period of the SQS is 4 days by default and it can be changed to 14 days. This will make sure that no writes are missed.
Note: can't assign a EIP to a ELB, static IP cannot be assigned to ELB.
As soon as you see 'high availability' think ELB, auto scaling and multi-AZ.
After an Amazon VPC instance is launched, can I change the VPC security groups it belongs to? Yes. You can.
Is there a method in the IAM system to allow or deny access to a specific instance? NO. 无法控制对instance的ACCESS。只能控制start,terminate,或者attach EBS之类的操作。
Can you create IAM security credentials for existing users? YES.existing users can have security credentials associated with their account.
What are the two permission types used by AWS? User-based and Resource-based
Using Amazon IAM, can I give permission based on organizational groups? Yes, always
You must assign each server to at least _____ security group 1
Which of the following cannot be used in Amazon EC2 to control who has access to specific Amazon EC2 instances? (A. Security groups B. IAM System C. SSH keys D. Windows passwords) B. IAM System
Every user you create in the IAM system starts with _____. No permissions
Changes to the backup window take effect __. Immediately (不需要等待时间)
What are the initial settings of user created security group? Allow no inbound traffic and allow all outbound traffic
For global service (like IAM, AWS STS, Amazon CloudFront, and Route 53), global services option should be enabled.
Implement IDS/IPS agents on each Instance running In VPC.
VPC routing table cannot control Internet outbound traffic. VPC routing table is for traffic within VPC.
The one-time payment for Reserved Instances is (never)____ refundable if the reservation is cancelled.
Which is the default region in AWS? : us-east-1
When running my DB Instance as a Multi-AZ deployment, can I use the standby for read or write operations? NO, the standby replica cannot serve read requests. Multi-AZ deployments are designed to provide enhanced database availability and durability, rather than read scaling benefits.
What are the two types of licensing options available for using Amazon RDS for Oracle? BYOL(Bring Your Own License) and License Included
currently, reserved instance is only allowed move between AZ within same region.
read replica is supported by MySQL, MariaDB, and PostgreSQL RDS only, and creating read replica based on another read replica is supported by MariaDB and MySQL 5.6 and later. -compare to multi-AZ RDS, read replica is not so helpful in high RDS update environment.
ELB可支持sticky session 和 SSL certification。但是一个ELB只能绑定一个SSL cert
インスタンスの起動時にマッピング/dev/sdc=noneを指定することによる影響: ボリュームとインスタンスを紐づけない、つまりアタッチしない、ということになります。
EC2インスタンスにマウント可能なストレージデバイス: 「EBS(Elastic Block Store)」和「EFS(Elastic File System)」
A placement group is a logical grouping of EC2 instances within a single Availability Zone.
AWSではAWS環境への、またはAWS環境からの侵入テストと脆弱性スキャンを実施する場合、 AWSで禁止されている行為と区別するために事前に侵入テストの承認を得る必要があります。 現時点において、当社のポリシーでは、スモール RDS インスタンスまたはマイクロ RDS インスタンスのテストは許可されていません。m1.small、t1.micro、または t2.nano の EC2 インスタンスのテストは許可されていません。これは、他のお客様と共有する可能性のあるリソースのパフォーマンスに悪影響が及ぶ可能性を未然に防ぐためです。
An Internet gateway is horizontally-scaled, redundant, and highly available. It imposes no bandwidth constraints.
Use roles for applications that run on Amazon EC2 instances Applications that run on an Amazon EC2 instance need credentials in order to access other AWS services. To provide credentials to the application in a secure way, use IAM roles. A role is an entity that has its own set of permissions, but that isn’t a user or group. Roles also don’t have their own permanent set of credentials the way IAM users do. In the case of Amazon EC2, IAM dynamically provides temporary credentials to the EC2 instance, and these credentials are automatically rotated for you.
IP range 10.20.30.40/32 says it is for a single IP 10.20.30.40. Note: not 10.20.30.40/0. The CIDR IP range 10.20.30.40/32 says it is for a single IP 10.20.30.40. If the user specifies the IP as 10.20.30.40 only, the security group will not accept and ask it in a CIRD format.
You can create an Auto Scaling group directly from an EC2 instance. When you use this feature, Auto Scaling automatically creates a launch configuration for you as well.
Do you need to shutdown your EC2 instance when you create a snapshot of EBS volumes that serve as root devices? Yes, to create a snapshot for Amazon EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
Select the correct statement: Within Amazon EC2, when using Linux instances, the device name /dev/sda1 is _____. Answer: reserved for the root device. https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/device_naming.html
RTO 目標復旧時間 (RTO: Recovery Time Objective): 事業が中断した際に、「いつまでに事業を復旧するか」という目標時間を表す指標で、BCP策定時に用います。 目標復旧地点(RPO: Recovery Point Objective): 例1) RPO=0秒: 「損壊する直前までに記録したデータを復旧しなければならない」という意味 例2) RPO=1日: 「損壊する1日前までを記録したデータを復旧しなければならない」という意味 例3) RPO=1週間: 「損壊する1週間前までを記録したデータを復旧しなければならない」という意味 また、RPOが短くなればなるほど、それを達成するための技術的要件や金額的要件は高いものとなります。RPOが、数秒~数時間という短い時間になると、データが更新されるたびに、すぐにそのデータのコピーを作る必要があるため、ほぼリアルタイムで複製を作る「データレプリケーション」技術を利用することが一般的です。また、逆にRPOが長い場合には、従来のテープなどを使用した「データバックアップ」を用いて、就業時間後に毎晩、データバックアップを行うなどの方式を用いることがあります。
Amazon RDS DB snapshots and automated backups are stored in S3
True or False: Automated backups are enabled by default for a new DB Instance. True
Disabling automated backups will disable the point-in-time recovery.
Amazon SWF helps developers build, run, and scale background jobs that have parallel or sequential steps.
答题思路: – 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)
Elastic IP addressの料金発生 EPIは、「EC2インスタンスで使える、パブリックIPアドレス(グローバルIPアドレス)の固定IPアドレス」です。 料金が発生しない場合:起動しているEC2インスタンスで、EIPを1つだけ使用している場合。 なおAWS用語的には、EIPはEC2インスタンスと「関連付ける(associate)」という言い方をします。
下記のような利用をしているEIPについては、それぞれごとに料金が発生します。
Multi-AZ配置 「EC2やRDS等を別々の場所に配置し、同期をとることで耐障害性、可用性を高める」ものです。
メリット:
デメリット:
インスタンスメタデータとユーザーデータ インスタンスメタデータは、インスタンスに関するデータで、実行中のインスタンスを設定または管理するために使用します。 例: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/にリクエストを投げると、インスタンスメタデータ一覧が表示される。
#!/bin/bash –ex
yum -y install httpd
/etc/init.d/httpd start
/sbin/chkconfig httpd on
実行中のインスタンス内からユーザーデータを取得するには、次の URI を使用します。 http://169.254.169.254/latest/user-data
注意: インスタンスメタデータおよびユーザーデータにはそのインスタンス自体内からのみアクセスできるものの、データは暗号化手法によって保護されていません。インスタンスにアクセスできるユーザーなら誰でもそのメタデータを参照できます。したがって、重要なデータ (長期間使用する暗号化キーなど) については、適切な安全策によって保護する必要があります。パスワードなどの機密データは、ユーザーデータとして保存しないでください。
カスタマーゲートウェイ(customer gateway (CGW))
AWS Direct Connect connection
EC2 VM Import Connector VMWare provides add-on tool for AWS integration.AWS Connector
重点说说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ユーザーの登録はユーザー名を入力します。ユーザーの作成時にアクセスキーを作成したい場合は「ユーザーごとにアクセスキーを生成」を選んでください。
IAMグループとは、IAMユーザーをまとめて管理するグループで、IAMユーザーは複数のグループに登録できます。 IAMユーザーの登録の手順: 1,グループ名を入力。 2,IAMポリシーを指定 3,ユーザを追加
IAMポリシーとは、AWSリソースに対する権限を設定です。 IAMポリシーは以下の3つの方法で作成できます。 1.AWS 管理ポリシーをコピー 2.Policy Generator 3.独自のポリシーを作成
基本的にはJSON形式のアクセスポリシー言語でアクセス条件を記述しますが、AWS 管理ポリシーからカスタマイズしたり、Policy Generator(下図)による質問形式で条件を入力することでIAMポリシーの生成が可能です。
IAMロールとは、IAMユーザーやIAMグループではなく、AWSサービスやアプリケーション等、エンティティに対してにAWS の操作権限を付与するための仕組みです。 IAMロールをEC2インスタンスに付与すると、そのEC2インスタンス上で実行するAWSCLIやAWS SDKはクレデンシャルなしで利用できます。そんなことができて何が嬉しいかというと、EC2上にクレデンシャルを置かなくても良いのでクレデンシャルの漏洩リスクを回避できることや、EC2のAMIを別の環境へ移行した時に変更無しで再利用できることです。
クロスアカウントアクセスのロール あるIAMアカウントに対して別のアカウントのIAMロールを紐付ける機能です。例えば、本番環境に触れるロールを事前に作っておき、必要な時にそのロールにスイッチすることで、IAMユーザ一を作らずに他のアカウントのIAMユーザーが一時的に本番環境に触れるようにすることができます。
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リクエストによって、テンポラリセキュリティクレデンシャルを取得することで実現します。
SAML プロバイダへのウェブシングルサインオン(WebSSO) IAMは SAML2.0をサポートしており、新しいAssumeRoleWithSAML APIによりAPIフェデレーションが可能になりました。SAMLを利用してADFSといった既存のID管理ソフトウェアによるAWSリソースへのアクセスできますので、マネジメントコンソールのシングルサインオンにも利用できます。FederationProxyサーバーのような紐付けするサーバー不要な点が優れています。
Web Identity Federation によるAWSリソースアクセス Google、Facebook、Amazon(Login with Amazon)、Amazon、Cognito及びOIDC準拠のID プロバイダの認証とAWSのアクセス権を紐付けて連携させるユースケースです。モバイルアプリはウェブ ID プロバイダに対してユーザー認証してIDトークンを取得します。このIDトークン使ってSTSに対して一時的な認証情報取得をリクエストして一時的な認証情報を取得します。
ベストプラクティス
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
One-way and two-way SSL authentication
One-way SSL communication
two-way SSL
★★★ 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.
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/ "鍵の鍵"がマスターキー、データを暗号化した鍵がデータキーです。これがKMSの基本的な考え方です。
机能主要包含:マスターキーの作成(CreateKey),データキーの生成(GenerateDataKey),データの暗号化@ローカル,データキーの復号,データの復号@ローカル,マスターキーの有効化/無効化
サービスの「場所」
关于网络连接
■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
■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.
Recommended Network ACL Rules for Your VPC https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html
■ 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 は、ルールを追加するまですべてのインバウンドトラフィックとアウトバウンドトラフィックを拒否します。
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.
AWS-Cost-Optimization-Pillar
■
On-Demand Instances are recommended for applications with short-term workloads (such as a four month project) that spike periodically, or unpredictable workloads that can’t be interrupted. On-Demand Instances are also suitable for workloads such as development and test environments, which run longer than a block of Spot Instances and are often shorter than the time required for application of a Reserved Instance.
Spot Instances Spot Instances are ideal for use cases such as batch processing, scientific research, image or video processing, financial analysis, and testing. The current Spot price rises above your bid price and the Spot Instance is reclaimed by AWS. If your instance is due to be reclaimed you will receive a two-minute warning(EC2 Spot Instance Termination Notice). Your application can use this time to save its state, upload final log files, or remove itself from a load balancer. EBS volumes attached to stopped instances remain intact, as does the EBS-backed root volume. When capacity becomes available, the instances are started and can keep on going without having to spend time provisioning applications, setting up EBS volumes, downloading data, etc. A fleet is a collection of Spot Instances that are all working together as part of a distributed application. A fleet could be a batch-processing job, a Hadoop workflow, or an HPC grid computing job.
Reserved Instances two types : Standard, Convertible.
The key AWS tool for reviewing your AWS costs is Cost Explorer, which is a free tool that you can use to view charts of your costs. You can use Cost Explorer to see patterns in how much you spend on AWS resources over time, identify areas that need further inquiry, and see trends that you can use to understand your costs.
■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).
■
Tagging When you apply tags to your AWS resources (such as EC2 instances or Amazon Simple Storage Service (Amazon S3) buckets) and activate the tags, AWS adds this information to the detailed billing report and cost allocation reports. There is also a cost allocation report that contains a billing summary with this tagging information.
Entity Lifecycle Tracking AWS provides a number of services you can use for entity lifecycle tracking, such as AWS Config, which provides a detailed inventory of your AWS resources and configuration and continuously records configuration changes. AWS CloudTrail and Amazon CloudWatch allow you to establish a record of resource lifecycle events. IAM allows you to manage groups, users, and roles as well as establish trust with existing identity providers using federation already tied to your organization’s workforce source of record. Use federation to reduce the need to create users in IAM, and still use the existing identities, credentials, and role-based access you have already established in your organization.
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
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.
whitepapers/AWS_Cloud_Best_Practices.pdf
Stateless Applications A stateless application can scale horizontally since any request can be serviced by any of the available compute resources (e.g., EC2 instances, AWS Lambda functions).
How to distribute load to multiple nodes 1, push mode Elastic Load Balancing (ELB) , OR Amazon Route 53 2, pull mode task or data could be stored as messages in a queue using Amazon Simple Queue Service (Amazon SQS) or as a streaming data solution like Amazon Kinesis.
Stateless Components For user session information, web applications can use HTTP cookies to store information about a session at the client’s browser。 However, there are drawbacks with this approach。 A common solution is to store user session information in a database. Amazon DynamoDB is a great choice due to its scalability, high availability, and durability characteristics.
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.
Stateful Components , How to implement session affinity (粘性会话) For HTTP/S traffic, session affinity can be achieved through the “sticky sessions” feature of ELB。Elastic Load Balancing will attempt to use the same server for that user for the duration of the session.
Distributed Processing Use cases that involve processing of very large amounts of data (e.g., anything that can’t be handled by a single compute resource in a timely manner) require a distributed processing approach. Offline batch jobs can be horizontally scaled by using a distributed data processing engine like Apache Hadoop. On AWS, you can use the Amazon Elastic MapReduce (Amazon EMR) service to run Hadoop workloads on top of a fleet of EC2 instances without the operational complexity. For real-time processing of streaming data, Amazon Kinesis partitions data in multiple shards that can then be consumed by multiple Amazon EC2 or AWS Lambda resources to achieve scalability.
■Instantiating Compute Resources
Bootstrapping When you launch an AWS resource like an Amazon EC2 instance or Amazon Relational Database (Amazon RDS) DB instance, you start with a default configuration. You can then execute automated bootstrapping actions. That is, scripts that install software or copy data to bring that resource to a particular state. You can parameterize configuration details that vary between different environments (e.g., production, test, etc.) so that the same scripts can be reused without modifications. You can use user data scripts and cloud-init6 directives or AWS OpsWorks lifecycle events to automatically set up new EC2 instances. You can use simple scripts, configuration management tools like Chef or Puppet. AWS OpsWorks natively supports Chef recipes or Bash/PowerShell scripts. In addition, through custom scripts and the AWS APIs, or through the use of AWS CloudFormation support for AWS Lambda-backed custom resources, it is possible to write provisioning logic that acts on almost any AWS resource.
Golden Images Certain AWS resource types like Amazon EC2 instances, Amazon RDS DB instances, Amazon Elastic Block Store (Amazon EBS) volumes, etc., can be launched from a golden image: a snapshot of a particular state of that resource. You can customize an Amazon EC2 instance and then save its configuration by creating an Amazon Machine Image (AMI).We recommend that you use a script to bootstrap the EC2 instances that you use to create your AMIs. This will give you a flexible way to test and modify those images through time. aws AMI vs snapshotバックアップ EBS 内のデータだけ吸い出せればいいのであれば snapshot で、 インスタンスを起動する必要があれば AMI で取っておくといいと思います。 Alternatively, if you have an existing on-premises virtualized environment, you can use VM Import/Export from AWS to convert a variety of virtualization formats to an AMI. You can also find and use prebaked shared AMIs provided either by AWS or third parties in the AWS Community AMI catalog or the AWS Marketplace.
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.
Hybrid AWS Elastic Beanstalk follows the hybrid model. It provides preconfigured run time environments (each initiated from its own AMI) but allows you to run bootstrap actions (through configuration files called .ebextensions) and configure environmental variables to parameterize the environment differences.
Infrastructure as Code AWS CloudFormation templates
Automation -- AWS Elastic Beanstalk12 is the fastest and simplest way to get an application up and running on AWS. Developers can simply upload their application code and the service automatically handles all the details, such as resource provisioning, load balancing, auto scaling, and monitoring. -- Amazon EC2 Auto recovery13: You can create an Amazon CloudWatch alarm that monitors an Amazon EC2 instance and automatically recovers it if it becomes impaired. A recovered instance is identical to the original instance, including the instance ID, private IP addresses, Elastic IP addresses, and all instance metadata. However, this feature is only available for applicable instance configurations. -- Auto Scaling -- Amazon CloudWatch Alarms15: You can create a CloudWatch alarm that sends an Amazon Simple Notification Service (Amazon SNS) message when a particular metric goes beyond a specified threshold for a specified number of periods. Those Amazon SNS messages can automatically kick off the execution of a subscribed AWS Lambda function, enqueue a notification message to an Amazon SQS queue, or perform a POST request to an HTTP/S endpoint. -- Amazon CloudWatch Events: delivers a near real-time stream of system events that describe changes in AWS resources. Using simple rules that you can set up in a couple of minutes, you can easily route each type of event to one or more targets: AWS Lambda functions, Amazon Kinesis streams, Amazon SNS topics, etc. -- AWS OpsWorks Lifecycle events: AWS OpsWorks supports continuous configuration through lifecycle events that automatically update your instances’ configuration to adapt to environment changes. These events can be used to trigger Chef recipes on each instance to perform specific configuration tasks. For example, when a new instance is successfully added to a Database server layer, the configure event could trigger a Chef recipe that updates the Application server layer configuration to point to the new database instance. -- AWS Lambda Scheduled events: These events allow you to create a Lambda function and direct AWS Lambda to execute it on a regular schedule.
■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.
Asynchronous Integration
an Amazon SQS queue or a streaming data platform like Amazon Kinesis.
Amazon SWF to communicate the flow of work between them without directly interacting with each other.
AWS Lambda functions can consume events from a variety of AWS sources (e.g., Amazon DynamoDB update streams, Amazon S3 event notifications, etc.)
Graceful Failure for example, your database server becomes unavailable. The Amazon Route 53 DNS failover feature also gives you the ability to monitor your website and automatically route your visitors to a backup site if your primary site becomes unavailable. You can host your backup site as a static website on Amazon S3 or as a separate dynamic environment.
■Services, Not Servers
Managed Services For example, with the Amazon Simple Queue Service (Amazon SQS) you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use. Not only that, Amazon SQS is inherently scalable. The same applies to Amazon S3 where you can store as much data as you want and access it when needed without having to think about capacity, hard disk configurations, replication, etc. In addition, Amazon S3 can also serve static assets of a web or mobile app, providing a highly available hosting solution that can scale automatically to meet traffic demands. There are many other examples such as Amazon CloudFront for content delivery, ELB for load balancing, Amazon DynamoDB for NoSQL databases, Amazon CloudSearch for search workloads, Amazon Elastic Transcoder for video encoding, Amazon Simple Email Service (Amazon SES) for sending and receiving emails, and more.
Serverless Architectures AWS Lambda By using Amazon API Gateway, you can develop virtually infinitely scalable synchronous APIs powered by AWS Lambda. When combined with Amazon S3 for serving static content assets, this pattern can deliver a complete web application.
You can utilize Amazon Cognito, so that you don’t have to manage a back end solution to handle user authentication, network state, storage, and sync. Amazon Cognito generates unique identifiers for your users. Those can be referenced in your access policies to enable or restrict access to other AWS resources on a per-user basis. Amazon Cognito provides temporary AWS credentials to your users, allowing the mobile application running on the device to interact directly with AWS Identity and Access Management (IAM)- protected AWS services.
AWS IoT provides a fully managed device gateway that scales automatically with your usage, without any operational overhead for you.
■Databases
How to take advantage of read replicas
Read replicas are separate database instances that are replicated asynchronously. As a result, they are subject to replication lag and might be missing some of the latest transactions. Application designers need to consider which queries have tolerance to slightly stale data. Those queries can be executed on a read replica, while the rest should run on the primary node. Read replicas can also not accept any write queries.
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.
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー Amazon SQS リージョンサービス。IAMでアクセス管理、プライベートからのアクセスはNATが必要。
1、Pull型(ポーリングされる必要がある) 2, 順序性の保証はしない(FirstInFristOutは保証しない)。 3、最低1回送信保証 メッセージはアプリケーションが取得時に自動削除されるのではなく、アプリケーションでは明示的に削除する必要がある。 4、可視性タイムアウト メッセージが受信された直後は、メッセージはキューに残ったままです。他のコンシューマーが同じメッセージを再び処理しないように、Amazon SQS は可視性タイムアウトを設定しています。この時間内では、他のコンシューマーによる同じメッセージの受信と処理が防止されます。メッセージのデフォルトの可視性タイムアウトは 30 秒です。最大スケールは 12 時間です。
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 クラウド内の完全マネージド型の状態トラッカー、およびタスクコーディネーター.
Whizlabs https://www.whizlabs.com/
AWS Well-Architected Training (英语教程) https://www.aws.training/learningobject/curriculum?id=12049
AWS 認定ソリューションアーキテクト – アソシエイト サンプル問題などがある。 https://aws.xiaopeiqing.com/posts/aws-certified-solutions-architect-associate-exam.html https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/ http://takersnotes.com/author/taker/page/9/ (问题讲解的很好) http://jayendrapatil.com/aws-auto-scaling/ (知识点和题目的总结)
AWS ホワイトペーパー https://aws.amazon.com/jp/whitepapers/
Securtity Best Practices https://d1.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf
考试大纲 http://awstrainingandcertification.s3.amazonaws.com/production/AWS_certified_solutions_architect_associate_blueprint.pdf
考试样题:http://awstrainingandcertification.s3.amazonaws.com/production/AWS_certified_solutions_architect_associate_examsample.pdf
AWS クラウドサービス活用資料集 https://aws.amazon.com/jp/aws-jp-introduction/
試験経験談 https://qiita.com/Futo23/items/f6d0e1738412c279f163 https://blog.csdn.net/robertlee32/article/details/69949159 https://qiita.com/yutaChaos/items/2b0b8d9bfe76a597953c
认证考试Trips (English) https://acloud.guru/forums/aws-certified-solutions-architect-associate/discussion/-KSDNs4nfg5ikp6yBN9l/exam_feedback_-_20_specific_po
动手做实验,可以使用动手实验室,免费蹭资源 (不在免费了!) https://run.qwiklab.com
这是从网上找的一个部分题目,可以了解下。 http://quizlet.com/35935418/detailed-questions-flash-cards/