おすすめAWS学習ハンズオンコンテンツ (AWS re:Invent2018レポート)
KDDIのホームIoTサービス、au HOMEの開発をしている三宅です。
AWSを使ったインフラ・バックエンド、CI/CD、運用監視機能を主に担当しています。また、AWS活用の間口を拡げるために社内AWS入門講座の講師も担当しています。
2018年11月25日から11月30日に開催された世界最大のAWSイベント、AWS re:Invent2018に参加し、現地の圧倒的な熱量を体感してきました。
新サービスやアップデートに関する内容はすでに出尽くしているので、少し違った”学習コンテンツ”という視点から内容をレポートします。年末年始や夏休みなど、まとまった勉強時間が取れるという方にオススメの無料のハンズオンコンテンツをご紹介します。
手を動かして学ぶ
AWS re:Inventのメインコンテンツとして以下のものがあります。
今回はそれらの中から、手を動かして学ぶ無料のハンズオンである”Workshop”を体験してきましたので、有用な学習コンテンツについて紹介します。これからAWSやその周辺技術を学ぶという方はぜひご活用ください。
・Keynote: AWS CEO/CTOによる基調講演。新サービスやアップデートが発表。
・Session: AWSやユーザ企業の事例、ベストプラクティスの共有。
・Workshop: 無料のハンズオン。テーマによって新製品をもらえることも。
・Bootcamp: 有料のハンズオン。講師・教材・環境ともにWorkshopよりも良質。
・Chalk talk: ホワイトボード等を使いテーマに沿って議論。
・Expo: スポンサー企業の展示。
・re:Play: DJプレイ・バンドのライブ・体を動かすゲームで構成される打ち上げ。
無料のおすすめハンズオンコンテンツ
下記はWorkshopにて利用したハンズオンコンテンツです。内容はGitHubなどで公開されており、非常に丁寧なガイドと事前に準備されたソースコードに従ってハンズオンを進めていきます。AWSアカウントがあれば、AWS利用料以外無料で使える学習コンテンツです。今回ご紹介するのは、主にインフラやバックエンドに利用されているAWSサービスや周辺技術を題材にしたハンズオンです。
モノリシックなアーキテクチャからマイクロサービスへ
Monolith to Microservice with Docker and AWS Fargete
架空のWebサービスを題材に、モノリシックな構成からマイクロサービスアーキテクチャへの移行を行います。
DockerやAWS ECSの基礎からフォローがあり、普段あまり触ったことがない方でもやり切れるような説明や、必要な知識を得るためのリンクがあります。
AWS Fargete上にサービスをデプロイし、最終的にはそれぞれが担う機能・サービスで独立したマイクロサービスアーキテクチャを完成させます。
GitHub: Monolith to Microservice with Docker and AWS Fargete
Lab1~4の4ステップに分かれており、各ステップ徐々にモノリシックなサービスをモダンな構成にしていきます。
Lab1: Containerize the Mythical Mysfits monolith
このステップではまずMythical Mysfitsをコンテナ化していきます。
Dockerfileを作成、DockerイメージをビルドしてECRにプッシュします。
GitHub: Monolith to Microservice with Docker and AWS Fargete(Lab1)
Lab2: Deploy the container using AWS Fargate
ECSのタスク定義を作成し、ECS(Fargate)を使ってモノリス構成のMythical Mysfits applicationコンテナをデプロイします。デプロイしたコンテナはCloudWatchでロギングが出来るようにします。
GitHub: Monolith to Microservice with Docker and AWS Fargete(Lab2)
Lab3: Scale the adoption platform monolith with an ALB and an ECS Service
ロードバランサーの裏側にECSサービスを配置する構成を作成します。
GitHub: Monolith to Microservice with Docker and AWS Fargete(Lab3)
Lab4: Incrementally build and deploy more microservices with AWS Fargate
最後に、操作するリソースや機能ごとにパスを指定してサービスを分割してデプロイします。分割したサービスをALBでパスに基づいたルーティングをできるようにします。本ラボをやりきると、モノリシックな構成からマイクロサービスアーキテクチャへの移行が完了します。
GitHub: Monolith to Microservice with Docker and AWS Fargete(Lab4)
Kubernetesの基礎からデプロイまで
Getting Started with Kubernetes on AWS
Kubernetesの基礎・概念のフォローからサンプルアプリを実際にKubernetes上にデプロイするまでの一連の流れを体験できます。パッケージマネージャであるHelmやサービスメッシュフレームワークであるIstioなど、周辺技術も触れられていて幅広い内容を網羅しています。想定外のAWS料金が発生しないよう、最後にハンズオン中に作成したAWSリソースをcleanupすることまでフォローされていて、痒いところに手がとどく内容になっています。
前半部分でKubernetesの基本的な概念や用語の解説があります。
実際に手を動かすのはこちらのパートからです。
まとめ
無料の学習コンテンツを紹介しました。AWSアカウントがあればどなたでもAWS利用料のみで利用できるコンテンツなので、ぜひご活用ください。
また、今回ブログ投稿にあたり私も再度本コンテンツを実施してみました。コンテンツは英語のみの提供であったり、ハンズオン環境の管理を自身で実施する点は少し面倒ですが、有料のAWS学習サービスに負けないくらい充実した内容だと感じました。
一方で、ハンズオン環境は自分で作成する必要があるため、環境構築にハマってしまうと余計なところで時間を使ってしまったり、終わった後は自分でAWSリソースの削除・停止しないとAWS料金がかかってしまうので注意が必要です。Workshop Cleanupに記載の内容を忘れずに実施してください。
おまけ
AWS re:InventではAWS認定の有資格者向けに専用のラウンジを設けており、資格の種類に応じたノベルティーを配布しています。AWS関連のイベントでノベルティーをもらえるだけでなく、AWSを活用されているエンジニアのみなさまのご自身の経験・知識の整理や、客観的なスキルの証明にも有用です。ぜひAWS認定資格取得にチャレンジください。
カテゴリ | |
---|---|
タグ |