AWS

【適宜更新】AWSのハンズオンをやってみた!

AWSのハンズオンチュートリアルはたくさんあります!

それらをやってみて、学習できたこととポイントをまとめてみます!

静的ウェブサイトをホスティングする

URL:静的ウェブサイトをホスティングする
GitHub:akashikaikyouohasi/amplify_statishosting Public

学習できたこと

Amplifyを使って静的WEBサイトをホスティングした

ビルド設定

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm install
    build:
      commands:
        - npm run build
  artifacts:
    baseDirectory: build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

frontend

フロントエンドのビルドコマンド。 バックエンドはbackendセクションを追加する必要がある。

phases

preBuildbuildpostBuildのタイミングを定義して、各シーケンス中で実行するコマンドを定義する

preBuildはビルドの開始前に実行するコマンド。
今回は依存関係を解決するために依存パッケージのインストール

buildはビルドコマンド。

postBuildは、ビルドコマンド完了後に実行するコマンド 今回は特になし

artifacts

base-directoryにビルド対象が存在するディレクトリを指定し、filesにデプロイするファイルを指定する。
ここで定義したものだけをAmplifyでホスティングする模様

cache

依存関係をキャッシュして、次のビルド時間を短縮してくれるみたい。

自動ビルド機能

GitHubに更新を加えると自動でビルドされた!

ちゃんと変更が反映されて、文章が変わっていました!
すごい!

手順上のポイント

「[Deploy (デプロイ)] から [Get started (使用開始)] を選択します。」と書いてありましたが、今の画面的には[ウェブアプリケーションをホスト]の[使用を開始する]になっていましたね。

Amazon Lightsail を使用してLinux 仮想マシンを起動する

URL:Amazon Lightsail を使用してLinux 仮想マシンを起動する

学習できたこと

初めてLightSailでインスタンスを建ててみました!
こんなに簡単にインスタンスができてコンソールにアクセスできるんですね~

料金ページを見ると、コンテナも建てることができるんできるみたいです
App Runnerとの違いはどうなるんだろう?

Lightsailの利点

定額で使うことができるのが大きいかもしれない
踏み台などの用途には良さそう

とりあえず簡単に始めるには良さそうだけど、モニタリングが弱かったり制限が色々ありそうなので、検証用途に限って使うのが一番良いのかもしれません。

ファイルを保存および取得する

URL:Amazon ファイルを保存および取得する

学習できたこと

S3にバケットを作成して、ファイルのアップロード、削除をするだけです。

今までやったことがあるので、新しい発見はありませんでした…

「Hello, World!」をサーバーレスで実行する

URL:Amazon 「Hello, World!」をサーバーレスで実行する

学習できたこと

LambdaでHello Worldするチュートリアルでした。

自作のコードでテストしてレスポンスを確認したことがあるので、こちらも新しい発見はありませんでしたね

React アプリケーションの構築 – AWS Amplify を使用してシンプルなウェブアプリケーションを作成する

URL:Amazon React アプリケーションの構築 – AWS Amplify を使用してシンプルなウェブアプリケーションを作成する

GitHub: akashikaikyouohasi/amplify_webapp Public

学習できたこと

AmplifyでReactを使ったWEBアプリを作成しようとしましたが、Amplify-UIのバージョン差分などの影響で正常に実施することができませんでした。

Amplify自体の優先度が今は高くないので、途中ですが終わりとしました。
認証にはCognitoを使用して、簡単にログイン機能が実装できそうだったので残念です。

手順上のポイント

[バックエンド環境]タブはAmplify Studioの開始しかありませんが、そのままamplify init –appId your-app-idコマンドを実行すれば問題ありません。
your-app-idアプリ設定-ドメイン管理から、URLIDを取得してください!
 例:https://master.[your-app-id].amplifyapp.com

Amplify-UIのバージョン差分

認証フローを追加する際、以下のようなwithAuthenticator, AmplifySignOutを追加しています。

import { withAuthenticator, AmplifySignOut } from '@aws-amplify/ui-react'

しかし、最新のバージョンのAmplifyライブラリをインストールするとv2になるため使用できませんでした。
そのため、バージョンを下げるか、Amplify UIのドキュメント Authenticatorを参照して最新の書き方に書き換えるかです。

私は、Authenticatorを使用するようにしました!

エラー:Module not found: Error: Can’t resolve ‘./aws-exports’

手順に従ってAmplifyにコードをデプロイしたところ、Module not found: Error: Can’t resolve ‘./aws-exports’というエラーが出た。

.gitignoreaws-exportsを除外しているため、Amplifyのデプロイフローで作成する手順の追加が必要みたい。

Amplifyで発生したビルドエラーの原因と解決案(Jamstack&Nuxt.js)

AWSのReactチュートリアルのBackendビルドエラーを修正する

AWS AmplifyでのフルスタックアプリケーションのCI/CDパイプラインの構築

EC2 インスタンスでコマンドをリモートで実行する -AWS Systems Manager を使用

URL:EC2 インスタンスでコマンドをリモートで実行する -AWS Systems Manager を使用

学習できたこと

AWS Hands-on for Beginners 監視編 サーバーのモニタリングの基本を学ぼう

URL:AWS Hands-on for Beginners 監視編 サーバーのモニタリングの基本を学ぼう

目的

このコースの目的

  • クラウドにおける監視の考え方を理解する
  • WEBシステムの監視方法を学ぶ

学習できたこと

なぜ監視をするのか?⇒リソースの過不足、不正、正常性を正確なデータを元に判断するため!