はぐれメタルのケモノ道

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

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$です。

 

ではまた(ノ゚Д゚)

 

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

どうも、はぐりんです。

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

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

のDay6,7を受講しましたので、

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

 

AWS Day6 ELB

・設計をする際に意識することは「SPOFの有無」
・ELB
 → LBのマネージドサービス
 → 負荷分散
 → 正常なインスタンスにリクエス
 → AutoScalling
・NAT
 → NATインスタンスではなくNAT GWを用いる
・インメモリキャッシュ
 → ElastiCacheのレプリケーション機能
・メールサーバ
 → SESを用いる

・ELBの種類
 → CLB、ALB、NLB
 → ALBを用いる
 → ALBはL7、NLBはL4
・ELBの機能
 → 負荷分散(負荷が均等になるようにリクエストを分散する)
 → ヘルスチェック(対象のファイル、チェック秒間、判定回数)
 → AutoScaling(例:2-6台の範囲でCPU使用率が70%を超えたら+2台)
 → AutoScaling(ELB自体もスケールする)

・ELBの設定の流れ
 0:事前準備(サーバの用意)
 1:ALBの作成
 2:ターゲットグループの設定

・0:事前準備
 → WebサーバのAMI取得、サブネットの自動IP割り当て有効、RDS起動
 → AMIから新しいWebサーバ構築。

・1:ALBの作成
 → ALBの作成
 → リスナー、SGの作成
 → ターゲット(ヘルスチェック含む)の設定

・単純な負荷分散
 → Apacheを止めて→ヘルスチェックの確認→切り離し後の動作確認OK
 → 復旧も同じ

・AutoScalingの設定
 → AutoScalingグループの作成
 → 開始時2インスタンスVPC、サブネット(Public2つ)
 → ターゲットグループの指定
 → ヘルスチェックのタイプ:ELB
 → スケーリングポリシー
   ・2-4インスタンス
   ・グループサイズの増加設定
   ・グループサイズの減少設定
 → グループ作成後、開始時2インスタンスとしているため、
   自動で各サブネットに1つずつ自動作成される。

・AutoScalingの実施
 → Webサーバに負荷をかけてみる
 → 5-10分程度でAutoScalingによりサーバが2台自動追加。
 → Webサーバの負荷を減らす
 → 5-10分程度でAutoScalingによりサーバが2台シャットダウン。

・設計ポイント
 → AZにまたがったサーバ配置にする
 → アプリケーションをステートレスに構築する


AWS Day7 S3

・S3とは?
 → 「安価で耐久性の高いストレージサービス」
 → 0.025ドル/GB・月
 → 10GB/月で、30円/月
 → 耐久性 99.999999999%

バケットを作り、その下にファイルやフォルダを作成できる

・S3がよく使われるシーン
 → 静的コンテンツの配信
 → ログのエクスポート先
 → バッチ連携用のファイル置き場
 → 静的Webホスティング

・S3へブラウザ経由でのアップロード

PHP経由でのS3利用準備
 → Bacthサーバの構築(SGも新規作成)
 → Webサーバ、RDSの起動
 → RDSのセキュリティグループは、WebサーバからしMySQLアクセスを
   許可していない。BatchサーバからのMySQLも許可する。
 → IAMで「アクセスキー」を作成し保存。
 
・Batchサーバでの準備
 → aws configure でアクセスキー設定
 → AWS SDK for PHP の導入
   curl -sS h t t p s : / / g etcomposer.org/installer | php
   php composer.phar require aws/aws-sdk-php

・S3のバケットリストを見る
 → サンプルプログラムを実行し、自分のIAMユーザでのS3バケットリストが
   みられることを確認。
   
PHPサンプルプログラムを使って、
 1.データファイルをS3へアップロード
 2.データファイルをS3からダウンロードして、RDSへインポート
 3.Webアクセスでデータ表示
 を確認した。

PHP SDKについて調べるキーワード
 → aws php sdk v3

・S3で静的コンテンツを公開

 

 

 

本講座は全15日のコースなので折り返し地点を過ぎました。

今回の勉強時間は2.5h、ここまでのAWS課金額は0.31ドル です。

 

ではまた(。-∀-)ノ

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

どうも、はぐりんです。

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

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

のDay4,5を受講しましたので、

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

 

Day4

・PrivateSubnetの作成
 → 続いてルートテーブルの作成。
 → PublicSubnet向けはVPN内とインターネットGW向けの2つ
 → PrivateSubnet向けはVPN内のみ
 → 作成したPrivateSubnetにルートテーブルを設定する。

・プライベートサブネットにDBサーバの構築

・セキュリティグループ
 → セキュリティグループ名で許可通信を設定することができる。

・DB用EC2の構築
 → AmazonLinux、t2micro
 → VPN、サブネット
 → 「自動割り当てパブリックIP」は不要なので「無効化」
 → ユーザデータの設定:Bashスクリプトで設定を入れることができる。
   ホスト名・タイムゾーン・言語設定。
 → セキュリティグループの作成で、ソースIPは既存のセキュリティグループを
   指定する。「この名前のSGを持っているEC2からHTTPを許可する」という具合。

・Web→DBの接続
 → PEMファイルのコピー。SCPを利用。
 → WindowsからSCPはフリーソフト?と思ったらTeraTermでできた!
 → yumのアップデートが失敗する(インターネットへ出ていけない)
 
・NAT GWの導入
 → パブリックサブネットに作成する
 → NATGWを作成(ElasticIPも同時に作成)
 → ルートテーブル(プライベート)にNATGWへの通信を追加する。
 → DBサーバからyumアップデートができるようになった!

mysqlでサンプルDBの作成
 → WebサーバのPHP書き換え
 → DBに新しいデータの投入
 → HelloWorld!!
 
・削除
 → NATGWの削除
 → EIPも解放する(自動で削除されないので注意!)
 
・ネットワークACL
 → SGはインスタンス単位、ACLはサブネット単位の制御
 → SGはステートフル、ACLはステートレス。
 → よってACLはレスポンスまで設計が必要。

・ネットワーク関連の設計について
 → VPN&サブネットは将来を意識して適切な広さにする
 → アカウント分割:異なるシステムはアカウント単位で切るべき。
 → 同一システムの各環境はアカウントで分ける?VPCで分ける?
 → それぞれメリットデメリットあるが、アカウント単位のほうが良さそう。

Day5

RDBのマネージドサービスRDSについて

・RDSの機能について
 → Master-Slave構成が容易(DBレイヤーの可用性が向上)
 → フェイルオーバーも自動でしてくれる(内部のDNSを自動書き換え)
 → リードレプリカ対応
 → 自動バックアップ取得、パッチ当ての自動実施
 → RDSインスタンスにはSSHできない。
 → パラメータはマネージメントコンソールから設定する。

・RDSの構築準備
 → サブネットグループ(RDSが起動するサブネットを指定)
 → パラメータグループ(パラメータの設定をするため)

・RDSインスタンスの作成
 → インスタンス種類の指定
 → VPC・サブネットグループの指定
 → AZは指定なし(Master-slaveにするため)
 → VPCセキュリティグループ(前回作成したものを指定)
 → データベース設定:ポート、DBパラメータグループ
 → バックアップ:保存期間、開始時間
 → メンテナンス:マイナーバージョンアップ自動化

・RDSインスタンスの確認
 → CPUなどのモニタリング、スナップショット、パラメータの変更
 → スナップショットが自動のものはインスタンス削除で消える。

・Webサーバからの接続先変更
 → RDSにテストデータ投入
 → WebサーバのPHPコード内でDBサーバのIPを固定からエンドポイント名に変更。
 → DBへの接続をエンドポイント名にすることで、フェイルオーバー時に自動で切り替わる。
   (DNSで処理してくれる)

・RDSスナップショットの取得とリストア
 → RDSインスタンスを選択してスナップショットを取得する。
 → テストデータを投入
 → スナップショットをリストア。
   これは新しいDBインスタンスになる。
   新規作成と同様、インスタンスタイプネットワークなどを設定する。
 → セキュリティグループの変更
 → RDSインスタンスが変わっていることの確認。

・後処理
 → RDSのマルチAZの場合、DBの停止ができない。
 → マルチAZは料金がかかるため、シングル構成に戻す。
 → RDSを停止できるが、7日毎に起動するため、必要があれば停止すること。
   またはスナップショットをとって削除。

 

二日間で、3時間程度の勉強時間でした。

現在のところAWSの課金は0.09ドルです。

 

では、また。

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

どうも、はぐりんです。

仕事でAWSを触る機会が迫っており、諸々お勉強を始めておりましたが、 そんな中、おすすめ教材をTwitterで見つけました。

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

有料の教材ですが、ちょうどセールで90%オフで購入できました。 全15日間の教材となっており、今回のブログではDay1,2,3の内容を まとめたいと思います。

なお、自分の備忘録的な意味合いが大きいため、 綺麗な画面キャプチャーなどありません。ご了承ください。

Day1

AWSアカウントの作成

・IAMユーザの作成

・IAMユーザでのログイン

・CloudTrailによる操作ログ保存  デフォルトでは90日分しか保存されないためS3バケットに保存する。

 → CloudTrailの設定(ログをS3に保存する)

 → 同時にS3バケットの作成

・利用料金アラートの設定

 → CloudWatchの作成 

 → 設定料金を超えたらメール通知

AWS利用料金の見積もり方法

 → 個別

 → システム全体での見積もり

Day2

・EC2インスタンスの作成

 ・リージョン

・EC2インスタンスの基本

 1.AMI:AmazonLinux

 2.インスタンスタイプ

  → t2.micro(無料利用枠)

  → 0.0152USD/時間

 3.インスタンスの設定

  → インスタンス数、VPN、削除保護など設定可能

 4.ストレージ

  → EBS 汎用 SSD (gp2) ボリューム

  → 0.12USD プロビジョニングされたストレージ 1 GB の月額料金

 5.タグ

  → 目印?

 6.セキュリティグループ

  → FWと思えばよい。許可ポート・許可ソースIP。

・EC2インスタンスへの接続

 ・AmazonLinuxへ接続する。

 ・TeratermからSSH接続。

Apacheのインストールから起動まで

 ・yum list installed | grep httpd

 ・sudo yum install httpd

 ・sudo service httpd status

 ・sudo service httpd start

・AMIとSnapshot

 ・AMI:EC2インスタンスの断面

 ・Snapshot:EBSの断面

 ・ルートボリュームのEBSのSnapshotを取得した場合、これをAMIにすることができる。

 → AMI・Snapshotは静止点を作ってから取得する。

 ・サーバ停止して、AMI作成

 ・AMIからEC2インスタンスの再作成

・ElasticIPアドレス

 ・課金が特殊

  0.005USD: 実行中のインスタンスと関連付けられている追加の IP アドレス/時間あたり(比例計算)

  0.005USD: 実行中のインスタンスと関連付けられていない Elastic IP アドレス/時間あたり(比例計算)

・削除

 ・EC2、AMIの削除、ElasticIPの解放。

Day3

・リージョン、AZ、VPC、サブネット

VPCはAZを横断して作る。

・サブネットはAZ単位。サーバはマルチAZで作成するのがお作法。

・CIDRについて、5つ分のアドレス(0,1,2,3と最後の一つ)はAWSに予約されている。

・講習で作る順番  VPC→サブネット(パブリック)→Webサーバ構築→サブネット(プライベート)→DBサーバ構築→NATGW

VPCの作成

 CIDRブロック指定

 エンドポイント:S3などのサービス用のエンドポイントとするか

 ハードウェアのテナンシー:HWを貸し切るか

VPCの確認

 インターネットゲートウェイも自動で作成

・サブネットの作成

 1つ目のサブネットはルートテーブルにインターネットGW用ルーティングが書かれている。

 2つ目は自動で書かれないため、変更が必要。

・パブリックサブネットにEC2作成

 セキュリティグループを再作成

・EC2にSSH接続

 ホスト名変更

・EC2にミドルウェア導入

 ApachePHPMysql、Git。

・Gitからサンプルソースを持ってきてWebサーバ表示

AWS クラウドサービス活用資料集

動画見ながら手を動かして、全部で3.5時間程度というところでしょうか。

では、また(。-∀-)ノ