- 0.0.1. 【AWS】アカウント作成して”すぐ”設定すべきのAWS Budgets
- 0.0.2. 【AWS】Day1対応の実施(復習用・備忘録)
- 0.0.3. EIC endpointで踏み台serverを無くす
- 0.0.4. AWS Certified Solutions Architect – Associate [AWS SAA-C03] 合格体験記
- 0.0.5. 【EC2 起動テンプレート】ソーステンプレートにインスタンスレベルで指定されたセキュリティグループがある場合、ネットワークインターフェイスを指定することはできません。
- 0.0.6. CloudFormationでlambdaのソースコードを更新する方法
- 0.0.7. mosquittoをブリッジしてSORACOM Beam → AWSクラウドにデータ連携する
- 0.0.8. AWS RDS MySQLサーバ作成
- 0.0.9. Converse APIの登場によりBedrockに新モデルが登場したらいち早く試せる画面が完成しました
- 0.0.10. AWS CloudWatchアラーム履歴が30日間に延長!
- 0.0.11. AL2023内のElastic Beanstalk環境でbundle exec rails c (rails console) する方法
- 0.0.12. Bedrock の Converse API と Streamlit で10分でチャットアプリを作成する
- 0.0.13. aws試験在宅受験でpcがクラッシュしたが救済された話
- 0.0.14. 52日目 WorkSpaceについて説明する社畜M
- 0.0.15. 【AWS】Cloud9でデプロイが失敗した時に遭遇した凡ミス
- 0.0.16. Terraform忘備録(AWS利用)
- 1. Terraformとは
- 2. 構文について
【AWS】アカウント作成して”すぐ”設定すべきのAWS Budgets
# 経緯
以前コスト管理サービスを使用しなかったことで、Amazon RDSを起動しっ放ししていたことに気づかず、なんにも使ってないのに月に27,000円取られたため。
**※RDSは停止しても7日後に勝手に再起動するので、ぜっっっっっっっったいにDBインスタンス削除しておいてください…。**
# 早速やってみる
## AWS Budgetsを利用する
AWS Budgetsの概要は以下です。
https://aws.amazon.com/jp/aws-cost-management/aws-budgets/
予算超過時にはアラートを発して通知してくれるのでこちらを利用していきます。
まず画面上の検索窓に「AWS Budgets」と入力。![9da6d3d8800a-20240116.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3804761/cb4face7-353b-9a2b-ff4c-1064855a55da.png)
「予算を作成」のボタンを押下。
![9fb3380f0d97-202
【AWS】Day1対応の実施(復習用・備忘録)
AWS SAAの資格取得に向けて学習を開始したので、これを機に学習した内容(つまずいたとこも含めて)を記していこうと思います。
# そもそもDay1対応とは
AWSアカウントを作成した際、初日に対応すべきアカウントに関する設定。大まかな対応は以下の通り
・アカウントへのログイン時の認証方法の追加
・ルートユーザ(はじめに作成したユーザ)の他に管理用のIAMユーザを作成
・AWS CloudTrail(のちに説明)の有効化
・AWSの請求に関するアラートの有効化(これは初心者の私にも大事だとわかる、、、、
金銭的に、、)## 1.多要素認証を有効化する
多要素認証(MFAと呼ぶ)をAWSで追加する際は「認証アプリケーション」・「セキュリティキー」・「ハードウェアトークン」の三つが基本的に使用できる。今回の学習では認証アプリケーションである[GoogleAuthenticater](https://apps.apple.com/jp/app/google-authenticator/id388497605)を使用した。
アプリ上でカメラを使用してQRコードを読み
EIC endpointで踏み台serverを無くす
# 目的
EC2 Instance Connect Endpointを使用してPrivate subnetにあるEC2へ接続する方法をご紹介します。
またIAMポリシーを用いたサーバ内OSユーザのアクセスコントロールも合わせてまとめます。# 導入背景
AWS re:inforce 2023のrecapを視聴した際に[EC2 Instance Connect Endpoint](https://pages.awscloud.com/rs/112-TZM-766/images/20230906_reInforce2023_ISV_DiveDeepSeminar_yhirokiy_EIC_Endpoint.pdf)が紹介され、これなら踏み台サーバがいらなくなる!と思い今回実装しました。というのも弊社ではこれまでPublic subnet内の踏み台サーバからPrivate subnetにSSHキーを用いてログインしていました。この方法では鍵の管理や踏み台サーバの運用コスト(脆弱性対応・ランニングコスト)の課題があり、これらを解決すべくまずはテスト環境でEIC endpointを取り入れ
AWS Certified Solutions Architect – Associate [AWS SAA-C03] 合格体験記
## はじめに
入社までの間の学習期間を含め、約3か月(うち1か月はライフイベント祭り。)で実質2か月とちょっとでしょうか。2か月間学習させていただき見事一発で合格することができました。点数は836というなんとも言えない点数ですが、前へ進めるのでうれしい限りです!## 受験前の状態
ほぼ未経験です。ですが職場で様々なサービス名を発していただいてましたので、飛び交うワードで頭に残りやすい状況はありました(^O^)
1. AWSの構築を主とした業務に就いてALB,EC2(他に実際は様々なサービスに触れています。)については構築経験がありました。
2. CCNA資格を保有していました。SAA受験に役立った知識というより、受験の手続が円滑にできたというところにアドバンテージがあったように思います(^^;## 合格のためにしたこと及び使用教材
教材は、ほぼCloudTechのみです。平日に30~60問、休日は100問~
勉強方法は、白本を最初に1週間ほどかけて読み、サービス名とどんなことが載っているというざっくりとした理解でClouTechの問題演習に取り組みました。
問題演習はSAAと
【EC2 起動テンプレート】ソーステンプレートにインスタンスレベルで指定されたセキュリティグループがある場合、ネットワークインターフェイスを指定することはできません。
# はじめに
EC2をAutoScalingするためには、AutoScalingで増減させるEC2インスタンスの設計書ともいえる**起動テンプレート**の作成が必要です。起動テンプレート設定中に、
EC2インスタンスにセキュリティグループをアタッチしつつ、
ENIの設定を変更しようとするとコンフリクトが発生し、ENIの設定ができませんでした。## ENIが設定できない状態
以下のように表示されます。![cap02.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3654730/5e623de3-e795-db8a-8e96-cbacb2905244.png)
>ソーステンプレートにインスタンスレベルで指定されたセキュリティグループがある場合、ネットワークインターフェイスを指定することはできません。
インスタンスレベルで指定されたセキュリティグループがある場合、ネットワークインターフェイスを指定することができません。と表示されていることが分かります。
起動テンプレートでは、インスタンスレ
CloudFormationでlambdaのソースコードを更新する方法
# 背景
CloudFormation(以降、cfnと記載)を使用して、lambdaソースコードの更新を行いたい時があると思います。
cfnでは、テンプレートファイルに変更があれば更新してくれますが、lambdaのソースコードをS3にアップロードしている場合、lambdaのS3BuketやS3Keyは変化しないので、テンプレートファイルには変更が起きず、結果的にcfnでの更新ができません。
“`
Resources:
layer:
Type: AWS::Lambda::LayerVersion
Properties:
Description: ‘pacakge deploy test layer’
LayerName: ‘PacakgeDeployTestLambdaLayer’
Content:
S3Bucket: Hoge
S3Key: Layer.zip // Layerの内容を更新してもここの値は一定Lambda:
Type: AWS::Lambda::Fu
mosquittoをブリッジしてSORACOM Beam → AWSクラウドにデータ連携する
## 概要
この記事は、IoTゲートウェイに入っているmosquittoのブリッジ機能を利用し、SORACOM Beam経由でIoT Coreのエンドポイントにデータを送信するためにmosquittoで設定した内容まわりについて記録することを目的としています。そのため、他の構成要素の基本的な部分については以下で簡単に説明するにとどめます。
### mosquittoのブリッジ機能
mosquittoは主にブローカーやpub/subツールとして使われることが多いかと思います。ブリッジ機能も本質的にはそれと大差ない動きをします。データをブリッジ=あるデータを、本来目指したい場所(リモートブローカー)に橋渡しするような役目を果たします。
こちらの記事にブリッジ機能について図つきで細かく解説されており理解の助けになりました。ありがとうスティーブさん。
[Mosquitto MQTT Bridge-Usage and Configuration](http://www.steves-internet-guide.com/mosquitto-bridge-configuration/)
AWS RDS MySQLサーバ作成
## AWS RDS
Amazon Relational Database Service (Amazon RDS) は、AWS クラウド でリレーショナルデータベースを簡単にセットアップし、運用し、スケーリングすることのできるウェブサービスです。業界スタンダードのリレーショナルデータベース向けに、費用対効果に優れたエクステンションを備え、一般的なデータベース管理タスクを管理します。
## AWS RDS MySQLサーバの作成
### プライベートサブネットの作成
サブネットを作成のボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3184769/b2451f90-7c43-cf35-23b6-6cbcf58ecc0d.png)
プライベートサブネットの作成
VPC ID:my-vpc-01
サブネット名:my-prvt-subnet-02-1c
アベイラビリティーゾーン:東京/ap-northeast-1c
IPv4 サブネット CIDR ブロック:10.0.21.0/24
Converse APIの登場によりBedrockに新モデルが登場したらいち早く試せる画面が完成しました
Amazon Bedrockに突如新APIが登場しました。驚きです。その名も **Converse API**
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/c6f4fdeb-1b0e-3705-0e1d-9ddfbb6f03d5.png)
注:Titan Image Generator G1で生成しました(プロンプト:Converse, Bedrock, API)
## Converse APIとは
Converse APIとは、会話型アプリケーションを**単一のAPIで**実行できるものです。
Bedrockにこれまであった、Invoke Model APIは、APIは単一でしたが、パラメータの形式がモデルごとに異なりますので、モデルにあったパラメータを把握して利用する必要がありました。
Converse APIは、パラメータの構造も含めて共通化が進んでおり、モデルIDを変える**だけ**で別のモデルでも動作するようになりました。ClaudeからCommandに切り替えたりが簡
AWS CloudWatchアラーム履歴が30日間に延長!
CloudWatchの地味アプデがありました
アラーム履歴にアクセスできる期間を延長されたとの事です。あまり普段アラーム履歴について見る事がないので、この際活用方法など考えてみようかと思います。(結果特に思いつきませんでしたが)
Amazon CloudWatch が 30 日間のアラーム履歴を提供開始
https://aws.amazon.com/about-aws/whats-new/2024/05/amazon-cloudwatch-offers-30-days-alarm-history/
# ■CloudWatchのアラーム履歴について
CloudWatchアラームを開いて「履歴」から確認できます![履歴1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/cbd7e064-bf0c-870c-2d05-b3b7dbd3e12e.png)
少し勘違いしていた部分があったんですが、ここで見れるのはアラームの変移履歴だけではありません。
具体的には以下の3つを確認する
AL2023内のElastic Beanstalk環境でbundle exec rails c (rails console) する方法
# 結論
“`ruby
gem ‘irb’, require: false
“`がある状態で、
“`bash
eb ssh
“`して、`rails c`するならこう。
“`bash
sudo su -c ‘env $(cat /opt/elasticbeanstalk/deployment/env | xargs) su webapp -c “cd /var/app/current ; bundle exec rails c”‘
“`じゃなくて必要な環境変数を持った状態で`webapp`ユーザになるだけならこう。
“`bash
sudo su -c ‘env $(cat /opt/elasticbeanstalk/deployment/env | xargs) su webapp’
“`# Gemfileについて
ここはちょっと自信がない部分。
Ruby2.5までは明示しなくても`irb`が利用できたけど、2.6以降はGem化されたらしく、使用するのであれば明示的に書いておく必要があるらしい。
ただ、アプリケーションとして必要なわけではないことが多い
Bedrock の Converse API と Streamlit で10分でチャットアプリを作成する
## はじめに
最近 SageMaker ではなく Bedrock で検証することが多くなった [@ren8k](https://qiita.com/ren8k) です。
本日(2024/05/31)深夜,Amazon Bedrock の新機能である [Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html) がリリースされました.本 API はチャット用途に特化しており,会話履歴が扱いやすい特徴がございます.加えて,本 API は [Streamlit の ChatUI 機能](https://docs.streamlit.io/develop/tutorials/llms/build-conversational-apps)との親和性が高く,非常に容易にチャットアプリを作成することが可能です.本記事では,Converse API の基本的な機能と,実際に Streamlit を用いてチャットアプリを作成する場合の実装例をご紹介いたします.
aws試験在宅受験でpcがクラッシュしたが救済された話
# 対象読者
・aws試験は受けたことがあるが在宅受験を試したことが無い方
・救済措置に関心がある方# 在宅受験
やってみました。いつもはテストセンターで受験。
会場に行くだけであとは集中するのみなので、楽。
いつもこれを選択していました。しかし、去年12/27、どうしても年内に受かりたかったが、枠がありません。
AWS Advanced Networkの試験を、在宅受験することにしました。在宅受験でもいい時間は空いていなく、朝一の9時ごろを選択して受験しました。
# 事前準備
事前にテストのためのソフトのダウンロード、使えるかのテストがあるので、
それを実施しました。自宅用のPCは2013年のMac book proだったのですが、
容量を空けつつ実行。:::note alert
ちなみに会社のPCは、テストセンター側から、強く非推奨とされています。
これは、テスト中に余計なPCの操作ができないように、自分のPCの強い権限を、
テストのアプリに委譲することになるので、会社のPCではおそらくそこでアウトになるためと思われます。:::
なんとか実行テ
52日目 WorkSpaceについて説明する社畜M
## ♠はじめに
こんにちは、社畜Mだぜ。
今回はAWSのサービスのひとつ、WorkSpaceについて紹介していくぜ。
さぁ行くぜ!デュエル!## ♠WorkSpaceについて
俺のターン!ドロー!
Amazon WorkSpacesについてだぜ。
これは簡単に言えばAWSが提供している仮想デスクトップサービスで、場所を問わずに使用でき、様々な端末からアクセスできるぜ。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766505/b8b430f0-b4e6-1cbc-50a4-f2ea081f9225.png)
今少し挙げたのを含めてこいつは5つの特徴を持つ。それを教えてやるぜ!イメージは自作だぜ!社畜Mに画力はない…– **一つ目!様々な端末で利用可能**
まず先ほども言ったがAmazon WorkSpacesは仮想デスクトップサービス…利用する端末のスペックには依存しない。つまり、Windows・Mac・iPadなど使用する端末に指定はないぜ!
【AWS】Cloud9でデプロイが失敗した時に遭遇した凡ミス
# 初めに
AWSの初心者向けハンズオン「AWS SAM を使ってテンプレートからサーバーレスな環境を構築する 」において、Cloud9を使用したソースのデプロイがあったが、全く成功せずかなりの時間を要してしまった。やっと原因を見つけることができたので備忘録として残しておく。## 現象
Cloud9を使用したソースのデプロイで失敗。CloudFormationからイベントログを確認すると、CREATE_FAILEDというステータスが存在していた。
さらにログを読んで(Chatgptに読んでもらって)原因が判明した。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2521217/c95ec949-e812-edcc-8b5d-81cd5e44154f.png)
## 原因
“`ruby:qiita.rbtemplate.yaml
AWSTemplateFormatVersion: ‘2010-09-09’
Transform: AWS::Serverless-2016-10-
Terraform忘備録(AWS利用)
Terraformとは
○インフラをコードで構築できるようにするためのソフトウェア(IaC)
○ファイル形式がtfで、terraformコマンドを実行することで以下のことが可能
- ・ディレクトリの初期化
- ・フォーマットの整形
- ・実行計画の確認
- ・リソースの構築
- ・リソースの削除
- ・リソース状態の確認
構文について
○resource : リソース(インフラ)を構築するための文
Terraform AWS modulesを使ってみよう 前編
# はじめに
**Terraform AWS modules**をご存知でしょうか。
普段からterraformでコードを書いている方の中にも「よく知らない」「聞いたことはあるけど使ったことはない」という方も実は多いのではないでしょうか。この記事では **Terraform AWS modules** とは一体なんなのかをざっくり説明したいと思います。
# そもそも何なの?
Terraform Registryで公開されている、コミュニティにより作成されたモジュール群です。
# どこにあるの?
ここにあります。
https://registry.terraform.io/namespaces/terraform-aws-modules
# どうやって使うの?
モジュールは概ねサービス毎に作成されています。
本体となるコードはgithub上で管理されていますが、Terraform Registry上に各モジュールのドキュメントがありますのでまずは自分が使いたいモジュールを選びましょう。(今回はvpcモジュールを例とします)
https://registry.ter
python-lambda-local を使って AWS Lambda 関数をローカル環境で実行する
# はじめに
Lambdaのプログラムをテストする際、毎回 Lambda 関数を更新して実行するのは面倒ではないですか?
そこで良い方法ないかなと調べていたところ、 **python-lambda-local** というツールを知りました。https://github.com/HDE/python-lambda-local
# 仕様
Python 3.7+
今回試した環境のバージョンは 3.9.6 でした。
“`bash:バージョン
$ python3 –version
Python 3.9.6
“`# インストール
pip でインストールすれば完了です。“`bash:インストール
$ pip install python-lambda-local
“`# オプション
使い方とオプションは以下になります。“`bash:使い方
$ python-lambda-local [-h] [-l LIBRARY_PATH] [-f HANDLER_FUNCTION]
[-t TIMEOUT] [-a ARN_ST
AWS学習でして良かったこと EC2自動停止設定
## 前段
学習でAWSを利用していると、メールでAWS Budgetsの予算通知アラートがきていました。AWSマネジメントコンソールにアクセスしたところ、EC2を停止し忘れていたことが発覚…
そこで、EC2の停止忘れ防止にEC2自動停止設定を行いました。## 方法
EventBridge用IAMロールの作成とEventBridge停止用ルールの作成を行いました。
以下の記事を参考に設定していますので、詳しくはそちらを参照ください。
・毎日18時に停止
![AmazonEventBridgeEC2Stop.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2618548/d507323a-b8ce-a648-2ab1-2c24654aad78.png)・停止したいEC2インスタンスのID
MacでLambdaレイヤーARMアーキを作成
# はじめに
***arm64でLambda関数をデプロイせざるを得ないケースで、Layerを追加したい場合向け。*** imageデプロイを使えばどうとでもなるのだが、それは根本解決にはならない。前に一度やったのだが、やり方を失念してしまったため、備忘として記録する。
Cloud9やEC2を使ってLayerを作成する方法もあるが、***AWSが提供するdocker imageを使えばローカル環境であらゆるLayerを作成できるし、インタラクティブにやりたい***ので、本記事ではその方法について記述する。# 環境
– 言語: python3.12
– OS: macOS Sonoma14.5
– RAM: 64GB
– Docker: 25.0.3# 手順
この[Docs](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-layers.html#python-layer-compatibility)で推奨されている通り、Amazon Linuxベースコンテナイメージに基づくDocker環境に依存関係をイン