- 1. AWSのパブリックIPv4利用確認について
- 2. AWS EBS と EFSの違い (初学者向け)
- 3. トークンで簡単なログイン保持機能をPythonで実装する方法
- 4. 【AWS】EC2インスタンスが終了する際に、EBSボリュームを保持しておく
- 5. 【AWS】Amazon Data Lifecycle Manager (Amazon DLM)
- 6. ServerlessFrameworkでSQSをデプロイする2つの書き方
- 7. 作って終わりじゃないクラウド─AWS認定SOA-C02資格試験(再)合格体験記
- 8. AWS SSM Agent v2からv3へアップデートする手順
- 9. AWS上のWebサービスからお客様内部のSMTPサーバーにメール通知する
- 10. 【Vue.js x AWS】CodeBuildのエラー「Did you mean to enable the ‘allowJs’ option?」の原因と解決方法
- 11. aws-portal廃止に伴い請求関連の権限を整理しました
- 12. 【Python】GitHub ActionsとOpenID Connectを使ってLambdaを自動デプロイしよう!
- 13. 文系出身が1年エンジニアしてみたけど実際どうなん?話
- 14. AWSにおける監視の基本(ふりかえり)
- 15. AWS SAM CLI と AWS CDK のローカルテスト連携
- 16. k8sを一つのEC2に構築する場合(忘備録)
- 17. AWS Cloud9でTerraform環境をセットアップ(学習用)
- 18. AWS Cognito徹底入門!簡単にユーザー認証を実装する方法
- 19. AWS EC2インスタンスの開始/停止するシェルスクリプト
- 20. AWS LIGHTSAIL(LAMP)にLaravel10環境を構築する(1)
AWSのパブリックIPv4利用確認について
# ■概要
2024年2月1日より、従来は無料だったパブリックIPv4アドレスに対して、1IPアドレスあたり 0.005 USD/時間 が課金されるようになりました。
それに伴って現在利用中のIPv4アドレスは一度見直すのが良いでしょう。新着情報 – パブリック IPv4 アドレスの利用に対する新しい料金体系を発表
https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/![20230824094419.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/ed238c26-59de-0605-3da1-1f1358218c6d.png)
# ■パブリックIPv4インサイト
普段触れる機会がなかったんですが、IPv4インサイトはVPC IP Address Manager (IPAM) の機能の一部となるようです。
IPv4インサイトのみを利用している場合は特に利
AWS EBS と EFSの違い (初学者向け)
# はじめに
IT業界に入り、知識0からインフラエンジニアになろうとしている者です。
AWSのSAA取得に向け勉強しているのですが、EBSとEFSの違いがわからない→わかった気がする!
に変わった理由を交えてEBSとEFSについて説明していきます。
## EBSとは
Amazon Elastic Block Store (Amazon EBS) はAmazon Elastic Compute Cloud (Amazon EC2) 向けに設計された、使いやすく、スケーラブルで、高性能なブロックストレージサービスです。
## EFSとは
Amazon Elastic File System の略で
サーバレスなファイルシステムです。
## 2つの違い
上記の説明を見たとき私も???となりました。ここで理解する上で大切なNASについて紹介します。
###### NAS
NASとは、ネットワーク(LAN)上に接続することができるハードディスクです。ハードディスクというとUSBみたいなものを想像しますよね。
一般的なハードディスクはパソコンと**1対1**で直接接続して
トークンで簡単なログイン保持機能をPythonで実装する方法
# はじめに
– エンジニアリング歴半年
– 備忘録的な感じ
– 深夜テンション
– Python信者# やりたいこと
ブラウザでログインを行った時に、LambdaからDynamoDBでの確認ができた場合、Lambdaより固定トークンを発行しブラウザに一時保存させる。
↓
ブラウザでトークンを保持しておき、サーバ側で確認することで各機能でいちいち認証しなくても良くなる!!!!
考えた人天才か?
# 準備したこと
– AWSのLambdaとDynamoDB + API Gatewayを使ってサーバーレスな環境を準備
– Postmanのインストール
– DynamoDBにテストデータを用意# やってみよう(トークンの発行ロジック)
## 仕様
– リクエストはJSON、パラメータとして`userId (string)`、`password (string)`を持つ。(どっちも必須)
– レスポンスはJSON、`token (string)`、今回は固定で`”token”`という文字列を返す。
– DynamoDBでリクエストに一致するものがある場合、レスポンスを
【AWS】EC2インスタンスが終了する際に、EBSボリュームを保持しておく
EBSで Delete on Terminate 属性を off にする
https://repost.aws/ja/knowledge-center/deleteontermination-ebs
【AWS】Amazon Data Lifecycle Manager (Amazon DLM)
Amazon EBS ボリュームに保存されたデータをバックアップする自動化された手順です。 Amazon DLM を使用してライフサイクルポリシーを作成し、スナップショット管理を自動化します。
ServerlessFrameworkでSQSをデプロイする2つの書き方
# ServerlessFrameworkでSQSをデプロイする2つの書き方
ServerlessFrameworkを使用してLambdaやその周辺サービスを管理・デプロイするケースはよくあると思います。
LambdaのトリガーとしてSQSを設定したときに2つの実装の仕方があったので備忘録を兼ねて書き留めていきます2つの実装についてはこちらになります
– serverless-lift プラグインを使用する
– resources セクションを使用する## serverless-lift プラグインを使用する
こちらはServerlessのイベントとしてsqsを指定する箇所のドキュメントになります
このページの一番下で`serverless-lift`について紹介してありますhttps://www.serverless.com/framework/docs/providers/aws/events/sqs
このプラグインを追加すると`constructs`セクションを記述できるようになり
functionsセクションと似たような書き方ができる他に
– デッドレターキュー
作って終わりじゃないクラウド─AWS認定SOA-C02資格試験(再)合格体験記
先日、[AWS認定 AWS Certified SysOps Administrator – Associate](https://aws.amazon.com/jp/certification/certified-sysops-admin-associate/)資格試験に(再)合格しました。その折の学習方法をまとめておきます。後学の方の参考になれば幸いです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50571/89063ff0-1437-5815-bdd3-80106da098da.png)
# 前提
* 受験した試験バージョンは __SOA-C02__。
* 2023年3月28日以来、この記事を執筆している8月23日現在も、__「試験ラボ」は停止中__。他の資格試験と同様の選択問題(一択or多択)のみ。「追って通知があるまで」この状態が続くとのことで、今のところ通知はなし。試験時間は短縮されて130分。
* 受験時点で 他のAssociate系資格(SAA・DVA)は取得
AWS SSM Agent v2からv3へアップデートする手順
# はじめに
EC2(Linux)のSSM Agentをv2からv3にアップデートしたので、備忘録的に書いていきます。
やり方は色々ありますが、今回は実際にやったRun Commandを用いた手順を記載します。# 手順
1. AWSコンソールから`AWS Systems Manager`へ移動する。
2. `Run Command`のボタンをクリックする。
3. キーワード検索で`SSMAgent`を入力する。
4. `AWS-UpdateSSMAgent`を選択する。
![SSMAgent-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1391445/98be7132-6559-047f-a759-769596dc1298.png)5. `コマンドを実行する`をクリックする。
6. `コマンドのパラメータ`から、versionを指定する(入力なしならlatest)。
![SSM Agent-2.png](https://qiita-image-store.s3.ap-northe
AWS上のWebサービスからお客様内部のSMTPサーバーにメール通知する
## はじめに
BtoB向けのWebシステムでは、何かしらの通知をメールで行う事があります。
イントラ内に構築されたシステムであれば、Web/APサーバーから、お客様の内部SMTPサーバー宛にメール送信すればよいのですが、SaaSとしてWebサービスを提供している場合は、公開SMTPサーバー宛にインターネットメールを送信する事になります。しかし、企業によっては、セキュリティの観点から、一部社員などについて、インターネットメールを受信できなくしている場合があります。
このような場合に、どのような解決策があるのか、整理してみたいと思います。
## 取りうる手段
インターネットメールを受信できない場合、インターネット経由で送信したメールを、お客様社内にある内部SMTPサーバー宛にメール送信できるようにする必要があります。WebサービスがAWS上にある場合、上記を解決する方法として、以下の3つが考えられます。
1. お客様ネットワークに、インターネット(Webサービス)からのメール通知を受け取るためのグローバル(パブリック)IPアドレス(GIP)を用意してもらい、NAT変換するなど
【Vue.js x AWS】CodeBuildのエラー「Did you mean to enable the ‘allowJs’ option?」の原因と解決方法
# 概要
`Vue.js`を扱ったプログラムをAWScodepipelineで自動デプロイしたら、ビルドステージで`Did you mean to enable the ‘allowJs’ option?`というエラーが表示されて失敗していました。
本記事では本エラーの解決方法を記します。## エラー内容
CodeBuildのエラーログは以下の通り。
“`
error TS6504: File ‘/codebuild/output/src1493754208/src/xxx/app/src/views/Sample.vue.js’ is a JavaScript file. Did you mean to enable the ‘allowJs’ option?
The file is in the program because:
Matched by include pattern ‘src/**/*’ in ‘tsconfig.app.json’
ERROR: “type-check” exited with 2.
“`エラーメッセージの内容を見ると、
aws-portal廃止に伴い請求関連の権限を整理しました
AWSからリマインドメールが来ました。
サービスプレフィックス`aws-portal`を廃止して新しく細分化するので、2023年12月までにポリシーのIAMアクションを修正して下さい、とのこと。https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/migrate-granularaccess-whatis.html
現状のIAMポリシーは次の通りです。
“`json:現状
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“aws-portal:*Billing”,
“aws-portal:*Usage”,
“aws-portal:*PaymentMethods”
],
“Res
【Python】GitHub ActionsとOpenID Connectを使ってLambdaを自動デプロイしよう!
## 概要
GitHub Actionsを使ってPythonの必要なパッケージとソースコードをzipファイルに圧縮してLambdaに自動デプロイする方法について解説します
また、今回はOpenID Connectを使ってデプロイするのでIAMロールの設定等についても解説します## 前提
– 言語・パッケージはPythonを使用
– Pythonのパッケージ管理にPoetryを使用
– GitHub ActionsおよびLambdaに関する基本的な知識を有していること## ディレクトリ構成
ファイル構成は以下のとおりです
“`
❯ tree
.
├── .github
│ └── workflows
│ └── lambda-deploy.yml
└── application
├── lambda_function.py
├── poetry.lock
└── pyproject.toml
“`## OpenID Connect
OpenID Connectを使用することでAWSの
– シークレットキー
– アクセスキーを使わ
文系出身が1年エンジニアしてみたけど実際どうなん?話
# はじめに
前回の記事でも書いていますが、私は文系出身未経験インフラエンジニアです!
大学では太宰治の研修なんかをしていたど文系です……
そんな私が昨年4月に入社し、約1年3か月経った今実際どうなったのか
どこまで成長したのか正直にお話ししたいと思います。# 最初の私
エンジニア配属になって1番最初の私はほんっとうに何も知りませんでした!!!
IPアドレスとは何ぞや、Gitってなに、クラウドって雲???ってくらい無知です。
開発を志望してエンジニアになったわけでも正直なかったので、技術大好き!
プログラミング楽しい!というタイプでもありません(笑)# 1年でやったこと
入社して半年は社内研修をしました。
弊社はエンジニアだけでなく、コンサルと営業の研修もするので社会人の基礎的な研修を受け、エンジニアとしての研修を受けました。
その後、自部署での研修を受けて、10月に正式にチームに配属されました。以下配属されてから取り組んだことです。
* 商用環境の死活監視
* 商用環境の障害復旧、調査
* AWS周りの開発
* Jenkinsを使ったジョブ開発
* 既存ツールのBugF
AWSにおける監視の基本(ふりかえり)
# はじめに
* AWS Hands-on for Begginersのひとつ、[監視編 サーバーのモニタリングの基本を学ぼう](https://aws.amazon.com/jp/events/aws-event-resource/hands-on/)を先日実施したので、振り返りも含めたアウトプット資料として記事に残したいと思います。
*# CloudWatch Metrics
* CloudWatchで発行されたメトリクスを収集+統計を取得## メトリクス監視で測定すべき項目
* リソース監視(CPUやメモリの使用率)
* アプリケーションの性能管理(アプリケーションの処理時間)## 用語
* メトリクス
* 名前空間
* ディメンション
メトリクスを一意に識別する名前や値のペアのこと## メトリクスの種類
* 標準メトリクス
* カスタムメトリクス## 画面例
CloudWatchより、`メトリクス` > `すべてのメトリクス`と選択する
![cw_1.PNG](https://qiita-image-store.s3.ap-northeast-1.am
AWS SAM CLI と AWS CDK のローカルテスト連携
## [AWS SAM](https://d1.awsstatic.com/webinars/jp/pdf/services/20190814_AWS-Blackbelt_SAM_rev.pdf) とは
AWS のサーバーレスアプリケーション開発に特化した AWS CloudFromation の拡張機能です。サーバーレスアプリケーション開発を支援する [AWS SAM CLI](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/install-sam-cli.html) が提供されており Lambda 関数をローカル実行できます。
インストール方法
#### AWS SAM CLI のインストール (macOS)
“`bash
brew tap aws/tap
brew install aws-sam-cli
sam –version
“`“`plantuml
@s
k8sを一つのEC2に構築する場合(忘備録)
# 概要
## k8sを一つの`EC2`(オンプレ)に構築する場合(会社の開発環境構築など)
– 例) Aさんは`dev1.xxx`、Bさんは`dev2.xxx`を利用してください### 簡単手順
1. `Docker`と`k8s`をダウンロードし、手順に沿ってインストールすること
– cri-dockerdを導入すること
– ダウンロード直後にノードが`NotReady`とk8sの状況で`DNS`が動作されてないので[`Calico`](https://docs.tigera.io/calico/latest/getting-started/kubernetes/quickstart)を導入すること
1. [`nginx-ingress`](https://kubernetes.github.io/ingress-nginx/deploy/)をダウンロードする、設定を行う
1. `nginx-ingress`をダウンロードしたときに、`nginx-ingress-controller`の`EXTERNAL-IP`は`pending`状況になる
“`
AWS Cloud9でTerraform環境をセットアップ(学習用)
# はじめに
初投稿記事です!!Terraform学習の折、サードパーティ製IDEだと鍵設定等難しそうだと思い、まずは手軽にサクッと試せるAWS Cloud9を使って環境を作成してみました。
# Cloud9とは
>AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。
ブラウザのみでアプリケーションを作成、実行、デバッグでき、ローカルの IDE をインストールしたりメンテナンスを行う必要はありません。デメリットとしては、他のIDEに実装されているような便利機能がなかったりしますが、勉強用として使うには十分かなと思われます。
# 本記事で実施する内容
1. Cloud9の作成/アクセス
2. terraform/tfenvのインストール/バージョン確認
3. tf.stateファイル用のS3バケット作成
4. terraform実行ファイルの作成
5. tfファイルの作成/実行
6. tfファイルで作ったリソースの削除# <手順>
## 1. Cloud9の作成/アクセス
下記URLにアクセスし「環
AWS Cognito徹底入門!簡単にユーザー認証を実装する方法
こんにちは!AWSの中でも非常に便利なサービスの1つであるCognitoについて、詳しく解説していきます。この記事を読めば、Cognitoの基本から実際の実装方法までをしっかり掴むことができるでしょう。
### 目次
1. AWS Cognitoとは?
2. 主要な機能
3. 主要な特徴
4. 利用シナリオ
5. 実際の実装方法
6. まとめ—
### 1. AWS Cognitoとは?
AWS Cognitoは、Amazon Web Services(AWS)が提供する認証・認可サービスです。ユーザー管理とセキュアな認証プロセスを簡単に追加できます。—
### 2. 主要な機能
#### 1. ユーザープール
ユーザーの登録やサインイン、パスワードリセットなどの基本的なユーザー管理機能を提供します。#### 2. フェデレーションアイデンティティ
FacebookやGoogleなどのサードパーティプロバイダやSAMLベースの認証など、外部のアイデンティティプロバイダを利用して一時的なAWSの認証情報を提供します。—
### 3. 主要な特徴
– ソ
AWS EC2インスタンスの開始/停止するシェルスクリプト
あるシステムで割高なEC2インスタンスを利用していて、DEVとSTGのEC2インスタンスを`普段は停止し、利用時のみ起動する`という運用にしています。
ただ、起動や停止をするだけのために、AWSにログインするのは面倒です(起動するためだけに、6桁のあれを入力したりするのはちょっと…)。
`コマンド1発でできればいいな〜`と思い、起動/停止するシェルスクリプトを作成したので、備忘録として残します。## 作成したシェルスクリプト
AWSコマンドラインインターフェイスがインストール済み、かつ、defaultの認証情報プロファイルの設定が完了している前提で作成したシェルスクリプトです。
※作成時のAWS-CLIはv2.9.10です。“` ec2-start-stop.sh
#!/bin/shINSTANCE_ID_DEV=”i-dev11111111111111″
INSTANCE_ID_STG=”i-stg22222222222222″if [ $# -lt 2 ]; then
echo “ERROR: Environment and SubCommand is
AWS LIGHTSAIL(LAMP)にLaravel10環境を構築する(1)
# LIGHTSAILインスタンスの構築
今課題はAWSの定額サービスであるLIGHTSAILにLaravel10を構築しようという内容です。
運用を想定しているので、GITHUB ACTIONとも連携します。Laravel Sailを使用して、viteを使います。## ENVELOPMENT
| name | system |
|:———–|:———— |
| Server | LIGHTSAIL(LAMP) |
| MVC | Laravel10(sail) |
| BUILD | vite |
| DEPLOY | github actions |
| DNS | お名前.com |
| SSL | bncert |ここではLIGHTSAILの準備まで説明します。
## 前提条件
– AWSのアカウントは作成済みであること## 1. Lightsailのページに行きま