AWS資料
ここに各サービスのスライドショウやYoutube動画の掲載あり
AWSの導入や概要についてわかりやすい漫画(漫画で学ぶクラウドフロント)
AWS初期設定
-
AWSの初期設定やWordPressnのインストールについて詳しく書いてあるサイト
ここでルートユーザーとIAMユーザーの設定
※AWSにはCISAWSFoundations ベンチマークコントロールというセキュリティ設定の指針がある。
IAM
- 公式
- 上記「AWS初期設定」にて設定出来るが、以下に公式サイトを掲載
IAM でのセキュリティのベストプラクティス - AWS アカウント ルートユーザーの認証情報と IAM ユーザーの認証情報
CloudTrail
- AWS KMS エイリアスに何を入れれば良いのか詰まった。
この記事が参考になった
記事によると「ログファイルの SSE-KMS 暗号化」を有効化にしなくとも「デフォルトではSSE-KMSではなく、SSE-S3という方式で暗号化されます。」
との事
VPCの設定
VPCとは、AWS上に仮装ネットワークを作成出来るサービス
リージョンの中にVPCを作り、VPCの中に各アベイラビリティゾーンおき(そもそもアベイラビリティゾーンはリージョンに複数設置される)、その複数あるアベイラビリティゾーンの中にサブネットを設置し、複数のサブネットにサーバーを複数設置する事で、仮に1つサーバーが落ちても、サービスの稼働を止める必要がない様にする事がサーバーの冗長化になり、ベストプラクティスとされている。
AWSでVPCを設置する際に設定する「ap-northeast-1a, 1c, 1d」等がアベイラビリティゾーンであり、このそれぞれにパブリックサブネットとプライベートサブネットを配置できる。
これを行えば3種類作る事になり、サービスを冗長化出来る。
IPアドレス
パブリックIPアドレスとプライベートIPアドレスがある。
- パブリックIPアドレス : 一意のアドレス
- プライベートIPアドレス : インターネットで使用されない為、一意でなくて良い。
VPCはEC2を使用する前に設定が必要の様子 -
AWSの初期設定やWordPressnのインストールについて詳しく書いてあるサイト
同じくこちらのサイトで構築
VPC作成の際にIPv CIDRブロックの指定するIPアドレスの方法がわからなかった(今もわかり切っていない)
以下サイトを参考に「192.168.0.0/16」を設定する事に
[初心者向け]VPC作成からEC2インスタンス起動までを構成図見ながらやってみる(その1)
インターネットゲートウェイ
これによってIPアドレスがインターネットに接続できる様にする(学習中)。
上記の様にAWSのVPCのルートテーブルの設定画面を確認した時に、現状は「10.0.0/16」これが自身のネットワークのIPアドレスであり、「local」がターゲットとなっている事から、10.0.0/16以外からの通信は破棄するという設定になっている。
これをインターネットゲートウェイを使用する事で他からも通信を可能にする。
EC2の設定
Amazon EC2 の開始方法
Amazon EC2
Amazon EC2 インスタンスタイプ
- セキュリティグループの設定では「インバウンドルール」をのソースを「マイIP」にする。
これをする事で、自分のPCのIPアドレスが自動で入力され、自分のPCからのみアクセスできるセキュリティグループが出来上がる。 - アウトバウンドルールは特別な要件がない限り設定を変更する必要は無し。
- ssh接続の方法
①SSH コマンドを実行
ターミナルで
ssh -i [pemファイルの場所] ec2-user@[パブリックDNS]
以下のようなメッセージが出る場合は yes と入力して Enter を押す。
The authenticity of host 'ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com (XXX.XXX.XXX.XXX)' can't be established.
ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)?
※pem ファイルの場所、パブリックDNS については適宜置き換えて入力する。
※インスタンスを停止し再度起動した場合、パブリックDNSは変更される為、都度、コンソールからコピーし変更する必要がある。
※ec2-user というのは、Amazon Linux 2 でデフォルトで用意している OS ユーザー名。
今回はAmazon Linux なので ec2-user
を使用。その他ではCentOS だと centos
、Ubuntu だと ubuntu
、Red Hat Enterprise Linux の場合は ec2-user
の場合と root
の場合がある。
詳細は: WordPressをAWSでターミナルを使用して作る(実際に公開まで出来た)
-
EC2インスタンス作成後の設定のベストプラクティス
上記に詳細な設定方法が記載されている。
ポイントはセキュリティグループでSSHは「マイIP」にするが、ある日突然SSH接続できなくなる事がある。
この場合は慌てずに再度、該当のセキュリティグループのインバウンド設定を開き、SSHのソースで「マイIP」を選択→ルールを保存を行う。
これは自宅からインターネットを使う場合、自分のグローバルIPアドレスは時々変わる為である。その時は、以前設定したマイIPを変更する必要が生じる。
WordPress構築関係
基本はこのサイトを参考にする
【AWS】EC2にWordPressをインストール(構築)する
実際にこのサイトの方法でのWPのサイト公開に成功
- パスワードの設定はこのサイトで作る「ノートンパスワード作成」
- インスタンスを停止するとパブリックIPアドレスが変わってしまい、構築したWPサイトが開なくなる(管理画面は開かず、サイト自体は開くが、画像など取得できない)。このあたりについては以下の記事が参考になった。
Amazon EC2 インスタンスに関連付けられたパブリック IP アドレスまたは Elastic IP アドレスを復元することはできますか? また、今後これらが変更されるのを避けるにはどうすればよいですか?
対応としてはElastic IP アドレスを使用すると良いらしい。
注意
EIP はEC2 インスタンスに関連づけて利用している間は無料で使用できますが、関連づけていなかったり、EC2 インスタンスが停止した状態などIPアドレスが利用されていない状況になると課金されますのでご注意ください。IP v4 のアドレスは有限資源なので、利用していないのに確保だけしている場合は料金がかかるという仕組みになっている。
参考サイト: Elastic IP アドレスを割り当てる
RDS
RDSスライドショウ
上記の動画説明
Amazon RDS で WordPress をデプロイ
公式が難しい人は以下
AWS EC2 / RDS でWordPressサーバーを立てる(備忘録)
スライド(2018年)によるとIPアドレスの固定に対応しておらず、DNS名でエンドポイントへの接続が必要との事
Lightsail
〜Amazon Lightsail は、AWS を開始する最も簡単な方法です。仮想サーバー、ストレージ、データベース、ネットワークに加えて、費用対効果の高い月次プランを提供します。〜
公式:Amazon LightsailでWordPress インスタンスを起動して設定する
公式スライドショウ(2018年の資料
EC2とLightsailを分けるポイント
ポイントはEC2でインスタンスを作成しRDSと繋ぐよりも初心者向けの様子。
lightsailでstaticIPアドレスを設定する。
この場合、インスタンスと接続されている間は無料で使用出来る様子
公式
参考にした日本記事
ユーザ名:bitnami(これがデフォルトのユーザー名だった)
パスワード:なし
鍵:設定したキーペア
デフォルトのキーペアは、ダッシュボード右上Account -> Account の、Download default private keyからダウンロードできた。
StaticIPを設定後「http://「設定したStaticIP」
でWPサイトのトップ画面が立ち上がる!
(管理画面はhttp://「設定したStaticIP」/wp-login.php
)
独自テーマについて
独自テーマでのファイルのアップロードはFileZillaを使用して上述のユーザー名、鍵、StaticIPを接続情報に使用する事で、Lightsailに接続し、「/bitnami/wordpress/wp-content/themes」に新規でテーマを設定すればカスタマイズ可能。
その他参考サイト
Amazon Lightsailで爆速WordPress構築+独自ドメイン設定・FTP接続してみた
lightsailでSSH接続をする
上述の公式の記事(Amazon LightsailでWordPress インスタンスを起動して設定する)で進めるとコンソールからConnectを選択し、ターミナルをlightsailで開きSSH接続することがあるが、
上記画面が一向に切り替わらず、先に進めない。
これについてはこの記事にも記載がある:LightsailインスタンスでSSH接続する
自身で、lightsailのコンソールのAccountからデフォルトのプライベートキーを取得し自分のターミナルでSSH接続した所、対応が出来た。
SSH接続についてはこの記事に記載
あとはチュートリアル通りに進めると対応完了。
その他
- AWS EC2の公式ドキュメント
-
AWSの初期設定やWordPressnのインストールについて詳しく書いてあるサイト
セキュリティ面の初期設定の対策が詳しく記載されており、とても参考になる。 -
WordPressをAWSでターミナルを使用して作る(実際に公開まで出来た)
ポイントは簡易的にやってみるという事。がっつりやるならAWS公式のWordPressチュートリアルといったものもある。
又、このサイトにはFileZillaへの接続方法も記載あり。
インスタンスを一度停止し、再度起動したところ、WordPressサイトへの接続が出来なくなってしまった(AWSの仕様で一度停止すると、再度起動した際にDNSの設定等が変わってしまう。これを避けるには、上述のElastic IP アドレスの設定が必要。 - WordPressをAWSで作る(途中まではこちらのサイトを引用した)
-
セキュリティグループの設定で使用
ポイントは「~/32」であれば設定したIPアドレスのみ(IPの左から32文字まで固定。/24だと24まで固定だから25-32桁は変動出来る) -
キーペアのタイプ(RSA(従来型)とED25519
ポイントはRSA古くから使用されており、以前はこれ一択であった。ED25519は「RSAと同程度の安全性であり、RSAよりも鍵長が短く高速に処理できパフォーマンスが良い」とされている。しかし、一部のインスタンス(Windowsインスタンス、EC2 Instance Connect、またはEC2シリアルコンソールではサポートされない)。 -
キーペア名とは
ポイントはキーペア名は任意で良い。但し、ダウンロードするpemファイルは一度しか手に入らない為、確実に安全、かつ、管理出来る場所に保管する。 -
セキュリティグループの変更など操作各種
ポイントはインスタンス作成時のセキュリティグループの設定を「0.0.0.0/0」にするとセキュリティ上危険である事。しかし、任意の設定をすると、インスタンスへ接続する際、「サイトからの返答がなくアクセスで出来ないとなる(0.0.0.0/0の場合はアクセスは出来る)」この辺りの検証がまだ必要である。 -
セキュリティグループについて
ポイントは「アウトバンドグループ」と「インバウンドグループ」
①アウトバンドグループ:そのセキュリティグループに関連付けられたインスタンスからどの送信先にトラフィックを送信できるか(トラフィックの送信先と送信先ポート)を制御するルール
②インバウンドグループ:そのセキュリティグループに関連付けられたインスタンスにアクセスできるトラフィックを規制するルール - IPアドレスを2進数へ変換
- サブネットマスクについて
- CIDRについて
- CIDR表記について
AWS クラウドサービス活用資料集トップ
クラウドストレージ
AWS でのクラウドストレージ
これにはS3やEBS等が含まれる
ACM
AWS Certificate Manager とは?
〜AWS Certificate Manager (ACM) は、 ウェブサイトやアプリケーションを保護するパブリックおよびプライベート SSL/TLS X.509 証明書およびキーの作成、保存、更新に伴うAWS複雑さに対処します。統合 AWS サービスの証明書は、ACM で直接発行するか、サードパーティーの証明書を ACM 管理システムにインポートすることで提供できます。ACM 証明書は、単一のドメイン名、複数の特定のドメイン名、ワイルドカードドメイン、またはこれらの組み合わせを保護できます。ACM ワイルドカード 証明書は、無制限の数のサブドメインを保護できます。また、内部 PKI の任意の場所で使用するために、ACM Private CA によって署名された ACM 証明書をエクスポートすることもできます。〜
ポイント
- 自分でドメインを取得している必要がある
AWS CLI
- AWS Command Line Interface とはどのようなものですか。
-
インストール公式
インストール方法はパッケージをインストールして展開する(Mac OS)の方法とLinuxでの方法がある。私の環境ではパッケージの展開でのインストールが出来なかった(インストールするを選択すると、「出来ない。製造元へ確認して下さい」と表示された)。
その為Linuxでの方法を実行した所成功した。
S3
CloudFront
ポイント
- ユーザーを一番近いエッジロケーションに誘導する事で配信を高速化
- 特定の国のユーザーに対するアクセス制御
- キャッシュファイルの無効化(有償)
- ACMとの統合によるSSL/TLS証明書の迅速なデプロイとローテーションが可能
Amplify
- ユーザー動向分析やサインイン機能の実装が簡単に出来る。
- VueやReact等のフレームワークの使用可能
- Amplifyを使ってWebアプリやサイトを公開すると自動的にS3やCloudFront(CDN)がセットアップされる
CloudFroutのメリットとして、通常サーバーにアクセスが集中すると動作が重くなる。しかし、CDNであれば、キャッシュサーバーから高速にコンテンツを配信する為、大量のアクセスにも耐えられる。
AppSync
使いどころ
サイト内にリアルタイムチャット、自動更新フィード、通知機能実装等が可能
AWS Startup Loft Tokyo や コミュニティ
公式サイト
現在はコロナ渦で休館中(2022/4)
AWS User Group-Japan : JAWS-UG
JAWS-UGとは、AWS (Amazon Web Services) が提供するクラウドコンピューティングを利用する人々の集まり(コミュニティ)です。
一人ではできない学びや交流を目的としてボランティアによる勉強会の開催や交流イベントなどを行なっています。
私たちは日本全国に「支部」の形でグループを持ち、それぞれのテーマに基づいて活動を行なっています。
このコミュニティーは、非営利目的で活動しています。
AWS認定
発展
右上の「東京」となっている部分がリージョン。その中に複数のアベイラビリティーゾーンがある。