はぐれメタルのケモノ道

通りすがりのはぐれメタルが少しだけ喋ります。

Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day11

どうも、はぐりんです。

 

前回に引き続き、UdemyのAWS講座

https://www.udemy.com/aws-14days/

のDay11を受講しましたので、

その内容メモを残したいと思います。

 

Day11 コンテンツキャッシュとインメモリキャッシュ

・コンテンツキャッシュパターン
 → CDN(Content Delivery Network)を配置し、コンテンツをキャッシュすることでWebサーバの負荷を軽減する。
AWS CloudFront
 → AWSが提供するフルマネージド型CDNサービス
 → 世界に100を超えるエッジロケーションが存在する(リージョンとは別)
 → AWS WAF、AWS Certificate Mangerなどと連携できる。
・CloudFrontの導入
 → ELBの前段に配置
 → OriginDomainとしてALBを指定
 → Cacheの振る舞い設定で実験のためTTLを全て20秒にする
 → デプロイまで待つ。
 → CloudFrontで指定されたDomainNameでWebページが表示されることを確認。
・動作確認
 → index.phpを変更しての動作確認
 → curlコマンドでの「X-Cache」の値をチェックした
・CloudFrontを使う際のポイント
 1)キャッシュTTLの設定(短すぎても長すぎてもダメ)
 2)CloudWatchで監視する
 3)PopularObjectReportを参考に定期的に設定を見直す
   CloudFrontの画面から確認できる。

 

・インメモリキャッシュパターン
 → 頻繁にアクセスする「データ」をDBではなくインメモリキャッシュに格納することでデータベースの負荷を軽減する設計パターン
 → selectが多いデータについては利用価値が高い。またデータの種類によって格納先を変える場合(セッション情報など)
AWS ElastiCache
 → AWSが提供するフルマネージド型インメモリキャッシュサービス
 → セットアップが簡単(レプリ、バックアップが容易)
 → Redis:シングルスレッド、データ永続化可能。
 → Memcached:マルチスレッド、データ永続化不可能。
・ElastiCacheの導入
 → ElasticCache画面でパラメータグループとサブネットグループを作成。
 → サブネットグループには既存のPrivateSubnetを割り当てる。
 → セキュリティグループを作成(BatchとWebサーバからのアクセスを許可)
 → クラスターエンジンRedisで作成する。
   (パラメータグループ、ノードタイプ、サブネットグループ、セキュリティグループを設定)
・redis
 → Batchサーバにredis-cliをインストールし、redisへ接続してみる。
 → データセットのデモ
・ElastiCacheを使う際のポイント
 1)キャッシュするデータの選定
 2)耐障害性への考慮
 3)負荷テストを実施してノードのタイプを決定する

 

今回の受講時間は1時間、ここまでのAWS課金金額は1.65$です。

 

ではまた(o'ω')y-~

 

Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day10

どうもはぐりんです。

少し勉強のペースが落ちてますが、 残業100hコースで仕事頑張っているので(白目) 勘弁してください。

さて、今週はDay10「AWS CLIによるAWSの操作とCloudWatchを用いたシステム監視」です。

Day10

CLIによるAWSの操作とシステム監視

・Day9まではMustで理解しなければいけないサービスの紹介

・Day10以降は多数のサービスの中からいくつかをピックアップして説明する。

・Day10は「AWS CLI」と「システム監視(CloudWatch)」について

AWS CLI

→ コンソールからコマンドでAWSリソースを閲覧/操作することができる。

→ 初めてのサービスはGUIで、慣れてきたらCLIを試してみる。    (GUIで可能な操作は全てCLIで操作可能)

AWS CLIの導入と初期セットアップ

→ 事前準備:導入予定のバッチサーバでaws configureのconfigファイルを削除    (credentialsは前回削除していた)

→ IAMユーザごとにアクセスキー/シークレットアクセスキーを設定する。

→ アクセスキー:1つのIAMユーザに2つまで払い出しできる。    ※シークレットアクセスキーが画面を閉じると2度と見られない

→ IAMユーザを切り替えて作業が可能。    (--profileオプション)

AWS CLIの使い方

→ 公式ドキュメント!    https://docs.aws.amazon.com/cli/latest/reference/

CLIでのS3操作

→ aws s3 mb、aws s3 ls、aws s3 cp

→ 動作を確認した。

・CloudWatch

→ 運用監視のマネージドサービス

→ AWS SNS(Pub/Subメッセージングサービス)

→ システム間を疎結合にすることができる。

・CloudWatchの設定

→ 1)CloudWatchでメトリクスと閾値を設定    例:バッチサーバCPU使用率70%でアラート

→ 2)SNSの通知先を設定    例:自分のメールに通知させる

・実際のアラートを発生させてみる

→ BatchサーバのCPUが閾値が超えたのを検知(5分毎)し、メール通知が来たことを確認。

ダッシュボード機能

・CloudWacthLogs

→ ログに対してCloudWatchを設定する。

・後片付け

→ yesコマンドをkillする。

→ EC2停止。

・コラム:AWSで最初に作るべきアーキテクチャ集(1)

→ 王道Webパターン:ELB+Web2台+route53+RDS

→ シングルEC2パターン:Web+route53

今回の勉強時間は約40分、これまでの総課金金額は1.28$です

ではまた(・∀・)人(・∀・)

Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day9

どうも、はぐりんです。

 

今回はまたAWS受講記録に戻りまして、

Day9 IAM(AWS Identity and Access Management)の受講メモです。

 

Day9

IAM(AWS Identity and Access Management)

・IAMポリシー、IAMユーザ
・IAMグループの枠を作ってIAMポリシーを割り当て可能
・IAMロール→ロールにポリシーを関連づけてサーバに権限を持たせる。

 

・IAMポリシーの作成
・IAMユーザの作成
 → IAMポリシーに応じてインスタンスの作成が禁止された!
・IAMグループの作成→ポリシーの割り当て→ユーザの割り当て

 

・IAMロールについて
 → 事前準備:バッチサーバに持たせていたcredentialsを削除。
 → 事前準備:PHPからS3が見られなくなった。
 → 事前準備:IAMポリシーの作成
 → IAMロールの作成(IAMポリシーの割り当てる)
 → EC2インスタンスにIAMロールを割り当てる
 → PHPからS3が見られることを確認。
・安全にサーバから直接AWSのリソースにアクセスさせることができる。

 

・IAMベストプラクティス
 → 利用者ごとにIAMユーザを払い出し、IAMユーザを使い回さない。
 → 役割ごとのIAMグループを作成し、IAMグループに権限を振る。
 → 権限は必要最小限のものを割り当てて、必要になったら増やす。
 → 定期的に棚卸しをする。
 → プログラムから利用する場合、アクセスキー、シークレットキーではなく
   IAMロールを利用できないか考える。
   (ソースコードにアクセスキーを埋め込むのは絶対×)

 

今回の勉強時間は1時間、ここまでのAWS課金金額は1.43$です。

 

ではまた(^ω^)ノ

 

 

TOEIC L&R受験しました

どうも、はぐりんです。

 

今週はAWS講習記事お休みです。

先週の日曜日に一年ぶりのTOEICL&Rを受験しました。

 

春に情報処理技術者試験を受験してから、しばらく当該試験はお休み(勉強したくないw)としてこの半年間は英語のみ。

 

特にTOEICの対策はしませんでしたが、

・中学レベルの英作文

・ラダーシリーズLevel1の多読

Netflixで洋画ドラマ(FRIENDS、SUITS)視聴

をやっての挑戦です。

 

まあ正直、受験してみると、ヒアリング・文法・速読&多読・語彙ともにまだまだ過ぎて、あまり期待はできませんが、引き続きモチベーションはあるので次回も頑張ります。

次も半年後かな。

 

 

ではまた(o'ω')y-~

 

Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day8

どうも、はぐりんです。

 

今週は仕事が荒れに荒れて1回分しかできませんでした。いや、本当に炎上プロジェクトって大変ですよね(他人事)

 

ということで、Day8 DNSサービス(Route53)の受講メモです。

 

AWS Day8 DNS(Route53)

・Rounte53はDNSサービス
SLAが100%
・多様なルーティングポリシーがある
 → Simple、Weighted、Latency、Geolocation、Failover
 → Latency:Latencyが最少のリソースが優先される。
 → Geolocation:位置情報によって変わる。
 → Failover:プライマリのヘルスチェックに失敗するとセカンダリへ。

・事前準備
 → ドメイン取得:今回はfreenomで取得
 → route53でHOSTEDゾーンを作成
 → できたNSレコードをfreenom側に登録。
 → EC2、RDSを起動、ALBの起動確認。

・単純なルーティング設定
 → Aレコードのエイリアスとして登録。

DNSフェイルオーバー機能を用いたルーティング設定
 → ヘルスチェックに失敗した場合、S3に向ける。
 → 一つ前で、ドメインのAレコードを「Primary」で登録している。
 → 同様に、ドメインのAレコードを「Secodary」で登録する。
 → ここで私は前回のS3バケット名を適当にしていたため、
   もう一度ドメイン名と同じバケット名のS3を作成。
   エラー表示用ページをパブリックで公開した。
 → route53に同一ドメインのレコードが2つ登録された。
 
・切り替えテスト
 → Apacheを停止する→DNSフェイルオーバーが適切に動くことを確認。
 → Apacheを起動する→元の正常系に戻ることを確認した。
 
・route53
 → 0.50 USD (ホストゾーンごと)/月

 → 最初の 25 のホストゾーンまではこの金額。

 

AWS勉強法
 → インフラの基礎知識に役立つ本
 → 「3分間DNS講座」
 → 「この一冊で全部わかるWeb技術の基本」
 → 「AWS業務システム設計・移行ガイド」
   ※特に4章・5章
 → AWS資格を取得する。
   「ソリューションアーキテクト:アソシエイト」

 

 今回の勉強時間は1時間、ここまでのAWS課金金額は0.91$です。

 

ではまた(ノ゚Д゚)