- 1. 【初心者】AWSを使ったサーバー学習
- 2. AWSのサブネット一覧と使用中IP一覧を見るコマンドラインツールを作った
- 3. Pulumi で AWS ELBv2 (ALB) で ACM発行の証明書を用いた Listener を作成する際に “UnsupportedCertificate” が出たときに疑うこと
- 4. AWSのEC2インスタンス(AmazonLinux2)にJava8 + Tomcat8.5 + Apacheの環境を整える。
- 5. 【AWS】SageMakerStudioでノートブックをスケジュール実行する
- 6. 【Aurora PostgreSQL】メジャーバージョンアップ時に CloudFormation で管理する DB パラメータグループを更新する
- 7. AWSでEC2を作成してみた
- 8. AWS Amplify + Vue.jsでサーバレスアプリ開発 vol.2
- 9. 【AWS】13章 boto3道場(後編)「DynamoDB道場」
- 10. 【AWS】LaravelアプリをEC2デプロイ②【Route53編】
- 11. 【AWS】LaravelアプリをEC2デプロイ【まとめ編】
- 12. AWS Amplify + Vue.jsでサーバレスアプリ開発 vol.1
- 13. 【Todo整理】S3にCsvUpload > Lambda起動 > Upしたファイル取得 > RDSへ登録
- 14. Lambdaでのアクセス許可追加方法の備忘録
- 15. DynamoDBデータのCSV出力方法 メモ
- 16. Cloud9からCodeCommitが簡単に操作可能
- 17. Terraform でTrivy の脆弱性スキャンとSecurity Hub を統合したCIを構築する
- 18. 【公式ハンズオン】Node.js+PrismaをServerless Frameworkを使用してAWS Lambdaにデプロイする
- 19. Software Design (ソフトウェアデザイン) 2022年06月号の「後悔しないAWSデータベースの選び方 RDSとDynamoDB,使い分けのポイントを徹底解説」について
- 20. AWS日記41 (AWS CodeArtifact)
【初心者】AWSを使ったサーバー学習
はじめに
–
全くの初心者からAWSを使い始めて1か月ほど経過しました。
具体的にこれまで何をしたのかを紹介します。同じように初心者で何をすればいいのか
困っている人はぜひ参考にしてみてください。実践した結果は随時紹介しますので、
上手く出来ない方はのそちらの記事も
参考にしてみて下さい。実践したこと
–
上から順番に実施していきました。1. EC2を使ってインスタンスを立ち上げよう
2. apatchのインストールしてみよう
3. ユーザーの作成とパスワードの設定をしよう
4. SSH接続(パスワード認証)をしよう。(インスタンスを2台起動しておく必要あり)
5. SSH接続(公開鍵認証)をしよう
6. ファイルの転送をしよう
7. ログイン制限をしてみよう
8. ansibleってなんだろう。調べてみる
9. ansibleのインストールしてみよう
10. playbookをつかってディレクトリを作成しよう
11. playbookをつかってユーザー作成とパスワード設定をしてみよう
12. playbookのplayとtaskってなんだろう。調べてみる。
13. p
AWSのサブネット一覧と使用中IP一覧を見るコマンドラインツールを作った
AWSの環境内にあるVPCとサブネットの一覧、そしてその中にあるIP一覧をコマンドラインで見るツールを作りました。

Python製です。boto3でAWSのリソースを見にいっています。
https://github.com/suzuki-navi/aws-list-subnets
# インストール
“`sh
$ pip install aws-list-subnets
“`# 使い方
使い方はコマンド名を打つだけです。これで上のスクショのような表示がされます。
“`sh
$ aws-list-subnets
“`AWSのprofileが複数あるならawscliと同じくオプションで指定します。
“`sh
$ aws-list-subnets –profile PROFILE_NAME
“``–simple
Pulumi で AWS ELBv2 (ALB) で ACM発行の証明書を用いた Listener を作成する際に “UnsupportedCertificate” が出たときに疑うこと
## はじめに
– Pulumi で AWS Elastic Load Balancing v2 (type は ALB) (以下ALB) を AWS Certificate Manager で発行する証明書を用い Listener の作成を試みたところ “UnsupportedCertificate” のエラーが発生しました
– 最初 “UnsupportedCertificate” だけでは何が原因かわからなかったため調査した結果を記載します## 先に結論を…
– 私の場合 AWS Certificate Manager (ACM) の証明書発行(認証)が終わっていないため “UnsupportedCertificate” が発生していました
## 実行環境
“`zsh
% pulumi version
v3.33.1
% ag -A1 “@pulumi/aws@” yarn.lock | grep -o “version .*”
version “4.38.1”
“`## 作成しようとした resource について
:::note warn
説明に関連
AWSのEC2インスタンス(AmazonLinux2)にJava8 + Tomcat8.5 + Apacheの環境を整える。
今回、仕事で同環境が必要になったので、忘備録がてらに書きます。
# 1. AWS側でEC2インスタンスを作成・起動する。
まずは、AWS側でEC2インスタンスを作成・起動します。
ステータスが2/2チェックでOKになれば、接続の準備OKです。
WindowsPCからの接続であれば、TeratermやPuttyなどのツールでSSHで接続します。
AWS側でEC2インスタンスを作成し、OSには、デフォルトで設定されているAmazonLinux2を選択し起動します。
:::note warn
注意!
↓
【AWS】SageMakerStudioでノートブックをスケジュール実行する
# 概要
本記事では、**SageMakerStudio**というAWSのサービスにおいて、Notebookに記述した処理をスケジュール実行する方法について説明していきます。普段の業務でモデルの学習時間に7時間ほどかかってしまうので、「業務時間外に実行、始業時間以降に結果を確認」というフローを実現したかったのです。そこで**sagemaker-run-notebook**という便利なライブラリがあることを知り、使い勝手がよかったので記事を書いてみました。
普段SageMakerで開発を行なっている方で、「実行時間が長いので夜中に実行しておきたい」「毎日同じ処理を決まった時間帯に実行したい」といった悩みを持っている方の参考になれば嬉しいです。
# 目次
[1.SageMakerStudioとは](#1-SageMakerStudioとは)
[2.全体像](#2-全体像)
[3.手順の説明](#3-手順の説明)
[4.拡張機能の使い方](#4-拡張機能の使い方)
[5.最後に](#5-最後に)# 1. SageMakerStudioとは
>Amazon SageMaker S
【Aurora PostgreSQL】メジャーバージョンアップ時に CloudFormation で管理する DB パラメータグループを更新する
# 初めに
Aurora PostgreSQL のメジャーバージョンアップの際、CFn で管理している DB パラメータグループの更新がうまくいかなかったのでどうするか考えました。
# DB パラメータグループの更新
## DB パラメータグループ更新に関する CFn のドキュメント
パラメータグループの Family はスタック更新では更新できないことが記載されています。
> The DB parameter group family can’t be changed when updating a DB parameter group.
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-family
クラスターパラメータグループについても同様です。
> The DB cluster parameter group family can’t be ch
AWSでEC2を作成してみた
# 無料枠の契約
まず初めにAWS 無料枠の契約を行う
[AWS無料利用枠](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all)
※クレジットカードの登録が必要だが課金は発生しない## とりあえずEC2を立ててみる
無料利用枠でLinuxサーバを立てることができる
①インスタンス起動 → インスタンスタイプは無料利用枠を選択

②新しいキーペアを作成する
#LinuxサーバにSSH接続するため、キーベアを作成する
AWS Amplify + Vue.jsでサーバレスアプリ開発 vol.2
# 概要
こちらの記事を参考に、サーバーレスでwebアプリ開発をしたメモシリーズの2つ目です。
https://qiita.com/minato-naka/items/7b445bcf0794189e65a0[vol.1](https://qiita.com/yuukieiu/items/c9681d6e0287e351f0aa)
# API(Graphql)でCRUD実装編
vol.1の続きだと[③ Authでユーザー登録、ログイン機能実装編](https://qiita.com/minato-naka/items/4e4dcfea2bf5231f6c86)になるのですが、今回はAuthは利用せずに作ってみます。
なので今回は[④ API(Graphql)でCRUD実装編](https://qiita.com/minato-naka/items/03da3987d5a81dfe865f)になります。## AmplifyCLIのaddでバックエンド設定追加
ターミナルでコマンド実行します。
WARNINGが出ます。まぁ…いいでしょう。
“`sh
>amplify add a
【AWS】13章 boto3道場(後編)「DynamoDB道場」
こんにちは、k_ukiです。現在「AWSではじめるクラウド開発入門」という書籍の13章を進めています。
この章では、PythonからAWS APIを操作するためのライブラリ「boto3」の理解を「S3,DynamoDB」のハンズオンで深めていくということを行いました。その中でも今回は「DynamoDB」のハンズオンで学んだことをまとめていきます。
## 概要
– 空のテーブルをDynamoDBに作成
– 【LEVEL1】基本的なデータの読み書きを実践してみる。
– 【LEVEL2】QueryとScanを使ってみる。
– 【LEVEL3】テーブルのバックアップを取る。## 空のテーブルをDynamoDBに作成
まずはプロジェクトのディレクトリに移動し依存ライブラリのインストールを行います。
以下のコマンドを入力します。また、インストール完了後デプロイも同時に実行します。
“`
$ cd handson/dojo/dynamodb
$ python3 -m venv .env
$ source .env/bin/activate
$ pip
【AWS】LaravelアプリをEC2デプロイ②【Route53編】
# 0. はじめに
大阪のLaravel初学者サウナーこと、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
お名前ドットコムで独自ドメイン取得→Route53登録方法です。## 0-1. 前回記事
– 【AWS】LaravelアプリをEC2デプロイ【まとめ編】https://qiita.com/kazumakishimoto/items/e0e109fca443a4acd2a1
– 【AWS】LaravelアプリをEC2デプロイ①【CloudFormation / EC2 / RDS編】
https://qiita.com/kazumakishimoto/items/0859a5a365b226c1b43a
## 0-2. 全体の流れ
> [1.お名前ドットコム](#1-お名前ドットコム)
> [2.Route53](#2-route53)
> [補足](#補足)
> [Reference](#reference)
> [次回記事](#次回記事)## 0-3. 本記事の対象者
– EC
【AWS】LaravelアプリをEC2デプロイ【まとめ編】
# 0. はじめに
大阪のLaravel初学者サウナーこと、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
Laravel × AWS × CircleCIでEC2デプロイ方法のまとめです。## 0-1. 全体の流れ
> [1.CloudFormation,EC2,RDS](#1-cloudformationec2rds)
> [2.Route53](#2-route53)
> [3.ACM,ELB](#3-acmelb)
> [4.SNS,Chatbot](#4-snschatbot)
> [5.CodeDeploy,Code4兄弟](#5-codedeploycode4兄弟)
> [6.S3](#6-s3)
> [補足](#補足)
> [Reference](#reference)## 0-2. 本記事の対象者
– Laravel × AWS × CircleCIでEC2デプロイしたい方## 0-3. 事前準備
– AWSアカウント作成済みhttps://aws.amazon.com
AWS Amplify + Vue.jsでサーバレスアプリ開発 vol.1
# 概要
こちらの記事を参考に、サーバーレスでwebアプリ開発をしたメモです。
https://qiita.com/minato-naka/items/7b445bcf0794189e65a0今回作るアプリは、メッセージをサーバに送り付けるだけのアプリです。
心理学界隈では有名な「川と葉っぱのイメージワーク」を視覚的に行うアプリを作ります。
※川と葉っぱのイメージワークとは:https://yoi.shueisha.co.jp/mental/health/462/# ①環境
使用したNode.js、npmのバージョンは下記です。
“`sh
>node –version
v16.15.0
>npm –version
8.5.5
“`
JSのフレームワークはVue.js、UIフレームワークはVuetifyを利用します。
それぞれの説明はほかのすごい方々がやっているので割愛。# ②Amplify利用準備・初期設定
参考記事はこちら
https://qiita.com/minato-naka/items/8e5c0999867d170a5f66## Vue CLIインス
【Todo整理】S3にCsvUpload > Lambda起動 > Upしたファイル取得 > RDSへ登録
# 初めに
※雑なTodo整理・所感まとめです。詳細は各種公式サイトをご覧下さいm(_ _)mUploadしたcsvの情報を非同期な感じでデータベースに登録したくなったので、AWSの勉強がてら色々設定してみました。
## インフラ準備
* いずれterraform化したい
* 所感、結構むずい。(主にVPN⇄RDS周りで)
* 自分がAzure出身なので、慣れてないのもある
* 恥ずかしながらCIDRってなんやっけ…??みたいになった
* インフラ準備だけで1.5DayぐらいかかったS3,Lambda以外は下記ブログが非常に参考になりました、ありがとうございます!
https://photo-tea.com/p/aws-ec2-to-rds-connection/
### VPC,EC2作成
登場人物は`VPC`,`Subnet`,`ルートテーブル`,`インターネットゲートウェイ`,`ネットワークゲートACL`,`セキュリティグループ`,`EC2`(ちゃんとした構成図は書く気がないので省略、すみません)
以下概要* PublicSubn
Lambdaでのアクセス許可追加方法の備忘録
# Lambdaでのアクセス許可追加方法
わざわざIAMに行かなくても、Lambda関数の設定>アクセス権限>実行ロール>ロール名から、許可ポリシーで適宜アクセス許可を追加することができる

参照
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-intro-execution-role.htmlhttps://techblog.nhn-te
DynamoDBデータのCSV出力方法 メモ
* DynamoDBのデータをCSV出力する方法についてメモする。
## テストデータ準備
* `docker-compose.yml`
* DynamoDBローカルを用いてテスト環境を作る。
“`yaml
version: ‘3’services:
dynamodb-local:
container_name: dynamodb-local
image: amazon/dynamodb-local:latest
user: root
command: -jar DynamoDBLocal.jar -sharedDb -dbPath /data
volumes:
– dynamodb-data:/data
ports:
– 8000:8000
networks:
– dynamodb-networkdynamodb-admin:
Cloud9からCodeCommitが簡単に操作可能
# はじめに
クラウド上のIDEであるAWS Cloud9について、AWSのコード管理サービスCodeCommitと簡単に連携可能でしたので、それを記事にしました。# 参考
下記ページではCloudShellですが、Cloud9でもデフォルトで`git-remote-codecommit`がインストールされているため、同様のことができました。https://dev.classmethod.jp/articles/try-using-aws-codecommit-to-manage-aws-cloudshell-configuration/
# 手順
## CodeCommitでリポジトリ作成
検証用にテストのリポジトリを作成します。
環境を構築するTerraform のコードをサンプルとして共有しています。コンテナイメージのセキュリティ対策の一例として参考になればと思います。また、補足として、CodeBuild のビルド内のTrivy に関する処理について、簡単に説明をしています。
# Terraform で構築する全体構成図
# 構成の概要
https://aws.amazon.com/jp/blogs/security/how-to-build-ci-cd-pipeline-container-vulnerability-scanning-trivy-and-aws-securit
【公式ハンズオン】Node.js+PrismaをServerless Frameworkを使用してAWS Lambdaにデプロイする
:::note
この記事は、Prisma公式の「Deploying to AWS Lambda」の和訳(意訳)です。
翻訳元とライセンスについてはページ下部に記載しています。
:::このハンズオンでは、Serverless Frameworkを使用して、AWS LambdaにサーバレスなNode.jsのREST APIをデプロイする方法をお伝えします。
AWS LambdaはAWSのサービスの一つで、これを使うとサーバ管理不要のサーバレス環境でコードを実行できます。一方で、REST APIをLambdaにデプロイするためには、S3でファイルをホスティングしたり、API GatewayでAPIをHTTPで公開する必要もあります。
Serverless Frameworkを使えば、CLIでワークフローを自動化し、AWSリソースのプロビジョニングも行うことができます。
今回作成するREST APIでは、Prisma Clientを使用してデータベースのレコードの取得・作成・削除を行います。具体的には、それぞれの関数はRESTリソースのエンドポイントを表し、Prisma Client
Software Design (ソフトウェアデザイン) 2022年06月号の「後悔しないAWSデータベースの選び方 RDSとDynamoDB,使い分けのポイントを徹底解説」について
# 初めに
TwitterのDB界隈で少し話題になっていた特集の記事について、個人的に気になった指摘事項の一覧です。
記事自体は限られた紙面数で簡潔に読みやすくまとまっており、特にAurora/RDSについては要注意なポイントについてもまとめられていてわかりやすいものでした。https://gihyo.jp/magazine/SD/archive/2022/202206
しかしながら、私知識と経験の範囲内での判断で、説明不足や技術的に誤解を招く表現等が見られたのでまとめてみます。
※執筆者は普段の業務も忙しい中で限られた時間、紙面数で対象読者に向けて記事をまとめるので必死でしたでしょうし、どんな人でもどうしても経験や知識の範囲は限られてしまうことから、誰もが満足できる完璧なアウトプットを出すことは不可能であり、決して執筆者を貶める意図のある記事ではありません# ACID特性、CAP定理、BASEについて
様々な記事で指摘されている通り、CAP定理やBASE特性を持ち出すと誤解や混乱を招き、むしろ理解が難しくなるので避けるべきだったのではないでしょうか。
– 参考記事
ht
AWS日記41 (AWS CodeArtifact)
# はじめに
今回は [AWS CodeArtifact](https://aws.amazon.com/jp/codeartifact/) を試します。
[コンソールを使用した開始方法](https://docs.aws.amazon.com/ja_jp/codeartifact/latest/ug/getting-started-console.html)を参考にします。
確認のため [CodeBuild](https://aws.amazon.com/jp/codebuild/) で CodeArtifact の npm パッケージを使用します。# CodeArtifactのリポジトリ・ドメイン作成

![02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/