- 1. troccoを使ってAWS Cost ExploreからBigQueryへデータ連携する
- 2. 【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1
- 3. 【Amazon RDS】コミュニティサポート終了期間とRDS標準サポート終了期間の違い
- 4. Auroraテストデータ作成
- 5. 【Laravel】マルチパートアップロードを使って動画をS3へアップロードする
- 6. 静的WEBサイトにCloud Frontを設置する
- 7. Amazon SQSは人間でいう宅配ボックス。
- 8. PartyRockで健康アドバイザーアプリつくってみた
- 9. ECS Execを使って作成したECS Fargate内にアクセスする方法について徹底解説!
- 10. 「エンジニアDB」というサービスを開発しました!【Next.js / Rails / AWS / Terraform / Docker / GitHub Actions】
- 11. 出たばかりの AWS Management Console myApplications を解剖する
- 12. インスタンスタイプをm5aからm6a(6世代)へ変更する際の注意点
- 13. 初心者のためのAWS CDKを使った環境構築
- 14. 【Terraform】EC2にSSMで接続してみた
- 15. リザーブドサービス一覧の備忘録
- 16. Route53の複数値回答ルーティングの通信の流れ
- 17. 備忘_SpringBootでS3のファイル操作(awssdk version2.2136)
- 18. 【AWS】セキュリティグループのルール設定の自動化をしてみた
- 19. Railsで作られたWebサービスをElasticBeanstalkからECS on Fargateに移行した話し(全体概要)
- 20. Docker学習 1日目
troccoを使ってAWS Cost ExploreからBigQueryへデータ連携する
今回troccoというSaaSを使って、AWS Cost Exploreの情報をBigQueryへ連携する方法について紹介します。
フリーランスでの案件獲得のため、下記の記事を元に実施して見ました。
これらの記事ではtroccoとAWS,GCPを接続する際のAWS,GCP側の設定についての記載が少なかったので、ここではそれらに焦点を当てて説明いたします。AWS Cost Explorerのデータをtrocco®でGoogle BigQueryへ統合し、Looker Studio(旧:Googleデータポータル)で可視化する
https://qiita.com/hiro_koba_jp/items/a7620585cd7e53ed42d5### AWS Cost Explore → trocco → BigQuery
というようにデータの連携を行いますが、そのために必要な手順は以下の通りです。
[手順]
1、AWSにおいてCost Exploreの権限を持つユーザーを作成し、アクセスキーを設定
2、GCPにおいてBigQueryへのデータ転送を行うAPIキーを発行
3、troccoにおいて1
【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1
# 概要
この記事ではAWS認定DASに出題されるリソースを使った構成をシリーズ化して紹介します。# はじめまして!
AWS認定DASの資格学習として出題サービスを使用した構成を組んでみようと思い
初投稿をしてみました。
私自身の経歴はインフラエンジニアとして2年半設計構築に携わってます。
SAAの資格学習時(昨年取得出来ました!)に実際に携わったことのあるサービスに関しては理解度が格段に上がることを実感したためこのような取り組みを行っております。# 実現したい構成
早速ですが実現したい構成は以下です。
作成リージョンはap-northeast-1とします。
>①JSONファイルをS3(inputフォルダ)にアップロード
②S3にJSONファイルがアップロードされたことをトリガーにLamb
【Amazon RDS】コミュニティサポート終了期間とRDS標準サポート終了期間の違い
AWSのRelational Database Service(RDS)を利用する際、データベースのサポートポリシーを理解することは非常に重要です。
特に、コミュニティサポート終了期間とRDS標準サポート終了期間の違いを把握することは、セキュリティと運用の効率に直結します。## コミュニティサポート終了期間(Community Support End of Life, EOL)
コミュニティサポート終了期間は、オープンソースのデータベースプロジェクト(例:MySQL、PostgreSQL)のコミュニティがそのバージョンのサポートを終了する時期を指します。
この時期が過ぎると、新機能の追加やセキュリティパッチの提供が行われなくなります。
AWS RDSはこれらのバージョンを利用しているが、直接的にはAWSの管理下にはありません。## RDS標準サポート終了期間(RDS Standard Support End of Life, EOL)
RDS標準サポート終了期間は、AWSが特定のRDSデータベースエンジンバージョンに対して提供するサポートの期間です。この期間内、AWSはセキ
Auroraテストデータ作成
# 概要
Auroraでテストデータを作成した際のメモ## 作成方法
pythonで下記を実行
“`
import mysql.connector
from datetime import datetime# MySQL接続情報
db_config = {
‘host’: ‘host名’,
‘user’: ‘ユーザー名’,
‘password’: ‘パスワード’,
‘database’: ‘DB名’
}# MySQLへの接続
connection = mysql.connector.connect(**db_config)
cursor = connection.cursor()# データ生成と挿入
start_time = datetime.now()
insert_query = “INSERT INTO `user` (`user_id`, `huga_id`, `created_at`) VALUES (%s, %s, %s)”for i in range(10001, 100001):
data = (i, i,
【Laravel】マルチパートアップロードを使って動画をS3へアップロードする
## はじめに
この記事が私の初投稿になります。
アウトプットの機会を増やしていくため、継続的に記事を書いていこうと思います。今回は実際の業務で苦戦した「マルチパートアップロードを使用したAWS S3へのファイル保存」についてです。
この辺のトピックはネットの情報が古かったり有益な情報に出会えなかったため、私と同じような状況の方の手助けになれば幸いです。また間違いなどがございましたら、ご指摘のほどよろしくお願い致します。
## 背景
私が業務でS3を使用した背景ですが、以下のような理由から採用することにしました。
※S3の詳細は割愛しますが、サーバーとは別のところにファイルを保存したい場合に使用するドライブみたいなものですかね!(ざっくりしすぎかな、、、)* 容量が1GBを超える動画コンテンツを扱うため
* S3に置いたコンテンツはCloudFront(詳細は[公式](https://aws.amazon.com/jp/cloudfront/)を参照してください)経由で高速でアクセスできるため## 実行環境など
* PHP8.2
* Laravel10
* MySQL
静的WEBサイトにCloud Frontを設置する
# 《目的》
前回S3の静的ウェブサイトホスティングを有効にして、独自ドメインを割り当てたWEBmサイトを公開しました。そこにCloud Frontを追加で設置して、下記の構成にしたいと思います。
![スクリーンショット 2024-01-24 13.09.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/e9001430-aed6-eb2b-d33c-f6bd218ea2a3.png)# 《まとめ》
想定していた以上にハマって時間がかかったポイントのみ記載。#### 1. S3バケットの設定
AWS公式には下記の注意事項がありました。
> オリジンアクセスコントロール (OAC) を作成して設定する前に、Amazon S3 バケットオリジンを持つ CloudFront ディストリビューションが必要です。このオリジンは、ウェブサイトエンドポイントとして設定されたバケットではなく、通常の S3 バケットである必要があります。S3 バケットオリジンを使用した CloudFron
Amazon SQSは人間でいう宅配ボックス。
こんにちは。
私は先日AWS SAA C-03を受験し、合格する事ができました!
その勉強の中で、頻出していたAmazon SQSサービスについて
自分自身の備忘もかねて記事にいたしました。
是非ご覧ください!# Amazon SQSって要は宅配ボックスじゃん!?
Amazon Simple Queue Service(SQS)は、AWSクラウド上で効果的なメッセージングを実現するサービスです。
イメージとしては、サービスとサービスの真ん中で仲介者になってくれて、処理に関する情報等のメッセージを送信したり、保存しておいたりできる機能です。
これは、まさに**宅配ボックス**に似ているではないか!!
一旦SQSに処理を渡しておけば、渡したい相手側が受け取りたいタイミングで受け取っておくよ〜みたいな感じです笑
という事で、宅配ボックスを例にサービスの流れを書いていきたいと思います!—
## 1. 送りたい荷物が発生する(イベントの生成)
SQSはアプリケーション内で発生したイベントをメッセージとして捉えます。これにより、異なるアプリケーションコンポーネント間での情報伝達
PartyRockで健康アドバイザーアプリつくってみた
# はじめに
2024年に入り昨年より更に生成AIを耳にすることが増えているなと、新年早々感じています。1月上旬にラスベガスで行われていたCESでも生成AIが大きなテーマとして取り上げられていたという記事を見て、2024年生成AIの進化は加速しそうだなと感じワクワクします:blush:
一方で日頃プログラミングを行っていない私は、プログラミングの知識がないと結局AIに触るのは難しいんでしょ?:worried:という気持ちが生まれてきました。(敷居高そう・・)
そこで、自分で何か触ってみることができないかと考えていた時にre:Inventで話されていたPartyRockを思い出しました!2023/11/6にAWSからリリースされ、2023年のre:InventのKeynoteでも触れられていたPartyRockを実際に触ってみましたのでその感想等を紹介したいと思います!
# PartyRockとは?
PartyRock はAmazon Bedrockが利用されている、直感的に使用できるハンズオン形式の生成系 AI アプリケーション構築プレイグラウンドです:balloon:
ECS Execを使って作成したECS Fargate内にアクセスする方法について徹底解説!
## 概要
ECS Execコマンドを使うことでコンテナ内にアクセスすることができますので解説します## 前提
– ECSについてある程度知識がある
– AWS Fargateを使用している場合、プラットフォームバージョンが1.4.0 以上 (Linux)である## CLI
aws cliがインストールされているか確認します
以下のようにバージョンが表示されていたら成功です“`
aws –version
aws-cli/2.11.2 Python/3.11.2 Darwin/23.2.0 exe/x86_64 prompt/off
“`まだインストールしていない場合は以下のリンクの手順に従ってインストールしてください
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
次にsession-manager-pluginがインストールされているか確認します
以下のように表示されていたら成功です“`
session-manager-plugin
「エンジニアDB」というサービスを開発しました!【Next.js / Rails / AWS / Terraform / Docker / GitHub Actions】
## はじめに
こんにちは! ひらぬま([@koocookooc](https://twitter.com/koocookooc))と申します。今回、[Happiness Chain](https://happiness-chain.com/) の卒業課題として、
「[エンジニアDB](https://engineer-db.com/)」という、『〇〇なエンジニアを検索できるサービス』を開発したので、紹介します。ターゲットは、エンジニアの皆さんに向けていますので、ご利用いただけると嬉しいです。
https://engineer-db.com/
無料でご利用頂けます。
### 自己紹介
大学(建築学)を卒業後、新卒で大手ハウスメーカーのIT事業部に入社しました。3年ほどITの企画、PM、設計、開発、テストなどを通して、ITのイロハを身につけました。その後、より良いサービス・プロダクトを作れる人になるためには、開発サイドの経験もしておきたいなぁと思い、Web受託開発会社にエンジニアとして転職しました。今でちょうど2年目になります。
そんな筆者が開発した個人開発サービスを
出たばかりの AWS Management Console myApplications を解剖する
# はじめに
AWS re:Invent 2023から、MCのホーム画面に突如登場したmyApplications。https://docs.aws.amazon.com/ja_jp/awsconsolehelpdocs/latest/gsg/aws-myApplications.html
そんな昨年末からの新機能であるmyApplicationsですが、
それがどれかと言えば、MCのホーム画面に表示されている以下のwidgetになります。最近AWSのMCを開いていれば「ああ、それね」という方も多いと思いますし、
「そもそもMCなんて見ないな」と思う方もいらっしゃると思います。:::note
MCを開いてない人もいるだろうし、
そもそもMCのホーム画面ってスルーしがち。
:::## MCのホーム画面って見ます
インスタンスタイプをm5aからm6a(6世代)へ変更する際の注意点
インスタンスタイプを変更した際に、変更後インスタンスに接続できなくなってしまった。
m5aからm6aに変更する予定の人、やってみて同事象にハマった人の参考になれば。
と言ってもおそらく、6世代インスタンスに変更する際は共通して気を付ける必要がある。## やりたかったこと
EC2のインスタンスタイプをm5aからm6aに上げたい。## 起こったこと
インスタンスタイプ変更は正常に完了。
完了後ヘルスチェックに失敗、RDPにて接続できない。## 調査
スクリーンショットでイメージを出すとログインの画面となっている。
→そのため、起動は成功している。
サポートを起票したところ、ENAドライバーのバージョンが古いとElastic Network Interface のアタッチメントに失敗するケースがある旨回答。## 原因
信じるべきは、やはりサポート。
Elastic Network Adapter (ENA)のバージョンが古かったため、アタッチに失敗していた。
失敗したイスタンスのENAバージョン:1.5
推奨のENAバージョン:2.0以上2018年以前に作成したインスタ
初心者のためのAWS CDKを使った環境構築
# はじめに
深い知識のない人でも比較的簡単に環境構築できるAWS CDKを紹介します。
初心者向けの内容となっていますので、少しでも皆さんの参考になれば幸いです。# こんな人に読んで欲しい
– AWS CDKを使ってみたい
– もっと簡単に環境構築したい
– 手動で環境構築したことがある# 目次
– CDKとは
– 本記事のゴール
– リソース定義
– CDKデプロイ
– おまけ(bootstrapやデプロイに失敗した場合)
– まとめ# CDKとは
[AWS CDK(AWS Cloud Development Kit)](https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html)とは、プログラミング言語(使用可能言語については後述)を使用してAWS上のリソースを定義できるツールです。
一度定義さえしてしまえば、デプロイや破棄が簡単に可能な点がメリットであると感じます。
また、立ち上げたリソースにはそれぞれ料金がかかりますが、CDKの利用自体は料金がかかりませんので安心してください。対応言語
– TypeS
【Terraform】EC2にSSMで接続してみた
## 目的
Terraformの学習を始めたので、備忘録としてまとめました## SSM(AWS Systems Mnager)とは
SSMで用意されている多種多様なサービスを利用して該当AWSリソースの管理・自動化・セキュリティ強化をし運用効率を向上させることができるツール。以下は一部抜粋したサービス|サービス名 |詳細|
|:—————–|:—————-|
|Inventory |EC2やオンプレミスの状態を収集し可視化できる|
|Patch Manager|パッチ適用のスケジューリングや自動化が行える|
|Parameter Store|パスワード、ライセンスコードなどを中央集中型の管理(一括管理)しセキュアに保存し管理できる|
|State Manager|予め定義した構成・設定を一貫した状態に保つ|
|Session Manager|SSM AgentがインストールされたEC2に対してキーペアを必要とせずSSHを使わずにセキュアな接続が可能|今回は「Session Manager」を利用して
リザーブドサービス一覧の備忘録
### リザーブド系
ーリザーブド
インスタンス
キャッシュノード
キャパシティ
ノード#### 対象サービス
インスタンス →EC2,RDS,OpenSearch Service(旧:ElasticSearch Service 2021年9月8日に変更)
キャッシュノード →ElastiCache
キャッシュキャパシティ →DynamoDB,CloudFront
キャッシュノード →Redshift以上となります。
ここは違う等々ございましたら教えていただけますと幸いです。—
ありがとうございます参考文献[円安対策にも有効!「Savings Plans」AWSの「リザーブドインスタンス(RI)」とは?比較や概要、Amazon EC2での料金事例も紹介](https://cloudnavi.nhn-techorus.com/archives/1738#:~:text=%E3%83%AA%E3%82%B6%E3
Route53の複数値回答ルーティングの通信の流れ
AWS Route53の複数値回答ルーティングの通信の流れを理解するのに時間がかかったので備忘録。
## Route53 複数値回答ルーティングの通信の流れ
#### 前提
Route53の複数値回答ルーティングを使って`example.com`に対して以下3つのIPアドレスを登録しておく。
10.0.0.1
10.0.0.2
10.0.0.3#### 処理の流れ
1. ブラウザでexample.comにアクセス
2. Route53が登録されている3つのIPそれぞれに対してヘルスチェック
3. ヘルスチェックでOKだったIPをブラウザに返す(3つともOKだったら3つとも返す)
4. ブラウザ側で受け取った3つのIPアドレスのうちどれにアクセスするか決めてサーバーにアクセス(ここの選択基準はブラウザによってことなる)
備忘_SpringBootでS3のファイル操作(awssdk version2.2136)
# pom.xml
“`
software.amazon.awssdk
s3
2.21.36
LombokとかDB接続周りとか
“`# Service
### 接続設定
環境変数にAWSのアクセスキーとシークレットキーを設定すれば実行時に読み込む。
また、AWS上で動かす場合は実行するロールのものを参照するような記述があった気がする(AWS公式見て)
“`
@Service
public class HogeImpl implements Hoge {@Value(“${aws.region}”)
private Region region;@Value(“${aws.s3.bucket}”)
private String bucket;// 署名付きURL発行を行うために必要
private S3P
【AWS】セキュリティグループのルール設定の自動化をしてみた
ごきげんいかがですか、
この度、AWSの大規模プロジェクトでセキュリティグループの設定をさせていただく機会があったので、
その時工夫した点などを共有したいと思います😉## 1.はじめに
現在のプロジェクトで、複数のセキュリティグループのルール設定を先輩から任せていただきました。
サーバによっては100近くもインバウンドルールがあり、それを複数のセキュリティグループで設定するというのは、とても骨の折れる作業でした、、
#### 1.1 当初の業務内容
タスクを振っていただいた当初は以下のように手動で設定していました。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583957/73b7ede3-f2ad-d301-e9be-4c956d89b36b.png)
サーバによっては100以上もインバウンドルールがあったのでとても大変でした、、、
#### 1.2 結果と課題
結果として、ルール設定に多大な時間がかかり、設定時に二人一組で確認したにも関わらず、単体テストで
Railsで作られたWebサービスをElasticBeanstalkからECS on Fargateに移行した話し(全体概要)
# はじめに
医療系クラウドサービスを提供しているレイヤードという会社で働いています。弊社で提供しているWeb問診システムSymviewはRuby on Railsに構築しており、2017年からElasticBeanstalk(以下EB)を利用してオーケストレーション及びDeploymentを管理しておりました。
EBの機能的にはそれなりに満足していたし、長年使っていて運用ノウハウも溜まっていたのですが、主に下記に記載の理由からECSに乗り換えることにしました。:::note warn
本記事では完成形の移行にフォーカスして書いております。
アーキテクチャの選定や実装の試行錯誤、設定等の細かい話しは省いていますのでご了承ください。
:::## 課題
– EBがサポートする **プラットフォームの更新が遅く、最新バージョンのRubyをなかなか利用出来ない**
– オートスケールやデプロイ時のEC2のプロビジョニングでライブラリのインストールが毎回実施されるため、ライブラリの配布サイトの状態(サイトダウン等)によってはダウンロード失敗等でプロビジョニングエラーが発生する
Docker学習 1日目
Dockerの学習を始めました。
まだ全体の流れがイメージできていない、メモのような内容です。
間違っているところがあるかもしれませんし、
読みづらい記事になっているかと思います。。。
理解が深まり次第、その都度、更新・訂正します!
(間違いのご指摘や、アドバイスいただければとても嬉しいです!)# 《目的》
1. Dockerの理解
1. docker-composeの理解
1. コンテナオーケストレーションツール(AWS ECS)の理解## 1-1 Dockerの構成要素
以下は、Docker hubからcentosのイメージをダウンロードして、さらにcurlの機能を搭載してカスタムしたDockerimageをDocker hubにプッシュする際の図。![スクリーンショット 2024-01-23 19.34.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/816f0ab9-99ab-9c5b-3168-6becf74c9a28.png)
* Docker Clie