- 0.1. 書籍2冊(AWS基礎からのネットワーク&サーバー構築、AWS超入門)のエラーまとめ:執筆中
- 0.2. rails assets:precompile RAILS_ENV=productionでThe engine “node” is incompatible with this module. Expected version “xx.xx.x”. Got “zz.zz.z”とerrorになった時の対処方
- 0.3. Serverless Framework × TypeScript のローカル開発環境構築メモ(S3 Local編)
- 0.4. AWS Step Functions メモ
- 0.5. 【AWS】LambdaからCognitoユーザーを削除する
- 0.6. 【Amazon Connect】APIを使って問い合わせフローを削除してみた
- 0.7. AWS Certified DevOps Engineer – Professional合格体験記
- 1. はじめに
- 2. 教材
- 2.1. EBSについてまとめてみた
- 2.2. ElastiCache for Redis 単一AZ→マルチAZ化の作業手順
- 2.3. EC2上でのWebサイト運用のためにAWSのどのサービスの利用が最低限必要そうか調査しました。
- 2.4. AWS Cloud Practitioner Essential まとめ7
- 2.5. ReactとNode.jsアプリをAWSにデプロイしたよ
- 2.6. EMRクラスタ作成~テーブル作成までのメモ
- 2.7. AWSサービスのローカル環境を構築 (LocalStack)
- 2.8. [AWS] S3+CloudFront に Deploy する buildspec(CodeBuild)
- 2.9. ELBを使ってEC2インスタンスをプライベートサブネットに配置してみた。
- 2.10. さっくり解説するAWS Lambda
- 2.11. CloudEndureからMGNへ
- 2.12. アクセス制御されているECRのスキャン結果をInspectorダッシュボードから参照する
- 2.13. AWS LightSailについて インスタンスの立て方とか
書籍2冊(AWS基礎からのネットワーク&サーバー構築、AWS超入門)のエラーまとめ:執筆中
ポートフォリオに組み込むためにAWSを学習中のものです。
本記事ではタイトルの通り、AWS基礎からのネットワーク&サーバー構築、そして、AWS超入門の二つの書籍において2022年1月現在で書籍どおりに記述してうまくいかなかった部分に焦点を当てて記事を書いていこうと思います。
この記事はな人がこの2冊(もしくは片方)をやるにあたって躓きそうになったり、エラー解決できるがちょっとだるい(っていう気持ち結構わかりますが、)みたいに思った際に役立つのではないかと思います。前置きが長くなりましたが内容の方にさっさといきたいと思います。
### 執筆中
rails assets:precompile RAILS_ENV=productionでThe engine “node” is incompatible with this module. Expected version “xx.xx.x”. Got “zz.zz.z”とerrorになった時の対処方
“`package.json
“node”: “xx.xx.x”
“`
この”xx.xx.x”をエラー表示の”zz.zz.z"にバージョンを合わせると解決!
Serverless Framework × TypeScript のローカル開発環境構築メモ(S3 Local編)
[Serverless Framework × TypeScript のローカル開発環境構築メモ(Serverless Offline編)](https://qiita.com/0taUtan/items/aca988de4b0a53244950)
[Serverless Framework × TypeScript のローカル開発環境構築メモ(DynamoDB Local 編)](https://qiita.com/0taUtan/items/9fdbc791fc936d6380e5)
Serverless Framework × TypeScript のローカル開発環境構築メモ(S3 Local編)[今回][前回](https://qiita.com/0taUtan/items/9fdbc791fc936d6380e5)は[Serverless Framework](https://www.serverless.com)のプラグイン[Serverless Dynamodb Local](https://www.serverless.com/plugins/serverless-
AWS Step Functions メモ
## 概要
* AWSが提供するサーバーレスオーケストレーションサービス。
* 分散アプリケーション・マイクロサービスを「ステートマシン」と呼ばれる仕組みでオーケストレートする。
* 定義したステートマシンはAWS コンソールから「ワークフロー」という形式で可視化できる。## 用語
### ステート
* 状態または一つの作業単位を表す。
### ステートマシン
* ステートからなるフロー(ワークフロー)を指す。
![step_functions_wf.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586535/dfb17d9a-2d6e-8131-1d02-2e538fdd7da8.png)
* ASL (Amazon States Language) と呼ばれるJSON 形式の言語で定義する。
* ASL例
“`json
{
“Comment”: “A Hello World example of the Amazon States Language
【AWS】LambdaからCognitoユーザーを削除する
LambdaからCognitoユーザーを削除することがあり、少し手間取ったので残しておきます。
## 前提
– **Cognitoの削除が可能なポリシーをLambdaのロールにアタッチしていること。**
– ※今回はAWS管理ポリシーの AmazonCongitoPowerUser をLambdaのロールにアタッチしています。
– LambdaのランタイムはNode.js 14.x です。## Lambdaのコード
“`javascript:index.js
let aws = require(“aws-sdk”);exports.handler = async (event) => {
// eventから削除するCognitoユーザーのユーザー名リストを受け取る
let userNameList = event.userNameList;// Cognitoユーザーの無効化メソッドをコール
await disalbeCognito(userNameList);const response = {
【Amazon Connect】APIを使って問い合わせフローを削除してみた
# はじめに
2021年11月23日にAWSから新しくAPIの提供が始まりました。以下[AWS公式ページ](https://aws.amazon.com/jp/about-aws/whats-new/2021/11/amazon-connect-apis-archive-delete-contact-flows/)の
抜粋です。>「Amazon Connect で、問い合わせフローをアーカイブおよび削除する API を提供開始」
Amazon Connect では、問い合わせフローをアーカイブ/解凍する API と削除する API 2 つを新たに提供しています。と、いう事で、今まで行うことが出来なかった問い合わせフローの削除を、CLI、またはLambdaを使う方法で削除出来るようになったようです。
今回は提供された2つのAPIのうち、「DeleteContactFlow」を使用してAWS CLIを使用しての問い合わせフロー削除を行っていきます。
—
# 必要な準備
– AWS CLI のインストール
– IAMユーザーへのアクセスキーとシークレットキーの発行##
AWS Certified DevOps Engineer – Professional合格体験記
はじめに
ARI20新卒2年目の土井と申します。
2021年7月末に AWS Certified Solutions Architect – Professional を取得し([前回の記事はこちら](https://qiita.com/kosuke_doi/items/0229ae98ddeb271b69ce))、かなり時間が経ったので、そろそろ次の資格を…と、思い AWS Certified DevOps Engineer – Professional の受験してきました。
同じ資格を目指す人の役に立てば、ということで記事を書きます。以下試験結果です。
合格ラインが750点に対して829点とSAPの時よりも余裕を持って合格できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/0eab0d8e-6015-e56d-c863-ca86850f714e.png)教材
勉強に使った教材は以下の公式サイトのトレーニングです。
EBSについてまとめてみた
最近AWSのことについて学習を始めました。現在、AWSの基本的なサービスについて学習をしています。今回は、EBSについて調べたことをまとめたいと思います。
##EBS(Elastic Block Store)
EBSとはEC2にアタッチされるブロックレベルのストレージサービス。EC2にアタッチされる外付けのHDDのようなもの。
特徴として、以下のことが挙げられる。+ OSやアプリケーション、データの置き場など様々な用途で利用される。
+ EC2とはネットワーク接続されている。
+ 99.999%の可用性を持ち、サイズは1G~16TBでサイズと利用期間で課金される。
+ ボリュームデータはAZ内で複数のHWにデフォルトで複製されており、冗長化不要。
+ データは永続的に利用可能。
+ 1つのEBSを複数のインスタンスで共有することはできない(一つのEC2に複数のEBSをアタッチすることは可能)。
+ 同じAZのインスタンスのみ付け替えが可能。
+ EC2作成時に、デフォルトで汎用SSD型のEBSがアタッチされる。##ストレージサービス
######ブロックストレージサービス
ElastiCache for Redis 単一AZ→マルチAZ化の作業手順
# 作業イメージ
1シャード分だけ抜き出して考えています。同じことを繰り返せばシャードが何個になっても実質同じです。![ElastiCache.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2362212/1e4df842-c2ad-d595-0145-a9abc5c0d303.png)
当たり前ですが、マルチAZにするために別AZのサブネットを用意する必要があります。
# 手順
やることは2つだけです。– ap-northeast-1aのNodeを削除する
– ap-northeast-1cにNodeを作成するマネコンでもCLIでも作業可能ですが、今回は両方紹介します。
### ap-northeast-1aのReplica Nodeを削除する
– マネコン (2022/01/19現在)の場合ElastiCache for Redisのダッシュボードからシャードを選択
→削除したいノードを選択
→「アクション」から「ノードの削除」を選択
→削除– CLIの場合
EC2上でのWebサイト運用のためにAWSのどのサービスの利用が最低限必要そうか調査しました。
EC2上でのWebサイト運用のためにAWSのどのサービスの利用が最低限必要そうか調査しました。
調べた概要や料金(一部抜粋)を記載します。
本情報のみで完結させるため、各所に「※」で補足情報も載せました。
過不足あればご指摘お願いします。# 参考
https://aws.amazon.com/jp/
https://e-words.jp/# ストレージ&データベース機能
## S3(Simple Storage Service)
画像や動画の他、バックアップファイルなどの静的ファイルを保存することができるストレージ。
EC2※にインストールしたCMSと連携して、メディアファイルを格納したり、
バックアップデータを保管する用途としての利用。
※EC2(
AWS Cloud Practitioner Essential まとめ7
# [AWS Cloud Practitiner Essential] (https://explore.skillbuilder.aws/learn/course/1875/play/27620/aws-cloud-practitioner-essentials-japanese-ri-ben-yu-shi-xie-ban) 殴りがき
料金とサポートについて。
## AWS 無料利用枠
– 無制限無料 -> すべてのAWS利用者が使え、使用期限はない。
– Lambda -> 月に100万回呼び出さない限り無料。
– 12ヶ月間無料 -> AWSアカウントを作成してから12ヶ月は無料で使える。
– S3 -> 最大5GBのストレージが12ヶ月間無料
– トライアル -> 短期間の無料トライアル。(サービスによって期間が異なる?)
– AWS Lightsail -> 1ヶ月間のトライアルで750時間使用可能。## AWSの料金の概念
– 使った分のみ課金される
– 実際に使った分だけ料金が生じるシステム
– 事前の契約やライセンス取
ReactとNode.jsアプリをAWSにデプロイしたよ
ReactとNode.jsでアプリケーションを作りました。
実際にAWSを用いて環境構築して、動くようにしたので、どのようなネットワークを作ってどのような技術を用いてデプロイしたのかを書いていきます。
※どのようなネットワークを作ったかを重点的に説明します。技術の詳しい説明はまた別の記事で書きます。①まずネットワークですが、VPCを用いてプライベートサブネットとパブリックサブネットを2つずつ、プライベートサブネットとパブリックサブネットを1つずつペアにして異なるリージョンに配置した。
②インターネットゲートウェイとパブリックサブネットを紐づけた。
③NATゲートウェイを各パブリックサブネットに配置した。
④プライベートサブネットにSSHでアクセスするための踏み台サーバをEC2を用いてパブリックサブネットに配置した。
⑤各プライベートサブネットに1台ずつNodeサーバ用のEC2インスタンスを作成し、踏み台サーバ経由でnginxやpm2等をインストールし、nodeサーバを使える状態にした。
⑥ELBを配置し、各プライベートサブネットに接続するようにした。
⑦RDB(MyS
EMRクラスタ作成~テーブル作成までのメモ
EMRクラスタ作成~ポートフォワーディング~Hueにログイン~DB,テーブル作成まで
Glueをメタデータストアとして使うことに注意。glueをメタデータストアとして使わないとクラスタの中にmysqlが立ち上がりそこにメタデータが保存される。emrを閉じてしまうとメタデータから作り直しになってしまう。
“`
構成の詳細
リリースラベル:emr-5.24.0
Hadoop ディストリビューション:Amazon 2.8.5
アプリケーション:Hive 2.3.4, Hue 4.4.0, Spark 2.4.2, Tez 0.9.1, Zeppelin 0.8.1, Pig 0.17.0
ログの URI:s3://aws-logs-hoge-ap-northeast/elasticmapreduce/
“`![fadsfdsafdsafdsafdsafdsafdsafdsa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1347377/b3714beb-576b-5c14-d50f-2dbe80
AWSサービスのローカル環境を構築 (LocalStack)
AWSサービスに接続するソフトウェア開発の際の、
ローカル環境構築に便利な [LocalStack](https://localstack.cloud/) の紹介## 前提知識
– Docker と docker-compose の知識
– AWS CLI コマンド の知識## Dockerで実行する
[LocalStackのDockerイメージ](https://hub.docker.com/r/localstack/localstack)は単一のDockerコンテナで各種AWSのローカルモック環境を実行できます
“`yaml:docker-compose.yml設定例
version: ‘3.8’services:
localstack:
container_name: localstack
image: localstack/localstack:0.13.3
environment:
SERVICES: s3,dynamodb
EDGE_PORT: 4566
ports:
– ‘4566
[AWS] S3+CloudFront に Deploy する buildspec(CodeBuild)
AWS で SPA などの静的コンテンツを公開する際、`S3` + `CloudFront` という構成がよくある形。
その構成でデプロイする場合、 `S3` にファイルを配置して `CloudFront` のキャッシュを削除する必要があるが、
`CodeDeploy` は `S3` へのデプロイに対応しておらず、
`CodePipeline` は `S3` へのファイル配置は可能であるものの `CloudFront` のキャッシュ削除が出来ない。
`CodeBuild` で実施するのがベターと考えた。というわけで、そのための `buildspec` が以下。
## buildspec
“`yaml:buildspec.yml
version: 0.2phases:
pre_build:
commands:
– echo “# Deoloyment Info”
– echo “S3_BUCKET_NAME = ${S3_BUCKET_NAME}”
– echo “CLOUDFRONT_ID = ${CLOUDFRONT_
ELBを使ってEC2インスタンスをプライベートサブネットに配置してみた。
# はじめに
ELBのベストプラクティスとして、EC2のプライベートサブネットへの配置が推奨されていたので試してみました。
![ELBベストプラクティス.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2338398/432cd321-5004-f1f1-aee6-00b5a3faea42.png)
(画像引用:[【AWS Black Belt Online Seminar】Elastic Load Balancing (ELB)](https://www.youtube.com/watch?v=4laAoK-zXko))# やってみること
この構成図の形で作成します。
![ALBpub,EC2pri.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2338398/e3f7eda0-87c8-3777-987d-4517e05f4a42.png)
パブリックサブネットにALBを1つ、プライベートサブネットにEC
さっくり解説するAWS Lambda
#はじめに
私自身、業務で3年ほどAWS Lambdaを触っていますが、
まだまだ知らないことも数多くあり、自身の復習も兼ねて、
少し用語が多く難しいかもしれませんが、初心者にもなるべく分かりやすく解説してみようと思います。
※この記事には私の独断と偏見が含まれています。#AWS Lambdaとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392337/2f46cec1-8287-36a1-866f-ccfe79a20dfc.png)
公式ドキュメントによると、
>Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行し、コンピューティングリソースの管理をすべて担当します。これにはサーバーおよびオペレーティングシステムのメンテナンス、容量のプロビジョニングおよびオートスケーリング、コードのモニタリングおよびログ記録などが含まれます。Lam
CloudEndureからMGNへ
# CloudEndureからのお知らせ
2022年6月30日
- 新規のCloudEndure Migrationライセンスは割り当てられません。
※既存のライセンスを継続して使用することができます。
2022年9月30日
- CloudEndure Migrationエージェントの新規インストールはできません。
※すでにインストールされているエージェントを使用して、進行中の移行を完了することができます
2022年12月30日
- サービスが利用できなくなりますちなみに、CloudEndure Disaster Recovery(DR)サービスに影響を与えまないという記載がありますので、
引き続き使えます。※引用リンク:https://docs.cloudendure.com/Content/Configuring_and_Running_Migration/Migration_EOL/Migration_EOL.htm
# MGN とは
AWS https://aws.amazon.com/jp/application-migration-servi
アクセス制御されているECRのスキャン結果をInspectorダッシュボードから参照する
# はじめに
昨年のre:Invent2021でECRの拡張スキャンが発表されましたが、実際に使用しているとInspectorダッシュボードから脆弱性結果が確認できないことがあったので、その解消方法について確認していきます。
https://aws.amazon.com/jp/about-aws/whats-new/2021/11/amazon-inspector-continual-vulnerability-management/# この記事でわかること
– アクセス制御されたECRリポジトリで脆弱性スキャンを行うための設定手順
– ECRリポジトリに設定するリソースベースポリシーの内容
– Inspectorダッシュボードからの脆弱性結果確認方法# 事前準備
ECRリポジトリは事前に作成しておきます。作成時にリポジトリ単位のイメージスキャンは無効化したままにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/d1d7afdb-1d73-abec-71bf-
AWS LightSailについて インスタンスの立て方とか
#目次
[1.AWS LightSailについて](#aws-lightsailについて)
[2.IAM権限を作成する](#iam権限を作成する)
[3.LightSailインスタンスを立ち上げる](#lightsailインスタンスを立ち上げる)
[4.固定IPアドレス作成](#固定ipアドレス作成)
[5.snapshotsでのバックアップ](#snapshotsでのバックアップ)#AWS LightSailについて
比較的簡単にwordpress(wp)の環境を作成することができ、全世界に公開できるサービスです。
AWSのよく知られているEC2インスタンスを立ち上げるよりも簡単で、楽に運用が可能になっています。
さらに、EC2は従来課金制ですが、LightSailは定額課金の違いがあります。安いプランで月¥500ぐらいで使用できます。LightSailの特徴
https://aws.amazon.com/jp/lightsail/features/
#IAM権限を作成する
まず、AWSアカウントを作成したらやることとして、AWS Identity and Acc