AWS関連のことを調べてみた

AWS関連のことを調べてみた

SSL/TLS証明書とかELBとか

# 1.はじめに
インターネット上でサービスを安全かつ効率的に提供するためには、適切な技術選択が不可欠です。
特に、アクセス方法に関する選択は、サービスの可用性とセキュリティに直接的な影響を及ぼします。
この記事では、IPアドレスを直接使用するリスクと、ドメイン名を活用することの利点について、ネットワークやインフラの観点で学んだことをまとめてみました。

# 2.IPアドレス直打ちのリスク
IPアドレス直打ちのリスクは以下の2点と考えました。
– ロードバランサーの役割とサーバーへの影響
– SSL/TLS証明書の問題

## 2.1.ロードバランサーの役割とサーバーへの影響
通常、複数のサーバーで構成されるWebサービスではロードバランサーを使用します。
ロードバランサーは、入ってくるトラフィックを分散させ、一つのサーバーに過度の負荷がかからないようにします。
IPアドレスを直接叩くと、このメカニズムを無視し、単一のサーバーに全ての負荷が集中することになります。
結果として、サービスの可用性を損なうリスクを高め、最悪の場合、サーバーのダウンに繋がることがあります。

## 2.2.S

元記事を表示

AWS-Vaultの設定方法

# 概要
開発環境でAWSの認証情報を安全に行う為に、`AWS Vault`を導入しました。今回はその設定方法について記載します。

# 事前設定
– AWSのアカウントがあり、`IAM`の設定が出来る権限を持っている
– [Homebrew](https://brew.sh/ja/)がインストールされている

# 導入手順
## 基本設定
– `AWS Vault`をインストールする
“`sh
brew install –cask aws-vault
“`

– `AWS Vault`にAWS認証情報を追加する
※ **Access Key**と**Secret Access Key**の入力が必要な為、各項目に入力を行う

“`sh
# 構文
$ aws-vault add # 任意のprofile名入力
Enter Access Key Id: # AWSのアクセスキーを入力
Enter Secret Key: # AWSのシークレットアクセスキーを入力

# 入力例
$ aws-vault add test
Ent

元記事を表示

CloudWatch Alarmがアラーム状態から回復しない理由

最近CloudWatch Alarmの検証をしていたのですが、CloudWatch Alarmがアラーム状態になった後、次の評価期間が来てもOK状態に回復しないことに気づきました。この理由について色々調べたので備忘録として残しておきます。誰かの助けになれば幸いです。

# 状況整理
構成図は以下に示す通りです。CloudTrailで取得したAPIコールログをCloudWatch Logsに格納した後に、メトリクスフィルタで特定のログを拾ってアラームを発砲するというようなシンプルな構成です。詳細な設定は以下の記事にまとめていますので、そちらをご確認ください。(今後対応予定です)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2746031/334e38e6-ffbb-2e96-d836-400e73b12fe2.png)

複数のアラームを設定したのですが、説明の都合上、以下に示すようなNACLの作成などをトリガーとして発砲するアラームに絞って話を進めていきます。
期間を1分、アラームを

元記事を表示

【備忘録】Dockerの入れ方 on AWS EC2

# 環境
Amazon Linux2

# Dockerのインストール
“`bash
sudo yum install docker
sudo systemctl start docker
“`
確認
“`
sudo docker –version
“`

# 「sudo」なしで実行できるようにする
“`
# dockerグループが存在していない場合、追加
sudo groupadd docker
# 自分($USER)をdockerグループに追加
sudo gpasswd -a $USER docker
“`
`exit`して再度入ると「sudo」なしで使えるようになる。

元記事を表示

コマンド3行~AnsibleとCloudFormationを使用してAWS上で5分でプリザンターを試す~

# 内容
何回か検証用のプリザンターを作成する必要がありそうなのですぐ試せるようにコード化。
プリザンターはOSSのノーコード・ローコード開発ツールです。

https://pleasanter.org/

# 作成される環境
AWS上にVPC、パブリックサブネット、EC2つ作成してEC2上にプリザンターをインストール。インターネットからプリザンターにアクセスする。

![pst-aws.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/9c11cf6b-be13-5203-9142-aaa20c261e07.png)

# CFnテンプレートのダウンロード
下記をローカルに保存する。

https://github.com/Toru-Kubota/pst-install/blob/main/cfn/cfn.yml

# CFnからEC2やVPCを作成

* AWSコンソールよりCFnのコンソールに移動
* CFnスタックを新規で作成
* テンプレートファイルのアップロード
※先ほどローカル

元記事を表示

AWSとDatadogのインテグレーションで、DatadogAPICall作成がうまくいかなかった話

# はじめに
[こちらのページ](https://docs.datadoghq.com/ja/getting_started/integrations/aws/)に従って、Datadog連携用のCloudFormationを作成、実行したところ、DatadogIntegration-DatadogAPICallのスタック作成に失敗してしまったので、原因と修正方法をまとめます。

# 発生までの経緯
公式ドキュメントに従って、Datadog の AWS インテグレーション構成ページに移動し、Add AWS Account をクリックします。
遷移先で下記のように、Region、APIキー、Forwarder、CSMの設定を行い、CloudFormationテンプレートを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703223/ba9fa079-14e9-06d6-e48b-3ecdc57e14f6.png)

すると、下記のようにパラメータが入力された画面に遷移するので

元記事を表示

【読書メモ】詳解 Terraform 第3版 ―Infrastructure as Codeを実現する

オライリーからおもしろそうな**Terraform本**が出たので、読んでみます。

タイトルは、**[詳解 Terraform 第3版 ―Infrastructure as Codeを実現する](https://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3-Terraform-%E7%AC%AC3%E7%89%88-%E2%80%95Infrastructure-Code%E3%82%92%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B/dp/4814400527/ref=sr_1_8?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=WFMO1KA52X95&dib=eyJ2IjoiMSJ9.ipru5K_-6lU3JxPv6R3PQ3YYymwXKl-QjrvsVP7QtofdgSViU-_T2URMliQ48nTe0YbIniDkHru6ClZEdjvkWOoigtYOn9DydqWAQr8FeZn8sosUWd7FhgD1TEerZqdli2R022sybsrzaEyy3

元記事を表示

amazon linuxでのgithub連携

linux系コマンドでのgithub連携

今回はamazon linuxを使っています。

github連携

GitHubにログイン
\Settings
\SSH and GPG keys
\New SSH keyボタン

Settings
![github_ssh1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775234/10f5da44-1696-e83a-5260-925c9979f628.png)
SSH and GPG keys
![github_ssh2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775234/254a6a03-76be-d54d-3d80-84a8bb18d2de.png)
New SSH keyボタン
![github_ssh3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775234/

元記事を表示

aws ec2 github連携 html server cloud data server 展開

aws ec2 タイトル未定 html server cloud deta server展開

後日編集予定
aws ec2 github 連携 完了
aws ec2 html server 完了
aws ec2 cloud data server 後日記載

awsページから ec2 展開

github連携

GitHubにログイン
\Settings
\SSH and GPG keys
\New SSH keyボタン

Settings
![github_ssh1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775234/10f5da44-1696-e83a-5260-925c9979f628.png)
SSH and GPG keys
![github_ssh2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775234/254a6a03-76be-d54d-3d80-84a8bb18d2de.png)
N

元記事を表示

Amazon Web Services基礎からのネットワーク&サーバー構築 サーバー構築

:::note
Amazon Web Services基礎からのネットワーク&サーバー構築 を実施した際の備忘録です。
:::

※前回はこちら

https://qiita.com/hoge889/items/a509b83039138d160689

## 今回の目標

作成したVPC内にEC2を使って仮想サーバを構築します。
画像でピンク枠に囲われている部分です。

![Amazon Web Services基礎からのネットワーク&サーバー構築.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764512/c994fcad-a886-6bd1-0d2e-867129f74afa.png)

## インスタンスを作成する

『インスタンスを起動』を押下し、インスタンスの作成を開始します。
各種項目は以下のように設定します。

名前:HogeServer
OS:AmazonLinux

元記事を表示

カスタムリソースを使用してS3内オブジェクトを削除

下記の記事でCloudFormationのスタックを削除しても、S3にオブジェクトが存在すると削除できなかった。
カスタムリソースでLambdaを使用してオブジェクトを削除するようにする。

https://qiita.com/kutinasi_hobby/items/496fe8ed149d72673b10

今回作成するLambdaはほかのCloudFormationでも使用することがあると思うので、別のyamlファイルとして作成する。
注意:上記記事で作成したyamlファイルでスタックを作成する前に下記ファイルでLambda(カスタムリソース)を作成しておく必要がある。

### Lambda用yaml作成
こちらの記事を参考に作成

https://qiita.com/hiyanger/items/5b00cb5ebc7128b178c0

※LambdaFunction の Runtime: python3.7 が現在 python3.12になっているので変更

“`yaml
LambdaFunction:
Type: AWS::Lambda::Functio

元記事を表示

【合格体験記】AWS Certified Data Engineer – Associate (AWS DEA)

# はじめに
2024年2月に All Certificationを達成したので、
その勢いのまま正式リリースされたDEAも取ってしまおうと思ったのですが、
結果は思ったよりギリギリの合格。。
今後学習する方々のために体験記を残します。

■バックグラウンド:AWS実務経験アリ(2年ほど)
 ただ試験範囲に関わるような業務はほぼ無し

# 結果
クエリ系の問題をノーマークでほぼ外した自覚があるので、
第3分野の得点が低くなっちゃった気がする。

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778694/99f0064f-f371-2c97-a9fb-46b94d46cb47.png)

![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778694/352d2240-d361-7b50-d1cf-f004c0ba9dca.png)

# 対策期間・学習方法
#### 対策期間
計3週

元記事を表示

EC2にVOICEVOXをインストールしてpythonから音声ファイルを作る

## はじめに
Amazon Linux 2023にVOICEVOXをインストールしたときのメモ

## VOICEVOXのダウンロード
公式サイトからLinux版、対応モードCPU、Zip版を選択してダウンロード
落としたときのファイル名称は voicevox-linux-cpu-0.18.1.tar.gz
ファイル名称は18世代って意味だっけ

## 解凍
どこでもいいと思うけど /root直下に格納してtarで解凍する
image.png

## 実行
Windows版もrun.exeだったし、これでしょと思って実行してみる。
image.pngAmazon Web Services基礎からのネットワーク&サーバー構築 VPC作成

:::note info
[Amazon Web Services基礎からのネットワーク&サーバー構築](https://amzn.asia/d/3qYbC8Z “Amazon Web Services基礎からのネットワーク&サーバー構築”) をもとにVPCを作成したので備忘録を残しておきます。
:::

## 下準備

デフォルトVPCは削除しておきます。

https://qiita.com/hoge889/items/9dc943982fcfc69f0c39

## 実験用のVPCを作成する

AWSコンソールにログインし、VPCを選択します。
※リージョンは東京を選択しておきます。

『VPCを作成』を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764512/a8d6769e-358c-9017-e6f9-d0415dd98be2.png)

今回はVPCのみで作成します。

![image.png](https://qiita-image-store.s3

元記事を表示

AWS CloudFormationでCodePipelineを使ったCI/CD環境構築

WebアプリケーションをEC2で稼働させる時、毎回EC2にアクセスしてファイルを更新するのが手間と感じたので、CodeBuild, CodeDeploy,CodePipelineを使用して自動化してみました。

似たような環境を複数(再度)使用する可能性があったので 、CloudFormationを使用して一気に作成することにします。

完成アーキテクチャはこんな感じ
![AWSArchitecture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517045/0c1feba9-549b-4744-3bc3-a4bd43c2bbd4.png)

①ローカルで開発したWebアプリケーションをGitHubにプッシュ
②CodePipelineが定期的にGitHubに確認に行き更新がないかチェック
③更新があったら最新コードを取得
④S3に取得したコードを保存
⑤CodeBuildにビルド実行指示
⑥S3からビルド用コードを取得
⑦ビルドを実行してアーティファクト(.zip)を作成
⑧S3に保存
⑨Co

元記事を表示

オンプレミス環境のubuntuでProxyを使うようにAWS SSM Agentを設定した時にハマったこと

## 概要
オンプレミスの閉鎖環境にあるubuntu 22.04に踏み台からじゃなくてAWS SSMで直接アクセスしたいと思い作業をしましたが、公式ドキュメントに書いてない事でハマったので備忘録を残す。

## 公式の手順でやってみたところ・・・

snapを使ってAWS SSM agentをインストールしたので[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/configure-proxy-ssm-agent.html)にある通り

1. `sudo systemctl edit snap.amazon-ssm-agent.amazon-ssm-agent` でproxyサーバ等を環境変数として指定
2. `sudo systemctl daemon-reload && sudo systemctl restart snap.amazon-ssm-agent.amazon-ssm-agent` で再起動

すればいいはずが以下のエラーが出て上手くいかない

“`
ubuntu@

元記事を表示

CodePipelineからliquibaseのコマンド自体を渡す

# はじめに

CodePipelineもliquibaseも初めてなため、おかしなやり方かもしれませんが、誰かの役に立てばと思います。

# 背景

liquibaseをCodePipeline上で動かすにあたって、動的にコマンドやchangesetのファイルを指定したいため、CodePipelineからliquibaseのコマンド自体を渡せるようにしました。
(ほかにもっといいやり方があれば教えていただけると助かります)

# やり方

まずは出来合いのCodePipeline、CodeBuildを用意してください。
CodePipeline、CodeBuildの作り方は他記事を参照してください。

ざっくり構成を箇条書きすると以下です。

* CodePipeline
* sourceステージ
* githubからliquibaseのマイグレーションファイルを取得
* buildステージ
* liquibaseのinstallからコマンド実行までをCodeBuildで実行

## CodePipelineに`COMMAND`変数を作

元記事を表示

RASIS?信頼性と可用性の違いを説明できますか?

RASIS(Reliability, Availability, Serviceability, Integrity, and Security)
RASIS?最初見たとき、ライスだと思いました。DEMO、ごはんじゃありません。

説明も上手く出来なかったので、 __一言で説明出来る__ ようにするために、整理しました。

| 項目 | 説明 |
|————|———————————————————————————————-|
| 信頼性 | __システムの壊れにくさを評価する指標__
– ハードウェアとソフトウェアの両方において障害や不具合をゼロにすることはできませんが、最小限に抑えることは可能です。
– 平均故障間隔(MTBF)は、シス

元記事を表示

UPDATE_ROLLBACK_FAILEDに陥ったCloudFormationスタックへの対処手順

Serverless Frameworkを用いてAWSにデプロイ・運用していたサービスについて久々に更新を掛けたところデプロイに使用していたIAMユーザーが必要なアクションの権限を持っていなかったことが原因で`UPDATE_ROLLBACK_FAILED`に陥ってしまいました。:cry:
このときの対応方針について調査、修正したときのメモになります。

## 1. エラーの原因を調査
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2384986/08aca16b-fe5d-dc60-6984-d1d74dbffbb6.png)

1. まずはServerless Frameworkによって呼び出されるCloudFormationの更新処理(UpdateStack)が何由来で失敗に至ったかを調べるのにAWSのマネジメントコンソールにアクセス
2. CloudFormationのスタック一覧から該当のスタックを選択
3. イベントタブのログをさかのぼりエラー内容(状況の理由)を確認

元記事を表示

【Joplin+S3】閉塞環境の複数サーバで同期可能なメモアプリを導入

## 背景
某案件の某クライアント (データ分析チーム) がOneNoteを利用していました。しかし、新たに構築している分析環境 (AWS上のWindows) で Microsoft Office のライセンスを利用できず、代わりとなるメモアプリが必要となりました。
メモアプリに求められる条件は以下の通り。

– フォルダを切って階層構造を作れること
– スクショを簡単にぺたぺた貼れること
– 複数の環境 (今回は EC2 上の Windows Server) で同期できること
– ただしセキュリティ上、オープンな環境にデータを出してはならない
– できれば無料

うーん、閉塞環境で同期するのがネックになりそうですかねえ (そもそもOneNoteでも無理じゃない??)。

## アプリ選定
いわゆるクラウドアプリである Notion や Evernote なんかはインターネット上に出てしまうので使えません。
そもそもインターネット経由せずに同期させようと思うと、S3にファイルを置いてエンドポイント経由で連携するのが妥当と思われます。
色々調べた結果候補に残ったのが、

元記事を表示

OTHERカテゴリの最新記事