AWS 練習めも1
2020年3月25日
■参考サイト
ドットインストール
https://dotinstall.com/lessons/basic_aws/9502
■目標
1.構築→壊す→構築→壊す、、を繰り返して
AWSを理解する
2.Linuxのコマンドやシェルの復習
AmazonLinuxインスタンスを操作して、Linuxのコマンド
やシェルなどを復習する
3.Oracleの練習
RDSでOracleを選択して、Oracleの理解を進める
1、2、3とAWSを通じて、
「AWS」、「Linux」、「Oracle」「プログラミング」
と一石四鳥を狙う
■注意点
ElasticIPとRDSは従量課金制
■目標構成
putty
|
Internet
|
ELB
|
----
| |
EC2-1 EC2-2
| |
----
|
RDS
■手順
0.Putty事前インストール
1.ASWアカウントを作成
2.1台目のEC2を作成
・AWS管理コンソールにログイン
・EC2選択
・東京リージョン選択
・AMIは、AmazonLinux選択(スペックは最小)
・AZは東京の1a選択
・作成(少し待つ)
・電源保護:チェックON
・タグ名:MyWeb1
・秘密鍵:tachibana(.pem)
・セキュリティグループ:デフォルト名
→80、HTTP、0.0.0.0/0追加
・起動
・「インスタンス」メニュー移動:pending確認
→Runnning待つ
→StatsuChecks待つ
・インスタンスのURL(パブリックDNS)をコピー
・ブラウザで参照
→未接続のはず(HTTPDプロセス起動してない為)
・インスタンスの「停止」と「削除」を間違わない事!
・EBSに移動
・アタッチしたボリュームを確認
→あとでスナップショット取得する
・作成したインスタンス選択
・右クリック→接続★
→スタンドアロン SSH クライアント
・SSHコマンドをコピー
例:
ssh -i "taxxxa.pem" ec2-user@xxx.ap-northeast-1.compute.amazonaws.com
・pemキーをPuttyにコピー??
・Puttyで接続する(URL(パブリックDNS)で?)
→pemキーをChmodしておく(後で)
→Puttyキー作成★
・鍵をインポート、PEMキー選択
・パスフレーズ:Sxxxo1xx4
・秘密鍵の保存→Sxxxo1xx4.ppk
https://recipe.kc-cloud.jp/archives/25
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/putty.html
・Puttyで接続
→SSH→認証→先ほどのPPKファイルを選択
→コネクションはパブリックDNS(又はElasticIP指定)
→セッション一覧に保存
ユーザ:ec2-user
パスフレーズ:Sxxxo1xx4
→LoginOK(のはず)
・以下実行
・sudo yum update
・sudo yum -y install httpd php mysql
・sudo service httpd start
・sudo chkconfig httpd on
・sudo vim /var/www/html/index.html
<html>
hell!
</html>
・php -v
・mysql --version
・ブラウザで正常性確認
→hello!表示を確認
・Webサーバが出来たので、この時点のイメージ作成
・インスタンスを選択
→イメージ→イメージの作成(★注、サーバシャットダウンされる)
イメージ名:MyWeb1Image
・EBSに移動
→スナップショットに移動、作成中を確認
・イメージに移動
→AMIに移動、作成中を確認
・ネットワーク&セキュリティに移動
→ElasticIPに移動
・ElasticIPアドレスの割り当てをクリック(★従量課金)
・Action→関連付け→インスタンスに関連付けする
・ブラウザでIPアドレスでのhello!を確認
・確認後、IP関連付けを解放
・使わないなら、IPを解放(★従量課金)
・バックアップ(スナップショット)を取得
・EBSに移動
→スナップショットの作成を選択
・名前(説明):MySnap1
→作成されている事を確認
・(参考)このバックアップをインスタンス作成のAMIイメージとして
使う場合:
→スナップショット選択
→右クリック→イメージの作成
・(参考)インスタンスのスペック変更:
インスタンスを停止→右クリック→インスタンスタイプの変更
→変更したら、起動して変更反映
・RDSを選択
・東京リージョンの確認
・データベースの作成クリック
・標準作成→MySQL→無料利用枠を選択
・DBインスタンス識別子:MyDBinstance
・マスターユーザ名:dbuser
・ますわーパスワード:Sxxxo1xx4
・マルチAZ:NO(冗長構成にはしない、、★お金かかる)
・インスタンスサイズ:最小構成
→色々入力後、データベースの作成クリック
・アベイラビリティゾーンは勝手にWebサーバインスタンスと
同じになる(EC2と同じAZでないとアクセスできない★)
・(参考)VPCはここでは、、設定されてるけど、、言及しない
・EC2からデータベースへの接続
・作成したDBインスタンスを選択
・エンドポイントとポート(★接続に必要)
mydbinstance.cxxxc.ap-northeast-1.rds.amazonaws.com
・ポート
3306(デフォルト)
・EC2からの接続、、、セキュリティグループを変更するのがベター
→EC2と同じに
・EC2インスタンスを選択→起動
・Putty画面から下記を入力、DBに接続
# mysql -h [先ほどのRDSのエンドポイント指定] -u dbuser -p
(セキュリティグループ、、、デフォルト??)
・DB一覧を確認
# show databases;
3.2台目のEC2とELBを作成し負荷分散システムを構築
・MyWeb1のイメージを作成
・作成したイメージから2台目を作成する
・MyWeb1を選択
・右クリック→イメージ→イメージの作成
→イメージ名:MyWeb2Image
・作成したMyWeb2Imageを選択→右クリック→起動
・ウィザードに沿って各項目を適宜選択
・AZは先ほどとは違うのを選択★(xx-1cを選択)
・タグの追加:MyWeb2
・セキュリティグループ
HTTP、80を追加
既存のセキュリティグループを選択★
・キーペア:既存を使用★(tachibana)
・正常性確認
・作成したMyWeb2のパブリックDNSをコピー
・ブラウザに入力してHello!表示を確認
・ELBを作成
・ロードバランシングを選択
・ロードバランサを選択→ロードバランサの作成クリック
・以前の世代を選択→作成クリック
・ロードバランサ名:MyLoadBalancer
・ウィザードに沿って進める★(適宜独自判断!)
・タグの追加:Name、MyLB
・OutOfService→InServiceになったらLB作成OK
・LBへの接続
・説明→DNS名→Aレコードを選択コピー
・ブラウザで入力して開く
→Hello!の表示を確認
★MyWeb1か2かどちらが表示されているか等、
気になる人はApacheのログとか調べて、って解説の人コメント
以上で終了
【参考】
参考としてS3の紹介のURLあった
https://dotinstall.com/lessons/basic_aws/9515
https://dotinstall.com/lessons/basic_aws/9516
参考として料金の確認
https://dotinstall.com/lessons/basic_aws/9517
■疑問点
・キーペアを削除できない
参考
https://teratail.com/questions/243509
http://blog.serverworks.co.jp/tech/2020/01/10/post-77961/
・セキュリティグループとかVPCとか削除していいの?
→削除したけど、、、。デフォルトでAWSが用意?課金は?
以上