- 1. AWSのEC2へのデプロイ①(EC2インスタンス作成からログインまで)
- 2. AWSを使ってWordPress(ブログ)のWebサイトを構築してみた
- 3. AWSの為のクラウドとネットワーク
- 4. AWS初学者はまずはここから!VPC??EC2??サブネット??そんな状態からsshでEC2にログインする
- 5. AWS公式ドキュメント「Amazon ECS における Docker の基本」を参考にDockerでWebサーバ構築してみた
- 6. AWS CloudTrail とは
- 7. デバイス証明書を使って、S3をダウンロード制限付きのファイル転送サービスとして使う方法
- 8. Could9からHerokuにデプロイした際に発生したエラー’’App crashed”の原因調査について
- 9. Amazon Elasticsearch Serviceのカスタムエンドポイント設定方法
- 10. 地震で停電した後、独自ドメインのアプリにアクセスできなくなった話
- 11. S3やCloudFrontの証明書がAmazon Trust Servicesに移行します
- 12. AWS Athena で自社アプリのログを解析する
- 13. 40代おっさんVPCを勉強してみた
- 14. 【AWS】Amazon EFSを作成して、EC2とLambdaから使用する
- 15. S3内のオブジェクトの更新をすぐに反映したい
- 16. Doker Desktop for Windows を利用した AWS lambda ローカルPC開発環境構築
- 17. 非ENGとENG初学者の「クラウド」に対する誤解
- 18. CloudWatch Agent を EC2 インスタンスにインストールする
- 19. Amazon EC2 上で AWS CLI がクレデンシャルの問題で失敗した時の対処
- 20. AWSで提供されているサービス(代表的な)
AWSのEC2へのデプロイ①(EC2インスタンス作成からログインまで)
AWSのEC2へのデプロイをしたいと思い備忘録のために手順を記録します。
初学者の為、ご指摘等ありましたらご連絡いただければ幸いです。今回は`EC2インスタンスの作成`をします。
EC2インスタンス作成が2つ目以降の方は無料枠から外れてしまうので気をつけましょう。
[こちら](https://qiita.com/mumucochimu/items/dd5728dc9a74b1545a01)でインスタンスを削除する方法をまとめてあるのでよろしければご参照ください。今回の内容は使っている言語による違いはないと思います。
## 前提条件
– AWSアカウントを作成ずみであること
## ログインとリージョンの確認
1. [こちら](https://aws.amazon.com/jp/)から下記画像のように`コンソールにサインイン`を押下しログインします。
![スクリーンショット 2021-02-13 14.06.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1051152/fd3fba0
AWSを使ってWordPress(ブログ)のWebサイトを構築してみた
#はじめに
AWSを勉強したいと思い、座学で頑張っていましたが、手を動かさないことの限界を感じ、手を動かして環境構築した結果を記します。第一弾となります。#環境
Windows10
Tera Team#やりたい事
EC2をwebサーバとしてWordPressにてブログ作成。
RDSを起動し、EC2とRDSを紐づけることでWordPressのDB参照先となる。
また構成はEC2一台、RDS一台のシングル構成である。#構成
![ハンズオン1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/609281/7cd8cad9-58f2-5281-6bbc-eeadf0294041.png)
作成ポイント
・RDSを作成するのにサブネットグループを作成する必要がある
・サブネットグループを作成するためにマルチAZ構成かつどちらのサブネットも2つずつ作成する#躓いた点
![2021-02-14 (3).png](https://qiita-image-store.s3.ap-northeast-
AWSの為のクラウドとネットワーク
## クラウドとは
クラウドとは、いつでもどこでもインターネット回線を介してアクセスできる環境のことを指します。代表格としましては、Microsoft社のOffice 365や、ファイルのストレージサービス、音楽配信のサービス、画像保存サービスなどが挙げられます。これらのサービスを、スマホやパソコンからインターネット越しに使います。従来であれば、自分の端末にインストールしたソフトウェアや、保存したデータしか使用できませんでしたが、クラウド環境であれば、エンターネット常に置かれたソフトウェアや画像・音楽などのリソースを使えたり、ローカル環境に保存するようにクラウド上に保存したりできるわけです。
クラウド環境は、自分で作ることもできれば、借りることもできます。また、事業者が提供しているサービスを利用する方法もあります。### パブリッククラウドとプライベートクラウド
クラウドには、パブリッククラウドとプライベートクラウドがあります。パブリッククラウドとは、AWSのようなレンタルするクラウドです。一方、プライベートクラウドは自社で構築するクラウドです。## クラウドコンピューティング
AWS初学者はまずはここから!VPC??EC2??サブネット??そんな状態からsshでEC2にログインする
# 対象読者
– AWS?何それ美味しいの?状態の人
– これからAWSの勉強を始めたい
– コピペしてたらなんとなくできてしまったけど概念も含めてちゃんと理解したい
– VPC, リージョン、アベイラビリティゾーン、サブネット、internet gateway, Nat gateway,EC2あたりを詳しく説明していきます(逆にこれ以外はほぼ説明しません)## 今回の構成図
![スクリーンショット 2021-02-12 2.20.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/bbf79230-c733-af43-e621-d605ab37eace.png)
今回はこんな感じの構成で作成していこうと思います!超基本的ですね。
今はこれがなんだかわからなくても大丈夫です。初めはまずインフラの構成を考えて図に書き起こすことが非常に重要です!
迷ったときは構成図を見直して頭の中を整理しましょう!!## VPCって??
VPCとはAWSが提供する仮装環境です。このVPCの中
AWS公式ドキュメント「Amazon ECS における Docker の基本」を参考にDockerでWebサーバ構築してみた
# 初めに
ECSのことは一切書いてありません。初心者エンジニアの備忘録です。
# 準備
公式ドキュメントにあるDockerfile(ubuntuイメージ)を使う。
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/docker-basics.htmlこのDockerfileにpython3インストールを追加しておく。
“`
RUN apt-get update && \
apt-get -y install apache2 && \
apt-get -y install python3
“`## HTMLファイル用意
/var/www/html/index.html
“`index.html
AWS CloudTrail とは
## 勉強前イメージ
費用確認する系のやつ?
なんか普通のサービス的な感じじゃない気がするなー## 調査
### AWS CloudTrail とは
AWSサービスを記録し、いつ・だれが・何をしたのか を残すサービスです。
イベント履歴と証跡情報の2種類の項目のリソースの追跡を行うことができます。### AWS CloudTrailの特徴
– コンプライアンスの支援
ユーザのアクティビティ履歴を確認できるので、ポリシーや規則の準拠に沿ってるかの確認がより簡単になります。
– データ不正引き出しの検出
ユーザのアクティビティ履歴を確認できることにより、データの不正引き出しを検出することができます。
– セキュリティ分析
イベントをログを分析することによって、ユーザーの行動パターンを検出できます。
– トラブルシューティング
アクティビティ履歴を確認できるので、最近変更のあったリソースなどの確認が行なえます
### イベント履歴
イベント履歴はダッシュボードの下にあり、そこから確認することができます。
s3のを作ったり削除したりなどもこちらで見ることができ
デバイス証明書を使って、S3をダウンロード制限付きのファイル転送サービスとして使う方法
# この記事の目的
メールで数GBのファイルを送りたいが、サイズ制限で送れない。
送るデータにはセキュリティをかけて、第三者にダウンロードさせたくない。
ファイル転送サービスやクラウドストレージを使えば簡単だが、社内的にまずい。
そんなときに、S3+デバイス証明書だけでファイル転送サービスを自作する方法があります。
![image_kousei_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/233180/1f9b01d4-7bbc-d6c3-a371-8748980bd2e4.png)
# 構成図
AWSの構成図は以下の通りです。LambdaやCloudFrontは不要です。
![image_kousei_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/233180/3258bed1-98f0-59ae-8c8d-aad8a95e6366.png)
デバイス証明書からアクセス権限を貸与することで、
Could9からHerokuにデプロイした際に発生したエラー’’App crashed”の原因調査について
#はじめに
* Railsチュートリアル第4版の第2章の開発中にエラー発生。
* エラー調査方法の備忘録として投稿。#開発環境
* MacOS Catalina 10.15.7
* Safari 13.1.3
* AWS Cloud9
* Rails 5.1.6
* Ruby 2.6.3
* Heroku 7.47.6#事象
Herokuにて**ApplicationError**が発生。
![スクリーンショット 2021-02-13 17.47.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/948417/9e024aaf-67a8-0bf7-848f-c9db8cb4148a.png)#調査方法と原因
**1.「heroku logs –tail」にてHerokuのログを確認**
エラーコード「**H10**」の「**App crashed**」が出力される。
“`
heroku[router]: at=error code=H10 desc=”App crashed”
`
Amazon Elasticsearch Serviceのカスタムエンドポイント設定方法
## はじめに
2020年11月5日にAmazon Elasticsearch Service(以降、AES)において
**好きなドメイン名でKibanaにアクセスできる**カスタムエンドポイントがローンチされました。AESのドメインを再構築する度にアクセス先のURLが変わるのツラかった。。
本投稿は、実際に設定してみた際の手順を備忘録的にまとめてみました^^**【参考】**
・ [Amazon Elasticsearch Serviceが、ドメインエンドポイントのカスタム名を定義できるように][00]## 利用環境
| 項目 | 内容 |
|———|———|
| Elasticsearch | 7.9 (latest) |
| Region | us-west-2 |
※投稿時点における最新版を採用しています。## 前提条件
– AESはパブリックアクセス、各種認証は無効、HTTPS要求は有効で事前構築済みになります。
– 事前にRoute53でホストゾーン(opensiem.name)を取得しています。## 実施内容
1. SSL証明書の
地震で停電した後、独自ドメインのアプリにアクセスできなくなった話
# 開発環境
Mac OS Catalina 10.15.7
ruby 2.6系
rails 6.0系# 前提
– 記事投稿型のアプリを作成
– EC2にデプロイ済み
– Route53で名前解決済み(ドメインはお名前ドットコムで取得しました)# ことの発端
昨日の夜、東北地方を震源とした比較的大きな地震が発生し、その結果私の家が停電になってしまいました。
そして、その停電を境に、転職活動用に作成したポートフォリオにアクセスできなくなる事態が発生しました。IPアドレスからだとアクセスできるので、サーバーは正常に動いていると思うのですが、SSL化した独自ドメインからのアクセスができません。
chrome画面のエラー文は“`ERR_CONNECTION_TIMED_OUT“`とのこと
“`応答時間が長すぎます“`とも言われてしまいました。# 解決法
結論から書くと、ロードバランサーでSSL化した際に作成したセキュリティグループのインバウンドルールを編集して、ソースを「任意の場所」に変えることで解決しました。
![スクリーンショット 2021-02-14
S3やCloudFrontの証明書がAmazon Trust Servicesに移行します
# 内容
2021年3月23日から、S3とCloudFrontは 各サービスのデフォルト証明書の認証局をAmazon Trust Servicesに移行する 独自の証明書 Authorityを変更します。
> https://aws.amazon.com/jp/blogs/security/how-to-prepare-for-aws-move-to-its-own-certificate-authority/
# 確認してみます
## ①CloudFrontドメインの場合“`bash
$ openssl s_client -connect xxxxxxxxxxxx.cloudfront.net:443 -showcertsCONNECTED(00000006)
depth=3 C = US, O = “VeriSign, Inc.”, OU = VeriSign Trust Network, OU = “(c) 2006 VeriSign, Inc. – For authorized use only”, CN = VeriSign Class 3 Public
AWS Athena で自社アプリのログを解析する
自社アプリのログがあり今までテキストで検索していましたが、AWS に便利なものを発見しました。
AWS Athena を使うと、S3 に置いたログファイルを SQL で検索できます。
ログをS3に送り、Lambda で Json に変換して、Athena で解析します。# AWS Athena について
S3にログファイルを置くだけで、SQLで検索できるようになります。
他のAWSのログも解析ができます。あれは人間が直接見るものではなかったのです。世間ではアクセス解析などに使用されています。DBなどは使わず、ファイルを直接クラウドパワーで解析しているようです。# ログの準備
ログの例です。
“`console:ログの例
2021-01-12T12:00:01+09:00 000001 info Downloa
40代おっさんVPCを勉強してみた
#40代おっさんVPCを勉強してみた
##はじめに
プログラミング初学者です。軽い自己紹介します。・介護職にて17年以上働いてました。
・昨年よりプロブラミングに興味が出て勉強をしています。
・年齢のこともあり、就職活動うまくいっていません。##目標
VPC作成し理解を深める。##VPCとは
AWS上で提供している機能の1つで、AWS内に構築できる仮想ネットワークのことです。
この仮想ネットワーク内にてAWSが提供しているサービス(例えば仮想サーバー「EC2」など)を起動することができる。##VPC構築するための前提知識
###CIDRとは
CIDRとは、「Classless Inter-Domain Routing」の略で、サイダーと読みます。
クラスを使わないIPアドレスの割り当てと、経路情報の集成を行う技術です。
クラスとは、IPアドレスのネットワーク部とホスト部を決められたブロック単位 で区切る方法(クラスA,B,Cと決めて区切る方法)
これに対しクラスを使わないCIDRでは、任意のブロック単位で区切ることがで きるため、IPアドレス空間を効率的
【AWS】Amazon EFSを作成して、EC2とLambdaから使用する
Amazon EFSを作成し、EC2にマウント、Lambdaからアクセスできるようにしてみました。
# 前提条件
– VPC、EFS、EC2は同一リージョンに作成する(今回は東京リージョンを使用)
– LambdaはEFSに到達できるVPCに接続する必要がある
– プライベートサブネットが作成済みの状態から開始する
– EC2へSSH接続を行うためのキーペアが作成済みの状態から開始する## この記事のゴール
– Amazon EFSを作成し、LambdaからEFS内のファイルを操作する
– EC2にEFSをマウントし、EFS内のファイルを操作する以下の構成をイメージしています。
![aws.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620994/c52c837e-aeef-5991-f56a-9b8ab492f950.png)## この記事で扱わないこと
– VPCの作成方法
– パブリックサブネット、プライベートサブネットの作成・設定方法
– EC2インスタンスへのSSH接続方法#
S3内のオブジェクトの更新をすぐに反映したい
## はじめに
作業中S3に保存されているhtmlファイルを更新した後、すぐにブラウザで確認したところ更新が反映されませんでした。
オブジェクトに対してCache-Controlを設定することで解決したので、手順を以下に記載します。
## 手順
#### ①メタデータの編集を開く
Cache-Controlを設定するオブジェクトを選択し「アクション」から「メタデータの編集」を選択する。
![スクリーンショット 2021-02-14 15.03.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/388694/f5607137-9097-45ac-1ee6-47aee2be8112.png)
#### ②メタデータを追加するメタデータの追加を押下後、キーでCache-Controlを選択し、値に以下を入力する。
| ケース | 値 |
|:-:|:-:|
| キャッシュさせない | no-cache |
| 時間を指定する | max-age=秒数 |![スクリーンショット 2021-02-1
Doker Desktop for Windows を利用した AWS lambda ローカルPC開発環境構築
## 環境
* Windows 10 Pro 20H2
* docker desktop Version 3.1.0(51484)## docker desktop インストール
* [Docker Desktop for Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
Get Docker よりインストーラーをダウンロードして実行ちなみに、私のPCではインストール実行後、以下の問題が出て解決するまで時間がかかりました。
* [\[Docker\] "Timed out waiting for the lifecycle-server to start"によりサービスが起動しない – Qiita](https://qiita.com/ktz_alias/items/f617c526a18de9b3f0f7)
## amazonlinux 起動
* docker desktop 起動後、PowerShell より以下のコマンドを実行“`
非ENGとENG初学者の「クラウド」に対する誤解
# 初めに
初学者のみなさん、クラウドサービスとはなんですか?と聞かれたらどのように答えますか?
私は、「AWSやAzureのような、インフラのリソースを使えるサービス」と思ってしまっていました。
そしてこの認識では正確ではありませんでした。
ことの経緯をお話しします。> 非エンジニア「クラウドサービスって、**Gmailみたいなサーバーがなくても使えるサービス**のことだよね。」
> 私 (クラウドサービスって、**AWSとかのインフラサービス**だと思ってたけど、、確かにクラウドでググったら
> *一般的なMailサービスのような、、*
> って書いてある記事あるやん。)> 私 (クラウドの定義難しいな、ちゃんと調べなあかんな)
このような経緯がありました。そして調べたら、
**もしかしたら初学者である自分の方も誤解していたのでは**
というオチに辿り着きましたので、同じような初学者に対して警鐘を鳴らせればと考えましたが、
そもそもこんな勘違いしているのは自分だけかもしれないです。
しかし、失敗を恐れずに投稿したいと思います。# クラウドに対する認識の問題
少し
CloudWatch Agent を EC2 インスタンスにインストールする
# はじめに
EC2 インスタンスは、デフォルトでいくつかの Metrics をモニタリングできます。デフォルトのものでは、メモリや Disk の使用量などの Metrics は取得できません。CloudWatch Agent を、新たにインストールして設定することで、メモリや Disk を含む詳細な Metrics を取得出来ます。取得できるものは次の Document に一覧されています。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html
この記事では、Amazon Linux 2に、CloudWatch Agent の導入方法を備忘録的にメモします。
# 通常の Monitoring
まずはじめに、何も気にせずに EC2 インスタンスを作ると、EC2 インスタンスの Monitoring の Tab に、該当インスタンスの いくつかの Metrics が見えます。ただ、メモリや Disk の使用
Amazon EC2 上で AWS CLI がクレデンシャルの問題で失敗した時の対処
2回ほど引っ掛かり、かつネット上でパッと情報が見つからなかったので整理します。
## EC2 インスタンス上で AWS CLI を実行する
`Amazon Linux 2 AMI`の EC2インスタンスをデフォルトの設定で作成すると、初めから AWS CLI が使える状態になっています。“`
$ aws –version
aws-cli/1.18.147 Python/2.7.18 Linux/4.14.214-160.339.amzn2.x86_64 botocore/1.18.6
“`この状態でコマンドを実行すると、以下のようなエラーが出ます。
“`
$ aws s3 ls
Unable to locate credentials. You can configure credentials by running “aws configure”.
“`現在の設定を確認すると、確かにクレデンシャルが設定されていません。
“`
$ aws configure list
Name Value
AWSで提供されているサービス(代表的な)
## Amazon EC2
Amazon Elastic Compute Cloud。
仮想サーバー。
コンピューティングキャパシティを提供するサービス。サーバー、OS、ソフトウェアなどを一式レンタルできる。
さまざまなスペックのものが用意されており、自分で自由にソフトウェアを入れてシステム構築できるし、すでに
設定済みのサーバーをかりることもできる。
## Amazon S3
Amazon Simple Storage Service。
オブジェクトストレージサービス。Webサーバーやファイルサーバー用のファイルの保管場所として利用できる。(ストレージサービス)。S3は障害やエラーに強くて、強力な管理機能や他サービスとの連携機能を備えている。
## Amazon VPC
AWSアカウント専用の仮想ネットワーク。ネットワークやサブネットの範囲、ルートテーブルやネットワークゲートウェイの設定などをして、仮想ネットワーキング環境を構成する。
## Amazon RDS
リレーショナルデータベースで定番ともいうべき6種類の製品を、クラウド上で利用できるサービス。
(AmazonAurora、