・AWSのサービス
AWSの特徴として多種多様なサービスと、サービスの提供スピードが挙げられます。
また、コミュニティ活動も活発でノウハウがどんどん蓄積されています。
【AWSの主なサービス】
・コンピューティング関連
Amazon EC2:従量課⾦制の仮想サーバー機能です。
Amazon EC2 Container Service:Dockerを運⽤するサービスです。Dockerとは、仮想化技術を使った、アプリ実⾏環境構築のためのツールです。
Amazon EC2 Container Registry:Dockerイメージの保存と共有を⾏うサービスです。Dockerイメージとは、アプリ実⾏環境をすべてパッケージングしたもののことを指します。
AWS Elastic Beanstalk:PaaSサービスであるElastic Beanstalkを利⽤することで、.NET / PHP /Python / Ruby / Node.jsで開発したアプリを⾃動でAWSにデプロイできます。
AWS Lambda:クライアントからのリクエスト発⽣などのタイミングで任意のプログラムを動かすイベントドリブン型のサービスです。
Auto Scaling:CPU使⽤率など、あらかじめ決められた条件に応じて、EC2インスタンスを⾃動的に増減させるサービスです。
Elastic Load Balancing:トラフィックに応じて、複数のEC2インスタンスで負荷分散させるサービスです。
・ストレージ&コンテンツ配信関連
Amazon S3:冗⻑化されたデータストレージサービスで、業務システムでのファイルサーバーのようなものです。
Amazon CloudFront:世界中にコンテンツを配信するためのネットワークサービスです。
Amazon EBS:Amazon EC2のデータを保持するストレージサービスです。EC2のハードディスク、SSDのような役割を
します。
Amazon Elastic File System:EC2の共有ファイルストレージサービスです。ファイルの追加/削除にともなって、⾃動で容量を拡張/縮⼩するストレージです。
Amazon Glacier:低価格で利⽤できるストレージサービスで、バックアップやアーカイブなどの⽤途に適しています。
AWS Import /Export Snowball:ペタバイト級の⼤容量データの転送サービスです。データセンターの移設や災害時のデータ移⾏などに使います。
AWS Storage Gateway:オンプレミスとAWSを接続するストレージゲートウェイです。
・データベース関連
Amazon RDS:リレーショナルデータベース(RDBMS)を構築/運⽤するサービスです。
AWS Database Migration Service:最⼩限の停⽌時間でデータベースを移⾏できるサービスです。
Amazon DynamoDB:DynamoDBは、NoSQLデータベースサービスを構築/運⽤するサービスです。
Amazon ElastiCache:ElastiCacheは、クラウドでのメモリ内キャッシュの管理ができるサービスです。
Amazon Redshift:ビッグデータのためのデータウェアハウスです。
・ネットワーク関連
Amazon VPC:VPCは、AWS内にプライベートネットワークを構築するためのサービスです。
AWS Direct Connect:Direct Connectは、オンプレミスのネットワークとAWSのVPCネットワークとを直接に接続するための専⽤線サービスです。
Amazon Route 53:ドメイン名とIPアドレスを対応付けるDNSシステムを構築するためのサービスです。
・その他のサービス
開発者用ツール:AWS CodeCommit、AWS CodeDeployなど
管理ツール:Amazon CloudWatch AWS、AWS CloudFormationなど
セキュリティ&ID:Amazon Inspector、AWS Key Management Serviceなど
分析:Amazon EMR、Amazon Kinesisなど
IoT:AWSIoTなど
モバイルサービス:Amazon API Gateway、AWS Mobile SDKなど
アプリケーションサービス:Amazon SES、Amazon SNSなど
エンタープライズアプリケーション:Amazon WorkSpaces、Amazon WorkMailなど
【AWSクラウドデザインパターン】
デザインパターン:アプリ開発における定石のようなものです。
AWSを使ってインフラを構築するときも、デザインパターンがいくつか存在します。
・Multi-Serverパターン(サーバーの冗⻑化):仮想サーバー機能であるEC2インスタンスを複数台並べ、ロードバランサー機能であるELBが処理を振り分ける構成です。
・Scale Upパターン(サーバーの拡張/縮⼩):サーバーのスペックを、リクエストの多寡に応じて⾃由に拡張/縮⼩する構成です。
・DB Repli ca tionパターン(データベースの複製):予期せぬシステム障害や災害などで重要なデータが消滅しないよう、データベースの内容を複製する構成です。
・Func tional Fire wallパターン(階層別アクセス):サーバーの役割に応じて、アクセス制限をかける構成です。EC2インスタンスやRDSインスタンスにセキュリティグループを設定し、必要な通信のみを許可します。
【AWSのデータセンター】
リージョン:AWSのデータセンター群が設置されている地域のことを指します。
アベイラビリティゾーン:リージョンの中には、複数のアベイラビリティゾーンがあります。それぞれのアベイラビリティゾーンは、物理的に隔離された場所にあります。
・通信について
同⼀アベイラビリティゾーン内の通信は、プライベートIPアドレスでアクセスするため、費⽤もかかりません。同⼀リージョン内の異なるアベイラビリティゾーン間の通信はインターネットを経由しませんが、グローバルIPアドレスを使ってアクセスします。そのため、通信費⽤がかかります。
・運用について
アベイラビリティゾーン内で障害が発⽣した時は、同⼀ゾーンで稼働しているサーバーも影響を受けます。⾃然災害などに備えたディザスタリカバリなどのシステムを構成する時は、異なるアベイラビリティゾーンで運⽤しておくのがよいでしょう。この異なるアベイラビリティゾーンで運⽤する構成のことをマルチAZ構成と呼びます。マルチAZ構成にすると、システム全体の可⽤性が向上します。