Architecting on AWS受講レポート

 2020.10.29  株式会社テリロジー 技術統括部

こんにちは!Y.Tです。

今月初旬、AWS公式のトレーニングクラスである、「Architecting on AWS」を受講しました。

3日間終日のオンライン研修で、NWインフラを構築していく上での基本的なサービスの説明や、Well-Architected-Frameworkに基づいた考え方を学びました。
また、ハンズオン環境が用意されており、3日間で6つのハンズオンを実施しました。
ハンズオンでは、WebサイトやWebAppの構築、また、S3、DynamoDBを利用したサーバレスでの在庫通知システムを構築し、サービスの設定方法まで網羅的に知ることができました。

研修1日目

Well-Architectedの考え方やインフラストラクチャ(リージョン、AZ、エッジロケーション)、各サービスのユースケースや特徴(ストレージ(EBS,S3,Glacier,Snowball)、ネットワーキング(EC2,VPC)、データベース
(RDS,DynamoDB,Aurora))をご説明いただきました。

1日目に学んだサービスのまとめ

  • S3:
    • Amazon Simple Storage Serviceの略(Sが3つ並ぶのでS3)
    • マネージド型のオブジェクトストレージ
    • HTTPリクエスト時やインターネットへのデータ送信時には料金が発生
      ※データ受信、S3と同一リージョンのEC2,CloudFrontへのデータ送信時には料金は発生しない
    • アクセス先が物理的に遠い場合、TransferAccelerrationを利用
    • 大容量オブジェクトをアップロードする際はマルチパートアップロードを利用
  • EBS:
    • Amazon Elastic Block Storeの略
    • EC2インスタンスにアタッチして利用するブロックストレージボリューム
    • ログ処理やビッグデータにはスループット最適化HDDを利用
    • EBS最適化EC2では、ネットワークとEBSへの接続口が異なる(2つの接続口がある)
  • EFS、FSx:
    • EFS:Amazon Elastic File Systemの略、マネージド型のNFSファイルシステムを提供
    • FSx:Amazon FSx for WindowsとAmazon FSx for Lustreがある
    • Amazon FSx for Windowsは、サーバーメッセージブロック (SMB) プロトコルを介してアクセスできる、マネージド型のファイルストレージ
    • Amazon FSx for Lustre は、高性能ファイルシステムである Lustre を使用したマネージド型サービス
    • EFS、FSxともにAZ、リージョン、VPC、アカウントをまたがって共有が可能
  • データベース:
    • Amazon RDS、Aurora、DynamoDBなどがある
    • マルチAZの利点は、レプリケーションにより耐久性、障害発生時のフェイルオーバーにより可用性が向上
    • AuroraはMySQLの5倍、PostgreSQLの3倍のスループット、また、3AZで6つデータをレプリケート
    • DynamoDBは分散配置のため結果整合性だが、オプションで強力な整合性が利用可能。また、オンラインカートやゲームなどアカウント毎のデータ管理に最適
    • 異種DBエンジン間の移行において、テーブル定義はSCT、実データはDMSで移行する
  • EC2:
    • Amazon Elastic Compute Cloudの略
    • サイズ変更可能なコンピューティングプラットフォームサービス
    • Dedicated Hostsは実行されるハードウェアを選定し特定可能
  • VPC:
    • Amazon Virtual Private Cloudの略
    • AWS環境内で定義できるユーザ専用の仮想ネットワーク
    • 1つの会社でVPCが1つの場合→ハイパフォーマンスコンピューティング
      ※小~中規模
    • 1つの会社でマルチVPC→単一チームでアクセス管理を容易にする
      ※中~大規模
    • 1つの会社でマルチアカウント→大規模な組織や複数のチームがある場合
      ※大規模
    • VPC同士の接続:
      • VPCピア接続:IP空間重複不可。異なるAWSアカウント間で利用可能
      • TransitGateway:ルーティングサービスでハブの役割。5000台のVPCとオンプレミス接続可能

研修2日目

接続パターンやRDSのスケーリングなどを学びました。
また、午後にはグループワークがあり、4-5人のグループに分かれ、サンプルシナリオを元にAWSでの設計を考え、お互いに意見交換を実施しました。

サンプルシナリオはWeb、App、DBサーバの3層で構成されているECサイトをAWSでどのように構成するか考えるもので、細かい指定はなく、セキュリティサービスを追加するなど、ある程度自由に回答しても良いものでした。

公式サイトに以下のような構成の記載はありますが、CloudWatchなどの監視ツールや、ALBの他、Web層にNLBを記載していた受講生もおり、とても勉強になりました。

Architecting on AWS受講レポート

2日目に学んだサービスのまとめ

  • ENI:
    • Elastic Network Interfaceの略
    • VPC内で利用可能な仮想ネットワークインターフェース
    • ユースケースは管理用NWの作成、セキュリティアプライアンス利用時など
    • 1つのリージョンで5つまで
  • 接続パターン別:
    • AWS環境とオンプレ→DirectConnect、VPN
    • VPC同士→VPCピアリング(VPC少数)、TransitGateway(大規模向け)
    • プライベート接続→VPCエンドポイント(プライベートリンク、GWエンドポイント(S3、DynamoDB))
  • リードレプリカの水平スケーリング:
    • RDSはAurora、MySQL、PostgreSQL、MariaDBで可能であり、非同期的に実行
    • Auroraは最大15個のレプリカがある

研修3日目

疎結合の構成やS3とLambdaを利用したサーバレスアーキテクチャを学びました。
また、どこまでのディザスターリカバリ対策を実施するのか、対策の程度に応じて利用するサービスなどについても知ることができました。

3日目に学んだサービスのまとめ

  • CloudFormation:
    • AWS CloudFormation は Amazon Web Services リソースをモデル化し、セットアップすることができるテンプレート機能のようなサービス
    • JSON/YAML形式で記載
    • Resources、Parameters、Mappingセクション
  • CloudFront:
    • グローバルコンテンツ配信ネットワーク (CDN) サービス
    • コンテンツを失効させるためにTTLの調整、オブジェクト名の変更
  • Elasti Cathe:
    • Redis または Memcached に互換性のあるマネージド型のインメモリデータストア
    • Memcathed→シンプル
    • Redius→NoSQL型でフェイルオーバーが可能
    • 誰かが参照している際にファイルがロックされる(受信ハンドル)という
  • SQS:
    • Amazon Simple Queue Serviceの略
    • マネージド型のメッセージキューイングサービス
    • 標準キュー:順番は無保証であり2回以上送信される可能性がある
    • FIFOキュー:メッセージは1回のみ処理であり、1秒当たり最大300件
  • Lambda:
    • Lambda はサーバをプロビジョニングしたり管理する必要なくコードを実行できるコンピューティングサービス
    • 並列処理
  • API Gateway:
    • 開発者が簡単に API の作成、公開、保守、モニタリング、保護が可能
    • 最大数十万のWebAPI呼び出しの処理が可能
    • EC2、Lambda、その他任意のWebAppが実行可能

まとめ

個々にサービスの特徴だけの説明ではなく、主にユースケースに基づいたサービス紹介でより実践的に学ぶことができました。また、講師の方が参考になる記事をいろいろ教えてくれたり、質問も気軽にチャットでできたりと、とても勉強になりました。


RECENT POST「技術コラム」の最新記事


技術コラム

【第3弾】Sumo Logic可視化サービス Terilogy Blend for Infobloxリリース

技術コラム

OCVS・Horizon構築してみた③

技術コラム

OCVS・Horizon構築してみた②

技術コラム

OCVS・Horizon構築してみた①

Architecting on AWS受講レポート