- 1. EBSボリュームをデタッチできないときにやったこと(Windows 2016 Datacenter Edition)
- 2. サーバーレスベストプラクティスで初めて知ったこと
- 3. ECSのオートスケーリングをCloudFormationを使って実装しよう!
- 4. 1Password AWS CLI Integration: Enhanced Security and Logging
- 5. AWS CDKでAmazon VPCを作ってみる
- 6. AWS Amplifyを用いて単語帳アプリを作る~アプリ構築~
- 7. AWS EC2のインスタンス生成から起動、停止までの手順
- 8. [CDK For Terraform]EventBridgeとChatbotを実装する
- 9. Nuxt/LaravelでWebサービス「Drinko」を開発(Vercel/AWS)
- 10. AWSのロール切替URL(色指定あり)
- 11. 【Node.js】Lambdaから社内環境のSQL Serverに接続する方法
- 12. AWS WAF のカスタムレスポンスで日本語が文字化けする
- 13. EC2(Apache) + EFS環境を作ってみる
- 14. [AWS #15] AMI
- 15. AWSコスト管理しくじりと対策
- 16. 【Let’s AWSハンズオン①】AWSハンズオンを始める前の準備
- 17. 間違って EC2 インスタンス起動しっぱなしかどうか確認するスクリプト書いた
- 18. LangServeをAWS Lambdaにデプロイすると、アクセス時にファイルダウンロードになる
- 19. Cloud9の環境もセキュリティアップデートを適用しましょう
- 20. 【AWS】CodeCommitを触ってみる(リポジトリ作成&クローン)
EBSボリュームをデタッチできないときにやったこと(Windows 2016 Datacenter Edition)
数週間後には忘れそうだったので備忘として残します。
OSの言語が英語になっているので、必要に応じて読み替えていただければと思います。# 事象
・OSのDisk Managementからディスクをオフラインにできない
・AWSコンソールから「ディスクのデタッチ」をして「成功」ときてもボリュームの状態が「使用中」のまま# 原因調査
コマンドラインから実行したところ、下記画像のように「The operation is not allowed on a disk that contains a pagefile volume.」と表示される。Pagefileが含まれているボリュームはデタッチできない。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986198/7b0d1740-a499-ee02-5e5d-74ddf6d93915.png)
# 対処法
Pagefileをデタッチしたいボリュームから削除する。手順は以下の通り。## 1.検索ボックスに「sysdm.cpl」と入
サーバーレスベストプラクティスで初めて知ったこと
# はじめに
サーバーレス大好きなエンジニアです!
AWS SUMMIT 2024に行ってきて、たくさんのことを学んできました!
特に「サーバーレス開発のベストプラクティス」の内容が面白かったのでシェアしたいと思います。# サーバーレスとは
サーバーやインフラの管理を気にすることなくアプリケーションを実行することができる最高の技術です。細かい設定を気にすることなく、すぐに価値を提供できることが魅力です。# Lambdaのベストプラクティス
ここからAWS SUMMIT 2024の内容に触れていきます。## TransportではなくTransform
まず、ハッとさせられたのは以下のことです。
>Transport (転送)ではなくTransform(変換)に使⽤する。今までLambdaをどれだけ転送機能として使ってきたかを考えさせられました。
何でもかんでもLambdaに任せるのではなく、特定の変換処理を行うことに専念させると、より効果的に使うことができます。## 繋げるLambdaを減らす
複数のLambdaを繋げるのではなく、できるだけシンプルに、独自の処理を
ECSのオートスケーリングをCloudFormationを使って実装しよう!
## 概要
AWS ECSにはアクセス数の増減に応じてECSサービスのタスクの数を自動的に増減するオートスケーリング機能があります
今回はCloudFormationを使ってオートスケーリングの設定をする方法について解説します## 前提
– ECSクラスター、サービス、タスクを作成済み## 実装
オートスケーリング用のテンプレートを作成していきます
今回は
– スケールイン
– スケールアウトの2種類を作成します
“`ecs-fargate-auto-scaling.yml
AWSTemplateFormatVersion: 2010-09-09
Description: “ECS Fargate Service Auto Scaling Stack”# ————————————-
# Metadata
# ————————————-
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
1Password AWS CLI Integration: Enhanced Security and Logging
## 概要
AWSのCLIツールを使用する際、セキュリティと可視性の向上は重要な課題です。本記事では、1PasswordのAWS CLIプラグインの制限を克服し、より安全で透明性の高い認証情報管理を実現する方法を紹介します。
## 課題
1PasswordのAWS CLIプラグインには、`~/.aws/config`のprofile別に認証情報を紐づける機能が欠けています。これにより、別AWS環境で誤って操作をするリスクが向上します。
## 解決策
1PasswordのAWS CLIプラグインを利用せずに、aws cliのcredential_processを活用して、1Passwordと連携させることで、以下の機能を実現します:
1. 認証情報へのアクセスを通知
2. アクセスログの記録
3. プロファイル別の認証情報管理![認証情報アクセス通知](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141711/04b2fa7e-de6d-4088-a62e-4bb7463ee75d.png)
#
AWS CDKでAmazon VPCを作ってみる
# はじめに
今までCloud Formationを利用することが多かったのですが、検証にあたり、AWS CDKの知識が必要になったため、本記事では私が調べた内容をまとめていきたいと思います。# 想定読者
Cloud Formationとpythonの基礎知識がある方を対象としています。# AWS CDKとは
AWS CDKは、好みのプログラミング言語を使用してAWSリソースを定義できるオープンソースのソフトウェア開発フレームワークです。2024年7月1日時点ではTypeScript、JavaScript、Python、Java、C#、Goに対応しています。AWS CDKを利用することによるメリットは色々ありますが、大きいのは以下2点でしょう。
* 型の抽象化:AWS CDKではリソースを抽象化して記載することが可能です。Cloud Formationの場合は、リソースのプロパティを細かく指定する必要がありますが、AWS CDKではリソースを抽象化することができます。そのため、細かいプロパティを指定せずにデプロイが可能です。
* プログラミング言語による記述:使い慣れたプ
AWS Amplifyを用いて単語帳アプリを作る~アプリ構築~
前回の構成について書いた記事はこちら
https://qiita.com/sakura11054/items/354d320af9cb2a99b736
今回はVS Codeで画面作成等も行いたいので、VS CodeのコンソールからAmplifyのプロジェクトを立ち上げていきます。
# アプリの作成
## AWS Amplify CLIのインストール
インストールにはNode.jsが必要になります。
下記のコマンドでAWS Amplify CLIをインストールし、コマンドライン上でAWS Amplifyのプロジェクトを立ち上げられるようにします。
“`
npm install -g @aws-amplify/cli
“`完了したら、下記のコマンドでインストールできているか確認します。
“`
amplify -v
“`## IAMユーザーの設定
### ユーザー作成
続いて、プロジェクトで使うIAMユーザーを作成していきます。
まずは下記のコマンドを入力します。“`
amplify configure
“`入力後、Web上でAWSのログイン画面が開き
AWS EC2のインスタンス生成から起動、停止までの手順
## はじめに
AWSのEC2を起動、停止に関しての備忘録。## 🦁**結論**🦁
AWSのEC2は、AWSのマネジメントコンソールを通じて簡単にセットアップが可能です。必要な手順を完了すれば、ほんの数分でEC2インスタンスを起動し、使用を開始できます。キーペアを生成して保管しておくことで、SSHプロトコルを用いて安全にインスタンスへ接続することが可能になります。これにより、インスタンスをリモートから制御でき、サーバーの設定やアプリケーションのデプロイが行える。:::note info
押さえておくべき点
* AWS EC2(Amazon Web Services Elastic Compute Cloud)は、仮想サーバーをクラウドで提供するサービス
* インスタンスへのSSHアクセスにはキーペアファイル(.pem)を作成してディレクトリに保管が必要
:::
***:::note warn
利用シーン
* 24時間、連続して実行したいものがあるとき
* 24時間、稼働させておきたいとき
:::
***:::note alert
注
[CDK For Terraform]EventBridgeとChatbotを実装する
# 実施のきっかけ
RDSのイベントサブスクリプションの機能があり、
通知先にSNSトピックを指定していたのですが、通知がきていないことに気づきました。サポートに確認したのですが、
RDSのイベントサブスクリプションはChatbotに対応していないみたいで、
EventBridge + Chatbotで実装することにしました。## 実際のコード
https://github.com/Myabaou/cdktf-eventbridge-chatbot
前提条件は記載のとおりですが、Dockerがインストールされていて
対象AWSアカウント上でChatbotとSlackの連携が完了していれば動くはずです。MakefileでAWSのプロファイル名を指定しているのでそこは実行環境に合わせて
変更する必要があります。## TIPS
– Cloudformationのスタック名にアンダーバーが入っているとエラー
そのため以下のように文字列を置換しています。
“`typescript
const channelIdWithoutHyphens = channelId
Nuxt/LaravelでWebサービス「Drinko」を開発(Vercel/AWS)
## 自己紹介
転職活動中で、現在、LaravelとNuxtを独学で学習中です。## 開発したサービスについて
### サービス名:Drinko
URL:https://drinko.jp/### サービス概要
ノンアルコールのソフトドリンクに特化したレシピ紹介サイトです。
コマンドで、The CocktailDBというAPIから取得したドリンクの情報を翻訳してDBに保存し、表示しています。### サービスを作成した経緯・背景
* アルコールが飲めない、コーヒーも飲めない自分が、最近趣味でソフトドリンクを作ることにハマっていて、色々なソフトドリンクを作って、楽しみたいと思ったため
* 自分のようなアルコールやコーヒーが飲めない人にも、飲み物の楽しみを知って欲しいと思ったため### 画面イメージ
#### トップページ
全ドリンクの中から、ランダムで取得したドリンクを3件オススメとして表示しています。また、検索ボックスを配置しています。
![トップページ.png](https://qiita-image-store.s3.ap-northeast-1.amazona
AWSのロール切替URL(色指定あり)
# 概要
AWSのロール切替画面URLでは、初期表示されるAWSアカウントID(`account`)、IAMロール名(`roleName`)、表示名(`displayName`)、色(`color`)を指定できる。次のような書式になる。
“`
https://signin.aws.amazon.com/switchrole?account=account_id_number&roleName=role_name&displayName=text_to_display&color=xxxxxx
“`カラーは、以下のカラーコードのいずれかを指定する。
* `ea7158`(Red)
* `fbc8aa`(Orange)
* `efda95`(Yellow)
* `b4d699`(Green)
* `83d4e8`(Blue)# 詳細
AWSのロール切替画面のURLには、初期表示するAWSアカウントID、IAMロール名、表示名をクエリストリングで入れておける。よく使うものはブラウザブックマークに入れておくと便利。これは以下の公式情報で紹介されている。
> 手動でリンクを
【Node.js】Lambdaから社内環境のSQL Serverに接続する方法
## はじめに
AWS Lambdaから社内環境のSQL Serverへの接続方法について紹介していきます:point_up_tone1:
SQLServerへの接続部分で具体的な値の例が無く、苦戦したのでより具体的に値を記載しようと思います!## 開発内容
### パッケージのインストール
Node.jsでSQLServerへアクセスするために必要なパッケージをインストールします“`
npm install mssql
“`
https://github.com/tediousjs/node-mssql### Lambdaの設定
特定の環境からのみアクセス可とするため、VPCの設定を行います。
Lambdaの設定タブのVPC からVPC、サブネット、セキュリティグループを設定します。### ソースコード
“`javascript
// パッケージの読み込み
const sql = require(‘mssql’)// SQL Serverの設定
const config = {
user: ‘sa’,
password: ‘XXXXXXX’, //
AWS WAF のカスタムレスポンスで日本語が文字化けする
# 例
普通にHTMLで charset / content / lang 指定をすればOK
“`html
タイトル
メッセージ
“`# チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ
# プロフィール・経歴
https://github.com/YumaInaura/YumaInaura
EC2(Apache) + EFS環境を作ってみる
こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。今回はEC2にEFSをマウントしていきます。
# 環境イメージ
今回は以下のようなイメージで作成しました。
EC2はAmazon Linux2023でデプロイしています。EC2とEFSに関してはEFSマウントヘルパーを使用してマウントしました。
EFSでindex.htmlを共有化し、どちらのEC2に対してWebblousingしても同じ内容が表示されることを確認します。
![20240620から-ページ16.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/63898f9a-4f0e-775a-59dc-a20f2f91e50c.png)# 構築
## SGの作成
EC2とEFSにアタッチするSGを事前に作成していきます。
※セキュリティ的には分けるべきだと思います。
EC2管理画面よりセキュリティグループを選択します。
![image.png](https://qiita-image-sto
[AWS #15] AMI
## はじめに
こんにちは
今回はコンピューティングサービス分野である **「AMI」** について紹介したいと思います。## AMI
AMIとは **「Amazon Machine Image」** の略称であり、※**インスタンス**を起動するのに必要なOS(Windowsやmac)やボリュームなどの**情報がまとまったテンプレート**のことを指します。※インスタンス:**AWS上で稼働する仮想サーバ**のことを指し、仮想サーバを数える際の単位としても使われます。
:::note info
1つのAMIから**いくつでも**インスタンスを**起動する**ことができます
:::
:::note info
AMIにより、**同じ構成**を持ったEC2インスタンスを**複数起動**することができます
:::またAMIにはOSやアプリケーション、データなどを記しておくことができ、作成したEC2のインスタンスに引き継ぐことができます。
:::note info
AMIはアカウントの**共有が可能**です
:::## AMIの種
AWSコスト管理しくじりと対策
# コスト管理してますか
AWSのほとんどのサービスは従量課金制です。
月初の請求書を見るのにドキドキしていませんか?
AWSコスト管理でのしくじりにはパターンがあると思います。
パターン別にどのような対策をすればいいか考えてみましょう。## 1. なんとなく立ち上げたリソースを放置
個人でAWSを利用して検証環境を作ったりするとありがちなパターンです。
コンピューティングリソースだけを使用しているとAWSのコンソール画面を使用せずコストの確認が低頻度になることはよくあることですが、コストが予想より大きく超えてしまっていては後の祭りです。(先月やってしまったばかりとは言えない)### 1. 対策
このパターンで必要なのは通知です。
[AWS Budget](https://aws.amazon.com/jp/aws-cost-management/aws-budgets/)は予算を超えるコストを検出するとメールで通知してくれます。
ここで忘れていけないのはきちんと届くメールアドレスを設定する事、フォルダを分けるなどしてメールに目を通せるようにしておくことです。
リソースごとに通
【Let’s AWSハンズオン①】AWSハンズオンを始める前の準備
# はじめに
AWS資格をいくつか取得(CLF、SAA、DVA、SOA)したのですが、ハンズオンをほとんどしたことがないので、これから少しずつ行っていこうとこの記事を作成しております。
私自身がハンズオンできていなかった一番の理由として、従量課金制で学習にコストがかかることでしたので、この記事では実際にかかった費用も紹介できればと思っています。まだまだ初学者でありますので誤った表記などあればご指摘いただけると幸いです。# もくじ
– **ハンズオンを始める前の準備事項**
**①ルートルートユーザーのMFA認証有効化**
**②IAMユーザーの作成**
– **AWSにおけるユーザーについて**
– **ルートユーザーとは?**
– **IAMユーザーとは?**
– **Let’s AWSハンズオン**
– **ルートユーザーのMFA認証有効化**
– **IAMユーザーの作成**
– **今回のハンズオンで発生する課金金額【0円】**
– **まとめ**# ハンズオンを始める前の準備事項
**①ルートユーザーのMFA認証有
間違って EC2 インスタンス起動しっぱなしかどうか確認するスクリプト書いた
# はじめに
間違って EC2 インスタンス起動しっぱなしにしたことありませんか。僕もそのうちの一人です。AWS に連絡したら初回だからか料金を無料にしてくれましたが、次はなさそうなので再発しないように何とか食い止めたいなと思いました。そこで AWS コンソールを見に行かなくても起動しているかどうかを確認できるスクリプトを書いてみました!
# コマンド
“`bash
aws ec2 describe-instances \
–query ‘Reservations[*].Instances[*].{
InstanceId:InstanceId,
Name:State.Name
}’ \
–output table
“`# コマンド詳細
– `aws ec2 describe-instances` というコマンドですべての EC2 インスタンスの情報を取得します。
– `–query ‘Reservations[*].Instances[*].{InstanceId:InstanceId, Name:State.Name}’`:
LangServeをAWS Lambdaにデプロイすると、アクセス時にファイルダウンロードになる
# 現象
AWS LambdaにLangServeをデプロイし、アクセスするとなぜかファイルダウンロードになる![スクリーンショット 2024-07-02 19.43.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58745/9d8be00e-561f-6b3f-08ed-08af423d4b43.png)
# 原因
## ライブラリのインストール漏れ## CloudWatchでエラーを追う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58745/db8516f0-876a-d6bc-5935-fef857bfb085.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58745/a19df5d8-8886-bdd1-3142-e37cb347bb87.png)
## requ
Cloud9の環境もセキュリティアップデートを適用しましょう
世間はOpenSSHの脆弱性が話題のようです。
https://gihyo.jp/article/2024/07/daily-linux-240702
普段、EC2は使っていないのですが、Cloud9はよく使っています。
そういえば、Cloud9の環境ってどうなってたっけ?と思い、確認しました。
使用したコマンドなどはこちらのドキュメントを参考にしました。
https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/managing-repos-os-updates.html
## 使用可能なパッケージ更新の確認
まず、アップデートがあるかどうか確認します。
“`shell
sudo dnf check-update
“`
“`
Last metadata expiration check: 1 day, 0:40:10 ago on Mon Jul 1 09:49:03 2024.
======================================================================
【AWS】CodeCommitを触ってみる(リポジトリ作成&クローン)
AWSのCodeCommitでリポジトリ作成からローカルにクローンまで行います。
# リポジトリを作成
CodeCommitのリポジトリの画面を開き、「リポジトリを作成」を押下します。![画像4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2300564/084f61d2-6254-9568-624e-b1d97fc93b4f.png)
「リポジトリ名」と「説明」を入力します。
「Amazon CodeGuru Reviewer for Java and Python を有効にする」にチェックを付けると、リポジトリにプッシュしたソースコードをAmazon CodeGuruでレビューすることが可能になるようです。
入力できたら「作成」を押下します。![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2300564/16fff5ce-aad7-3d29-aa5c-285a08676705.png)<