AWS関連のことを調べてみた2023年02月13日

AWS関連のことを調べてみた2023年02月13日
目次

AWSを基本からまとめてみた【AWS Perspective】

## AWS Perspective とは?

『AWS Perspective』とは、AWS上のクラウド構成を「アーキテクチャ図」として視覚化してくれるサービスのこと。

## AWS Perspective を使用するメリットとは?

『AWS Perspective』を使用するメリットは、AWS上で稼働しているサービス構成の「適切性」や「設計の妥当性」を確認する等の設計工程での作業時間を短縮できる。

## 参考サイト
[【AWS UPDATE】AWS Perspectiveを発表 (2020/9/22 発表) ](https://www.youtube.com/watch?v=snTO-k3o3eM)
[AWS Perspectiveとは?その特徴や機能も解説します!](https://www.fenet.jp/aws/column/technique/1047/)

元記事を表示

【AWS】CodeCommitのGitコマンド備忘録

AWS CodeCommitでのAWS-CLIとgitコマンドによるレポジトリの作成・編集・アップロード・インポートの方法を紹介する。

## レポジトリの作成
レポジトリの作成はAWS-CLIを使用する。

1. AWS-CLIの認証を行う
デフォルトのリージョン名は、CodeCommit のリポジトリの AWS リージョン と一致する必要がある。
“`
aws configure
>AWS Access Key ID [None]: ASIAUKKFLGSKKOOHNCF5
>AWS Secret Access Key [None]: 4ssRZFLExGZAhFposug+//+Sr9ROtMKB83AVVngS
>Default region name [None]: ap-northeast-1
>Default output format [None]: json
aws configure list
“`
1. ~/.aws/credentialsの認証情報にセッショントークンを追加する

元記事を表示

超初心者がDB接続するSpringBootアプリをAWSにデプロイする【後編】

# はじめに
駆け出しJavaエンジニアでインフラの知識もデプロイ経験もほぼ無い筆者が、Springで作成したアプリケーションをAWSにデプロイすることに成功した手順を、遭遇したエラーも交えながら記していきます。
長いので2部構成になっています。本記事は**後編**です。

**【前編】AWS環境の構築**
* VPCの構築
* EC2インスタンスの設置
* RDSの設置
前編はこちら↓
https://qiita.com/sai-i/private/00fc6e27235f94fcd0fa

### 【後編】動作環境の構築とデプロイ
* ミドルウェアのインストール
* Springアプリケーションのデプロイ

※この記事は2023年2月8日に書かれたものです。
AWSは更新が激しいようなので使用している画像のマネージメントコンソール等のUIが異なる可能性があります。ご了承ください。

# 前提
* AWSのアカウント登録
* AWS環境の構築
* Springアプリケーションの作成
* インフラの基礎知識

インフラの知識と環境構築方法については下記のUdemy教材で学習しました。

元記事を表示

超初心者がDB接続するSpringBootアプリをAWSにデプロイする【前編】

# はじめに
駆け出しJavaエンジニアでインフラの知識もデプロイ経験もほぼ無い筆者が、Springで作成したアプリケーションをAWSにデプロイすることに成功した手順を、遭遇したエラーも交えながら記していきます。

長いので2部構成になっています。本記事は**前編**です。
#### 【前編】AWS環境の構築
* VPCの構築
* EC2インスタンスの設置
* RDSの設置

**【後編】動作環境の構築とデプロイ**
* ミドルウェアのインストール
* Springアプリケーションのデプロイ

後編はこちら↓
https://qiita.com/sai-i/private/c7786653bfbd3f00218b

※この記事は2023年2月8日に書かれたものです。
AWSは更新が激しいようなので使用している画像のマネージメントコンソール等のUIが異なる可能性があります。ご了承ください。

# 前提
* AWSのアカウント登録
* Springアプリケーションの作成
* インフラの基礎知識

インフラの知識と環境構築方法については下記のUdemy教材で学習しました。
手順だけではなく

元記事を表示

デフォルトのエンドポイントの有効無効をAWS CFnテンプレートとOpenAPIで指定する

AWS CloudFormation と OpenAPI を使用して Amazon API Gateway を構築する時、「デフォルトのエンドポイント」を無効にする方法がわかりづらかったので、ノウハウを残します。

AWS SAM の `AWS::Serverless::API` リソースには、デフォルトのエンドポイントの有効と無効を切り替える `DisableExecuteApiEndpoint` プロパティがあります。

https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-disableexecuteapiendpoint

しかし、AWS CloudFormation テンプレートで OpenAPI を `DefinitionUri` 使用して設定している場合(調査中)、`DisableExecuteApiEndpoint` プロパティが効きません。

https://dev.classmethod.jp

元記事を表示

AWS CDK WorkshopをJavaでやってみた

# 概要

[AWS CDK Workshop](https://cdkworkshop.com/50-java.html)をJavaでやってみた。
その際に感じたことのメモ。

# 前提

OS: macOS Ventura 13.2
プロセッサ: 2.4 GHz 8コアIntel Core i9
cdkのversion: 2.63.2 (build e08e34a)

# [New Project](https://cdkworkshop.com/50-java/20-create-project.html)

## (自分用メモ)cdkコマンドをインストール

`npm install -g aws-cdk`コマンドを実行する。

## [cdk init](https://cdkworkshop.com/50-java/20-create-project.html)

上記ページの通り、ディレクトリを作って cdk init をする。 `Executing ‘mvn package`が長くかかったが焦らず待つ。

## [Project structure](https://c

元記事を表示

オンプレ版Gitlab CE OmnibusをAWS+ALB+Docker版に移行メモ

# 概要

社内のオンプレ版Gitlab CE 13.1.xをAWS EC2に移行した際のメモ

移行前後の環境対比

| |移行前|移行後|
|:—|:—|:—|
|OS|CentOS 7| Amazon Linux 2 |
|Gitlab| CE 13.1.x(オンプレ版) | EE 14.10.2(Docker版) |
| 通信 |HTTP|HTTPS(ALB + ACM)|

Docker、AWS ALB + ACM(SSL証明書)などの導入方法は割愛します。

# 構成

Gitlab Omnibus版の構成を理解しくことで適切に設定できるようになります。
ざっくりとした流れはこんな感じです。
クライアント → ALB → ターゲットグループ → EC2 → Gitlabコンテナ(Nginx → gitlab-workhorse → puma → Gitlab)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30522/0c84e122-86f2-d670-88

元記事を表示

初心者がAWS Identity and Access Management (IAM) 使ってみた① – ポリシー作ってみる –

業務の中で使用しているけど、なんだか細かい部分すっ飛ばしててわからんくなってきたなー。。と、ふと思ったため学びなおしてみました。
IAMは基本無料だったと思うのでガシガシ使っていきます。

# 参考
[IAM とは](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction.html)
[AWS のサービスのアクション、リソース、および条件キー](https://docs.aws.amazon.com/ja_jp/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)
[IAM JSON ポリシーリファレンス](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies.html)
# 事前準備
* ポリシーをなにもアタッチしていない検証用IAM①ユーザ、検証用IAM②ユーザを作っておく
*

元記事を表示

S3のBucketを非公開にしたままCloudFrontでWeb公開

## 初めに

“`S3 Bekcet“`を非公開設定で“`CloudFront“`静的サイトをDeployしました。
その備忘録となります。
今回はNuxtを使って公開をしてみました。

## 開発環境
node:16.17.1
Nuxt: 3.0.0

## デプロイ&Web公開手順

### Nuxt3のプロジェクト準備
1. まず初めにNuxtのプロジェクトを用意する必要があります。
依存関係をインストールしたのち、Buildが完了したら、“`http://localhost:3000/“`に接続し、動作確認をします。

“`cmd
$ npx nuxi init sample-nuxt3
$ npm i
$ npm run dev
“`
この画面が出てくればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527164/84350494-1671-1b38-b60d-d7abb0607a

元記事を表示

[AWS]AWSリソースの仕分け(NAT・ルートテーブル・セキュリティグループ)

# NATゲートウェイの作成

サブネットはパブリックとプライベートと分けて作成するのが一般的ですが、このパブリックサブネットを作成した際にパブリックIPを設定します。つまり、インターネット接続することを目的としたサブネットです。
また、プライベートサブネットにはDBなどのリソースを配置するため、インターネットに接続しないようにする必要がありますが(VPC外からの接続は×)、プライベートサブネットからインターネットへの通信は可能にする必要があります。

上記の仕組みを実現するためには、ネットワーク変換する機能すなわちAWSが提供するNATゲートウェイです。

NATゲートウェイは、インスタンスの送信元IPアドレスをNATゲートウェイのIPアドレスに置き換えます。パブリックNATゲートウェイの場合、これは NATゲートウェイElasticIPアドレスです。プライベートNATゲートウェイの場合、NATゲートウェイのプライベートIPアドレスです。インスタンスに応答トラフィックを送信するとき、NATデバイスはアドレスを元の送信元IPアドレスに変換します。(AWSドキュメント参照)

(AWSコ

元記事を表示

【Lambda Typescript】技術のトレンドを追うために簡単なアプリケーションをつくりました

## これはなに?
Qiitaのトレンドを取得するLambda関数を作成したのでそのメモを兼ねた記事です。
TypescriptでLambdaを書いています。

## 開発環境
### バックバックエンド
TypeScript@4.9.5
– @types/node
– axios
– nodemailer

### クラウド
AWS
– Lambda
– Eventbrige

## 何がしたかったのか?
– 朝通勤する時間など隙間時間で技術記事に触れる習慣を作りたいと思った。
– TypeScriptをバックエンドで使って練習したい。
– Lambdaを使った開発をやってみたかった。

## 作成した機能の概要

### TypeScript側
[Qiitaトレンドを取得できるAPI](https://qiita.com/HelloRusk/items/803f9599cde72810f1a8)(リンク先の記事で紹介されているもの)からJSONを取得し、記事のタイトルとURLを取得する。メールで送信するために成形する。nodemailerを利用してgmailで送信する。

###

元記事を表示

EC2 Unixbench まとめ

# はじめに
– EC2 のベンチマークを取ってみたので、まとめていきます
– ベンチマークツールは [Unixbench](https://github.com/kdlucas/byte-unixbench) を使っています

# ツール実行条件
– Unixbench は`./Run`で実行しています(特に引数は与えていません)
– シングルコアとマルチコアでの`System Benchmarks Index Score`の結果をまとめています
– 本来は複数回実行しての平均値や、偏差もまとめていくと良いと思いますが、費用がかかるので、今回は1 回の実行となっています
– ベンチマーク実行中にクレジットがなくならないように、クレジットは無制限にしています
– 実行リージョン: オレゴン
– OS: Amazon Linux 2

# スコアまとめ
|インスタンスタイプ|シングルコア|マルチコア|
|–|–:|–:|
|t3.micro(2 vCPU, 1 GiB)|1088.5|1478.8|
|t3a.micro(2 vCPU, 1 GiB)|974.5|1685.4|
|

元記事を表示

【AWS】RDSがいつまでたってもSQL Serverに接続してくれないんだが

ご無沙汰しております。Sarasaです。

最近仕事の関係でSQLを勉強し始めたのですが、ただのExelかと思いきや、**「ほかのプログラミング言語と組み合わせることでコード画面を開かずにデータを編集できる」** とんでもツールなのですね・・!
練習でC#と接続してみたのですが、これは便利過ぎる・・!

せっかくなので周辺知識も固めようと思い、**Amazon RDS**をDBエンジンに繋げるべくいろいろと勉強してみました。

# データベースを作成してみたものの。。
RDSでデータベースを作成する上でやったことは以下のとおりです。
* RDS上でデータベースを作成
* データベースエンジンはSQL Serverを選択。ポート番号は1433
* **パブリックアクセスを許可**
他は既定の値を用いて設定を行いました。

また、データベースエンジンの方もManegement Officeもインストール済みのため、
エンドポイント,ポート番号をサーバー名の欄に記載し、ログイン名やパスワードをRDSのデータベース画面に従って入力すれば接続できるはずなのですが、、
![スクリーンショット 20

元記事を表示

WordPressをEC2インスタンスにインストールする方法(Apacheのバーチャルホスト設定方法・Wordpress用DB作成方法も解説)

# 概要
* AWSのEC2インスタンスで稼働しているお手製HTMLホームページを、Wordpressに移行したので、その手順を記しました。いろいろ調べても、このパターンの記事がほぼなかったので、参考になればと思います。
* 当記事はあくまで上記が目的で記載していますが、「ヴァーチャルホスト機能を使って新たなドメインを作成する方法」「Wordpress用DBの設定方法」という観点はWordpressをEc2インスタンスに導入される方であれば共通するステップだと思います。

## 環境
* Mac
* 機種ID:MacBookPro18,3
* macOS:Monterey
* チップ:Apple M1 Pro
* メモリ:16GB

## 前提
* 現在運用中のお手製HTMLホームページ(WordpressなどのCMSを利用していません)を「現行HP」、Wordpressに移行して扱う予定のホームページを「新HP」と呼称して進めます。(最終的には同じURLになります)
* 現行HPについて、AWSのEC2インスタンスのGIPとお名前.comのドメインがD

元記事を表示

AWS Amplify StudioのDataStoreで条件を絞ってデータを取得する方法

## 概要
最近、`AWS Amplify Studioではじめるフロントエンド+バックエンド統合開発`の書籍を購入してAmpify Studioの勉強してたらDataStoreを使用した問い合わせ方法が書籍の書いてある方法だとうまくいきませんでした。
[Amplify デベロッパー センター](https://docs.amplify.aws/lib/datastore/data-access/q/platform/js/#create-and-update)のドキュメントを読んで解決したのですが、どこかに残しておきたいなぁと、、

せっかくなので、Qiitaを使う側になってみようと思ったので執筆しました。

## やりたいこと
以下のようなModelに対してname情報を指定してデータ取得をしたい。

Model名: Board

Field name | Type
—— | —–
id | ID!
message | String!
name | String
image | String
PersonID | Relationship Source

※ 最終的

元記事を表示

【AWS】初心者によるサーバー構築

# 初心者のAWSを使ったサーバー構築
初心者エンジニアによるサーバー構築の練習風景を記します。

### 本学習の流れ
1. AWSアカウントの作成
2. VPC(Virtual Private Cloud)の構築
3. AZ(Availability Zone)、サブネットの構築
4. インターネットゲートウェイの設置
5. ルートテーブルの設定
6. WEBサーバーの設置

# AWSアカウントの作成
AWSのアカウントを作成します。実はまだ作ったことがありませんでした。。。
今回は無料版で進めていきます。

手順については表示された項目を入力するだけなので省略します。
登録が完了し、サインインすると見たことのある画面が表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3142287/be0725ad-1433-5672-de5e-371355b505be.png)

# VPCの構築
VPCを作成します。
VPC(Virtual Private Clo

Windows Server をオートスケールして、AD参加・IISの起動・FSx for Windows File Server のアクセスを自動化させてみた

# はじめに

IIS でサービスを提供しているシステムで、Windows Server のオートスケールを行ったときに、自動的に設定を行うべきものがいくつかあります。IIS の設定・最新のアプリケーションコードの配置・FSx for Windows File Server などの SMB の参照設定、などなどです。

user data や CodeDeploy 等を活用することで実現できそうなことはわかりますが、具体的にどのように設定すればいいのかわからなかったので検証してみました。その時の構成や手順などを紹介します。

# 構成図

まず、全体的な構成図を載せます。環境によってはいくつか異なる点はあるかもですが、この記事の構成として紹介していきます。

– オートスケールで利用する AMI は、EC2 Image Builder で作成する。AMI の中には、IIS に必要なソフトウェアをインストールする
– Windows Server がオートスケールで増えたときに、user data を実行する
– user data では、CodeDeploy Agent のインスト

AWS認定デベロッパーアソシエイト(DVA-C02)に合格したので勉強方法メモ

# はじめに
2023年1月28日にAWS認定デベロッパーアソシエイト(DVA-C02)に合格しました。