- 1. CloudFormationでVPCを構築する方法
- 2. Carrierwaveとfog-awsを利用したS3へのアップロードが正常にできるまでに試したこと
- 3. CloudFormationでテンプレートを新規で作成する際の手順
- 4. 【解決】EC2にてアセットファイルをコンパイルしたときにエラーが出た。
- 5. EventBridgeのサンドボックスを使いイベントパターンのチェックを行う。
- 6. Amazon EventBridge Scheduler が提供されたので動作確認してみた
- 7. [AWS Systems Manager] ManagedInstanceとして認識されない謎
- 8. 【AWS】EC2インスタンスへのログイン
- 9. AWS CLI を使用して RDS の「保留中のメンテナンス」をまとめて適用する方法
- 10. AWSの自動バックアップ構築(Data Lifecycle ManagerとCloud Watch)
- 11. HTTPS化(Django+Gunicorn+Nginx+EC2編)〜後編:HTTPS化
- 12. Spring BootのプロジェクトをAWSで公開するまで
- 13. AWS QuickSightがDatabricksをサポートしました!
- 14. HTTPS化(Django+Gunicorn+Nginx+EC2編)〜前編:ロードバランサー作成
- 15. The Turning point with the AWS
- 16. AWS CDK(TypeScript) + AWS SAMでImageタイプのLambdaをローカル実行する
- 17. AWS CLIで所望のEC2インスタンスを探す方法
- 18. FastAPI+Serverless FrameworkでCognito認証情報を処理内で取得
- 19. AWS CLI で SSO ログインを使用する方法
- 20. Terraformを使ってROSA(Red Hat OpenShift Service)をデプロイしてみる
CloudFormationでVPCを構築する方法
# CloudFromationとは
CloudFormationはプログラミング言語やYAML,JSONを使用してAWSリソースを構築出来るサービスです。
AWS環境をテンプレート化しておくことで、同じ環境を作成する時間を削減することができます。今回はYAMLで作成していきますので、JSONに変換したい方は次の記事をご参照下さい。
YAMLからJSONに変換する方法## 構成図
![スクリーンショット 2022-11-22 19.47.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983197/680554f1-72f8-de5b-44a0-52b1f2dcd9a0.png)## 完成したテンプレート
“`:テンプレート
AWSTemplateFormatVe
Carrierwaveとfog-awsを利用したS3へのアップロードが正常にできるまでに試したこと
# 概要
下記の記事を参考に、Carrierwaveとfog-awsを利用したS3へのアップロードができるように設定した。https://qiita.com/take18k_tech/items/2efd778c8dd9aae9496e#10-s3
本番環境へデプロイ後、動作を確認してみると、下記の状況となっていた。
– 画像をアップロードしても、
– S3バケットには何も表示されない
– /var/www/my-app/current/public/uploads配下に保存されている
– アクセスはできるが、CSSが反映されなくなっている# 環境
– アプリ
– ruby 3.0.2
– rails 6.1.4
– mysql 8.0.31– EC2AMI
– Amazon Linux2 AMI
– app server : Unicorn
– web server : Nginx# エラー①
/var/www/my-app/current/logをそれぞれ確認。
関係ありそうなのは下記のログ。
“`va
CloudFormationでテンプレートを新規で作成する際の手順
# CloudFormationとは
CloudFormationはプログラミング言語やYAML,JSONを使用してAWSリソースを構築出来るサービスです。
AWS環境をテンプレート化しておくことで、同じ環境を作成する時間を削減することができます。# CloudFormation新規作成手順
### 1 スタック作成
AWS CloudFormation管理コンソールから、スタックの作成をクリックし、[新しいリソースを使用(標準)]を選択して下さい。
![スクリーンショット 2022-11-22 20.44.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983197/47bb1ae7-a91c-5f62-c620-850cc285d438.png)### 2 テンプレート選択
[スタックの作成]で、[テンプレートの準備完了]を選択し、[テンプレートファイルのアップロード]>
[ファイルの選択]で、テンプレートを選択します。
![スクリーンショット 2022-11-22 20.45.
【解決】EC2にてアセットファイルをコンパイルしたときにエラーが出た。
アセットファイルをコンパイルしたときにエラーが出ました。
手こずりましたが、いろいろ調べて解決することができたので、記録したいと思います。“`rails:ターミナル
$ rails assets:precompile RAILS_ENV=production
“`“`rails:ターミナル
yarn install v1.22.19
[1/5] Validating package.json…
error furima_38288@0.1.0: The engine “node” is incompatible with this module. Expected version “14.20.0”. Got “14.21.1”
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
“`上記のようにエラーが表示されました。
# エラーの原因
調べた結果、Node.jsの
EventBridgeのサンドボックスを使いイベントパターンのチェックを行う。
# はじめに
先日、`EventBridge`で`CloudTrail`に記録されたイベントを契機にするルールを作成した際、四苦八苦しながら少しだけサンドボックスの機能を使ってみたので、残しておこうと思います。# EventBridgeのサンドボックス機能とは
`EventBridge`のルールを「**イベントパターンを持つルール**」の形式で作成する場合、各サービス等から出力されるイベントに合致するように「**イベントパターン**」を記載して、イベントに合致した場合にルールを実行する動作となりますが、「**イベントパターン**」の記載方法があっているかを確認するためには実際にイベントを発生させて確認する必要があります。ただ、記載方法があっているかを確認するのに毎回イベントを発生させるのは非常に手間なので、2022年3月に新たに「**サンドボックス**」の機能が加わりました。
– 「[Amazon EventBridge がマネジメントコンソールでルールフィルタリングとイベント変換機能の強化を開始](https://aws.amazon.com/jp/about-aws/wh
Amazon EventBridge Scheduler が提供されたので動作確認してみた
# AWS EventBridge Scheduler
https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-eventbridge-launches-new-scheduler/
# 従来
今まで Lambda 等から EC2 や RDS の ECS の定期停止を実行していました。
![名称未設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/39c1aa3d-f80f-c5d1-bd71-de9e1a308f42.png)
# アップデート
複雑な処理を実行する場合は引き続き、Lambda を介して実行する必要があると思いますが、EventBridge Scheduler から直接実行できるようになりました。
![eb2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/a4993cef-b19e-a5e8-4
[AWS Systems Manager] ManagedInstanceとして認識されない謎
AWSのインスタンスタイプはXeonからNitroに変更する作業は
AWS Systems Managerを活用して自動化ドキュメント仕組みを作成しましたので、
普段数クリック数分で終わるものと想定しました。
さっさと終わったら本日の仕事終了して休みの計画作成(祝日は外出気分転換と決まっている、、)考えがあまい!!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/55863892-45f7-6a26-0dfc-649025e9e4d9.png)古いインスタンスせいと思いますが、
色々想定外事象発生することとトラブルシューティングとして記録します。事象としてましては、 件名の通りManagedInstanceにならなかった。
以下は解決できるまでの道のり、、長いので、時間がない方は最後見て頂ければと思います。
– SSMAgentは2.X
ー> 最新のSSMAgentを入れました。サービスとして再起動したが、NG
– PROXYのせい
ー> 何も
【AWS】EC2インスタンスへのログイン
# はじめに
rails初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。# EC2インスタンスへログイン
EC2インスタンスを作成すると、「ec2-user」というユーザーと対応するssh秘密鍵が生成されます。「ec2-user」を使用してログインします。“`bash.ターミナル(ローカル)
% cd ~
“`
“`bash.ターミナル(ローカル)
% mkdir ~/.ssh# .sshというディレクトリを作成
# File existsとエラーが表示されたとしても、.sshディレクトリは存在しているのということなので、そのまま進みましょう。
“`
“`bash.ターミナル(ローカル)
% mv Downloads/ダウンロードした鍵の名前.pem .ssh/# mvコマンドで、ダウンロードしたpemファイルを、ダウンロードディレクトリから、.ss
AWS CLI を使用して RDS の「保留中のメンテナンス」をまとめて適用する方法
# 準備
あらかじめ AWS CLI に SSO でログインしておきます。
https://qiita.com/gorooe/items/5e20e261693417f723b3# 対象 RDS のリストアップ
保留中のメンテナンスがある RDS の arn を AWS CLI でリストアップします。
“`terminal
aws rds describe-pending-maintenance-actions \
–profile amimoto-ap-northeast-1 \
| jq -r ‘.PendingMaintenanceActions[].ResourceIdentifier’
“`# コマンドでメンテナンスを適用
RDS の arn を指定し、以下を実行します。
RDS の台数分だけ arn とリージョンを変更し実行します。
“`
aws rds apply-pending-maintenance-action \
–resource-identifier RDS-arn \
–apply-action syste
AWSの自動バックアップ構築(Data Lifecycle ManagerとCloud Watch)
# 1.はじめに
業務でAWS EC2インスタンスのバックアップ運用を検討及び設定をしたので、備忘録的にここに書き残します。本記事はAWS初心者が試行錯誤な奮闘記となり、ベストプラクティスではないのでご注意ください。また、監視はAWSサービスを利用しなくても他のサードパーティサービス(もしくはプロダクト)でできると思います。
# 2.利用サービスとその概要
以下に今回のバックアップ自動化において利用したサービスとその簡単な概要を記載します。
**Amazon Data Lifecycle Manager(通称DLM)**
AWS EC2の管理コンソールより設定できるスナップショット/AMIの作成・削除・保持を自動化できる仕組み。
URL:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/snapshot-lifecycle.html
**Amazon CloudWatch**
AWSリソースと、AWS上で実行されているアプリケーションをリアルタイムでモニタリングするサービス。
U
HTTPS化(Django+Gunicorn+Nginx+EC2編)〜後編:HTTPS化
# 概要
[前編:ロードバランサー作成](https://qiita.com/coconuts-harm/items/c4c95d73af2009c6d902) で、AWSのELBを利用してロードバランサーの作成までを実施しました。
後編では、新たに以下のAWSのサービスを用いて、EC2インスタンスで構築済のWebサーバーをHTTPS化していきます。– AWS Certificate Manager:証明書の取得、管理(以降では「ACM」)
– Amazon Route 53:ドメインの取得、管理(以降では「Route53」)流れとしては、freenomで取得したフリーのドメインを用いてACMでドメイン証明書を取得し、その証明書をALBに適用します。 ALBとEC2を紐付けてインターネットからはALBに対してHTTPSで通信を行い、ALBからEC2にはHTTPでトラフィックを転送するように構築していきます。
まずは、ドメインの取得からやっていきましょう。
## ドメインの取得
#### 1. ブラウザで [freenom](https://www.freenom.com/
Spring BootのプロジェクトをAWSで公開するまで
## 目的
この記事では以下2点を目的にしている
* Spring Boot 開発環境の構築
* 自作したwebサービスをAWS上で公開## Spring Bootを使う開発環境の構築
この章でやることは3つ
* Javaのinstall
* Spring Bootの雛形ダウンロード
* 実際の動作確認### Javaのinstall
Spring Bootを開発する上で必要なのことはJavaをinstallすることだけでOK今回はsdkmanを使用する。
sdkmanの導入は[こちら](https://sdkman.io/install)から1. installできるjavaのリストを見る
`$ sdk list java`1. listの中から好きなバージョンを選んでインストールする(11.0.17-amzn をinstallする場合)
`$ sdk install java 11.0.17-amzn`1. バージョンを確認する
`$ java -version`
11.0.17-amzn の場合 下記のように出ればOK
“`
openjdk ve
AWS QuickSightがDatabricksをサポートしました!
これも長らくお待たせしました!です。
https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-quicksight-supports-connectivity-databricks/
Databricksレイクハウスに格納されているデータを用いて、QuickSightによる可視化が可能となりました。
# Databricks側の設定
1. QuickSightから接続する[SQLウェアハウス](https://qiita.com/taka_yayoi/items/23d7789198c2dcd66381)を作成して起動します。
1. **接続の詳細**を開き、サーバーのホスト名、ポート、HTTPパスをコピーしておきます。
![Screen Shot 2022-11-22 at 8.57.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/42bb2ad3-0a51-bc9f-f0e3-33212d552973.png)
HTTPS化(Django+Gunicorn+Nginx+EC2編)〜前編:ロードバランサー作成
# 概要
ACMの機能で発行したSSL証明書をELBに適用することにより、インターネットからELBまでのトラフィックをHTTPS通信にすることが可能となります。
HTTPS通信はSSL/TLSプロトコルにより暗号化されたhttp通信のため、個人情報など秘匿性が求められる情報の盗聴や改ざんを防ぐことに役立ちます。変更前、変更後の構成イメージは以下の通り。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/427357/72716059-8e57-e1d4-d735-8235129d766e.png)
HTTPS化を行うにはそこそこの手順があり、間違えるとどう直せば良いのかわからなくなってしまいます。
何を、どこまでやったのか、確認しながら行うようにしてください。まずは段階的にロードバランサーの作成から行っていきます。
※既にEC2インスタンス上にDjangoアプリケーションが動いている前提で進めていきます。なお、以降では
・仮想環境名 : venv_private_diary
The Turning point with the AWS
# AWS Experience consists of physical and virtual spaces
#### Let’s start with from where it BeganThe Question came in my mind
![AmaAmazonEC2_OGP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956999/7c664a38-5c97-1c68-ece3-75cc6f5805ed.png){ I have 1.5 yr exp in Data analysis and security . but I want to move on AWS so which certification will be beneficial for me as a entry level in any organization. please,I want your valuable suggestion.Company hire only Experience can
AWS CDK(TypeScript) + AWS SAMでImageタイプのLambdaをローカル実行する
## 概要
– `sam local ***`(invokeやstart-apiなど)を実行する前に、`sam build -t cdk.out/***.template.json`を実行することでローカルでDockerイメージをビルド出来る
– TypeScriptやJavaScriptのイメージを作成したい場合、pnpmのワークスペース機能を有効+[shared-workspace-lockfile](https://pnpm.io/ja/npmrc#shared-workspace-lockfile)設定を`false`にする、という選択肢がある## 0. 動機など
まず、極力ローカル環境でLambdaなどの開発を進めたい状況とする。
その際、AWS CDKとAWS SAMを組み合わせることでLambdaなどをローカル実行する機能があり、それを使うと開発が便利になる。
ZipタイプのLambdaの場合、公式デベロッパーガイドの[AWS SAMとAWS CDKの開始方法](https://docs.aws.amazon.com/ja_jp/serverless-appl
AWS CLIで所望のEC2インスタンスを探す方法
# はじめに
* AWS上で多数の仮想マシン(EC2)を起動していると、どのような仮想マシンが存在し、どのような状態なのかがパッと分からないことがあります。
* そこで今回は、AWS CLIを使って仮想マシンの一覧を取得した後、リストを絞り込んで所望のインスタンスを探す方法をまとめてみました。# 前提条件
* 以下のページの内容に沿って、AWS CLIの初期設定が行われていることが前提となります。
* 出力フォーマットは「JSON」としています。https://qiita.com/nkojima/items/19e4a098aaf9205115c0
# 基本のコマンド
* [AWSの公式リファレンス](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-ec2-instances.html#listing-instances)にも書かれているように、`aws ec2 describe-instances`というコマンドを使えばEC2インスタンスの一覧を取得できます。
“`shel
FastAPI+Serverless FrameworkでCognito認証情報を処理内で取得
タイトルの通り、FastAPIで開発したAPIにServerless Frameworkの `authorizer` で設定したCognito認証の情報をPython内で使う方法です。
ほぼ最小構成で書いてます。
# FastAPI+Mangum(Python)
利用しているパッケージです。“`pyproject.toml
#省略
[tool.poetry.dependencies]
python = “^3.8”
fastapi = “^0.87.0”
mangum = “^0.16.0”
#省略
“``/auth` というCognito認証情報だけ返すAPIです。
“`http.py
from fastapi import FastAPI
from mangum import Mangum
from starlette.requests import Requestapp = FastAPI()
@app.get(“/auth”)
def get_auth(request: Request):
# Cognitoの認証情報がrequest変数
AWS CLI で SSO ログインを使用する方法
# 注意
この記事は AWS CLI に SSO を「手動」で設定するための方法です。
手動、自動の方法ともに以下の AWS 公式ページに記載があります。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-sso.html私の環境ではなぜか自動設定ができず手動で行ったため、その際の手順をまとめます。
# AWS CLI のインストール
まずは aws cli をインストール。
ここでは方法に関しては省略するので、以下の AWS 公式ページなどを参考にしてください。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html# 必要な情報
– AWS SSO ログイン情報
– AWS SSO のスタート URL(`https://{my-sso-portal.awsapps.com}/start`)
– AWS SSO のユーザーが作成されているリージョン
– AWS SSO アカウン
Terraformを使ってROSA(Red Hat OpenShift Service)をデプロイしてみる
# はじめに
OpenShiftのマネージドサービスであるROSA(Red Hat OpenShift Service on AWS)をデプロイするにあたり、他のAWSリソースと同様にTerraformを使ってIaC化できると嬉しいなーと思い調べたところ、Custom Providerとして[terraform-provider-ocm](https://github.com/openshift-online/terraform-provider-ocm)が公開されていたので、こちらを使ってROSAをデプロイしてみようと思います。:::note warn
注意
* [リポジトリのREADME](https://github.com/openshift-online/terraform-provider-ocm)にも記載がありますが、`terraform-provider-ocm`は現在 0.1 であり、機能は完全ではなく、下位互換性の保証はないことをご理解のうえ利用ください。
:::# 前提条件
* MacOS
* 各種CLIをインストール済み
* aws
*