Terraformを使ったAWS環境構築を初めて試したとき時のコマンドを備忘録として書いておきます。
## 作業環境
OS: macOS
terraform: ver1.1.7
## インストール
brewでインストールする
```language-bash
brew install hashicorp/tap/terraf...
AWSのCDKのv2では、`aws_ecs_patterns`というモノが、`aws-cdk-lib`に定義されています。
この`aws_ecs_patterns`を利用すると、以下のような感じでecsでよく利用される構成を簡単に作ることができます。
```language-typescript
import {aws_ecs...
## エラー内容
AWSのリソースをCDK経由で生成しようとしたが、デフォルトVPC情報を取得しようとして下記のコードを書いたがエラーが発生した。(使用言語はTypeScript)
### lib/cdk-stack.ts
```language-ts
export class CdkStack extends Stack...
AWS認定の試験を`ピアソンVue`で受験したときに、領収書を発行依頼する方法を説明します。
(PSIで受験した場合は、手順が異なるようなので注意してください)
## まとめ
結論を先に書くと、以下のような感じでした。
- ピアソンVueでの受験だと...
LocalStackのDockerコンテナを使って、DynamoDBのテーブルを作成した時の作業した時の記録です。
テーブルは`aws cli`を使って作成します。
## docker-compose.yamlの作成
下記の内容でdocker-composeのファイルを用意します。
```language-ya...
## 前置き
- AWS認定試験の[DBS-C01]`データベース-専門知識`(AWS Certified Database – Specialty)を勉強して合格した。
- 新しく学んだことや、間違えやすい・忘れやすいポイントをメモしながら勉強していて、定期的に振り返るのが良かった。
- せ...
評価目的でAWS Aurora for MySQLのグローバルデータベースを利用したので、気づいたことや注意するべき事をメモする。
## DBサーバの構成
- 1つのグローバルデータベース設定に、複数のクラスタがぶら下がるイメージになる
- 2つのクラスタを作っ...
## 発生した事象
AWSコンソールから未使用(のはず)のセキュリティグループを削除しようとしたら、"ネットワークインターフェイスに紐付いている"とのエラーが出て削除できなかった。
このため、該当のネットワークインターフェースを削除しようとし...
AWSのec2サーバに対して、EC2 Instance Connectで接続できないとき、以下のポイントをチェックすることで問題が解決できるかもしれない。
## セキュリティグループの設定がおかしい
インバウンドでport22ののSSHトラフィックが許可されていない場合...
AmazonLinux2にMySQLクライアントをインストールしたときの手順メモです。
## インストール
```language-bash
# リポジトリを追加
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# パッケージがあるか...
Amazon RDS(not aurora)で、修正プログラム適用が必要な時にダウンタイムを最小にしたいばあいがあります。
この場合は、マルチAZにしておくことでローリングアップデートが行われるため、ダウンタイムが最小化されます。DBにアクセスできないのは別のA...
AWS認定データベース 専門知識(AWS Certified Database – Specialty)(DBS-C01)の受験にあたり、役に立ちそうなハンズオントレーニングの一覧を紹介します。
## AWSのハンズオンチュートリアル
AWSではハンズオンのチュートリアルを公開しています。
...
awsのcdkを使ってS3のバケットを作成した時、`cdk destroy`コマンドでリソースを削除すると下記のエラーが出ることがあります。
```language-bash
$ cdk destory
The bucket you tried to delete is not empty
(Service: Amazon S3; Status Cod...
CloudFormationのyamlファイルを使って、AWS上にS3バケットを作成します
## yamlファイル
以下の内容で`CloudFormation.yml`ファイルを作成します。my-backet-nameの部分は、作成したバケット名に置き換えてください。
```language-yaml
Resourc...
AWSの認定試験であるSysOpsアドミニストレーターは、2021/07より新しいSOA-C02試験が始まります。
SOA-C02では、これまでの多肢選択式の問題に加えて、ラボ環境による実務試験が追加されます。ラボ環境の試験は、実際にブラウザでAWSコンソールや、cli...
AWSのソリューションアーキテクト試験では、EC2インスタンスタイプの先頭にあるアルファベットとそのタイプの特徴を知っていないと解けない問題が出ることがあります。
そこで、覚えやすくするために、暗記用のキーワードを作りました。AWSからのオフィ...
2021年4月時点でのAWSサービス一覧を表形式にしてみました。
AWS認定試験のクラウドプラクティショナーなどでは、サービスの名称と概要を知っているだけで解ける問題もあるため、単語帳アプリなどに登録してしまい、ざっくりと暗記してしまうのもよいか...
Laravelのメール送信で、AWSのSES(Simple Mail Service)を利用する場合、Laravelが提供しているsesドライバを使うと簡単にメール送信処理が実装できます。
本記事では、Laravelのsesドライバを使用して上手くメール送信ができない時に、ありがちな問題...
## 設定の変更
- ebsから、該当ボリュームにチェックを入れる
- アクション->ボリュームの変更
- サイズを変更する
## 変更の確認
- 説明のタブを開き、状態が"in-use Complete"になっていることを確認
- "in-use Optimizing(xx%)"の状態でも...
ローカルのPCからだと`git clone`できるのに、EC2からだと、Exit Code: 128 (Invalid exit argument)のエラーメッセージで異常終了してしまう場合があります。
該当のEC2インスタンスに対して、security groupで全てのポートを閉じている場合、port=22(...
AWSやgcpなどで開発用のサーバを立てている場合、費用を抑えるために夜中の間はシャットダウンさせておきたい場合があります。
このような場合、AWSだとサーバレスのlambdaサービスと組み合わせる事例をよく見かけますが、もっと簡単に自動シャットダウ...
sshコマンドでは、キーファイルのデフォルトは`~/.ssh/id_rsa`となっており、デフォルトの名称を使用する場合は、sshコマンドを実行する場合にキーファイル名を指定する必要がありません。
ですが、複数のサーバを管理しているときなど、キーファイル...
## Stackdriver > Documentation > Monitoring > GCP Metrics List
- api/request_count
```language-x
Metrics from Cloud Tasks
API requests
DELTA, INT64, 1 Count of Cloud Tasks API calls. Sampled every 60 seconds.
After sampling,...
gcpで作成したCentOS 7.5のサーバでnginx, php-fpm, php7.2の環境を作る手順です。f1-microインスタンスで作業する場合はメモリが足りなくなるので、事前にswap領域を作っておく必要があります。
## phpとnginxのインストール
```language-bash
# php...
gcpのf1-microインスタンスは、条件を満たすことで無料枠 (Always Free Products)として使用することができます。ですが、swap領域が設定されていないと、メモリが少ないためデフォルトの状態では行えることが制限されてしまいます。
そこで今回、以...
AWS Lambdaのデプロイメント管理ツールであるapexで、環境変数を利用する方法を説明します
## project.jsonの記述
project.jsonでは、以下のように"environment"ノードを作ることができ、この中にハッシュの形でkey-valueを記載することで環境変数を...
## インストール
apexは、下記のコマンドでインストールすることができます。macOSの場合インストール先はデフォルトで/usr/local/bin/apexになります。
```language-bash
$ curl https://raw.githubusercontent.com/apex/apex/master/install.sh | sh
...
レンタルサーバのロリポップでは、python2系、3系の実行環境が用意されており、pythonのプログラムを実行させることができます。
今回は、pipパッケージが必要なpythonのプログラムを手元の環境で作成/動作確認し、ロリポップのサーバへ転送して実行さ...
gcloudコマンドでは`gcloud info`で認証情報をダンプさせることができます。この機能を利用して、以下のコマンドで認証情報中にあるプロジェクトのIDを環境変数にセットできます。
```language-bash
$ export GCP_PROJECT_ID=`gcloud info | grep "^Proj...
Google Cloud Platform (gcp)で、プロジェクトを削除するには下記の手順を取れば良いです。
- プロジェクトを選択し`IAMと管理 -> 設定`をクリック
- `シャットダウン`のボタンをクリック
- 確認ダイアログが出るので、プロジェクトIDを入力し`シ...
新しいプログラム言語やフレームワークを学ぶ時、適当なサンプルデータが入ったMySQLデータベースが欲しくなる場合があります。
今回は、このような時のためにvagrantを利用して下記の構成のvmをコマンド1つで構築できるようなvagrantの設定ファイル(Va...
gcpのCloud Source Repositories(マネージドのgitプライベートリポジトリ)で、リポジトリを作成時に、"gcloud crashed (ArgumentTypeError)"エラーが出ることがあります。
```language-bash
$ gcloud source repos create "reponame.foo"
ERROR: gclo...
gcpのCloud Source Repositories(マネージドのgitプライベートリポジトリ)を使用しているとき、`git push --all google`コマンドを実行すると、下記のエラーが出ることがあります。
```language-bash
$ git push --all google
git: 'credential-gclou...
gcpの操作をcliのgcloudコマンドで行いたい場合、Linuxのシェルから実行すると成功するのに、cronで自動実行させると失敗する場合があります。
例えば、cronのスクリプトからgcloudを実行で下記のエラーが発生する場合ですが...
```language-bash
ERR...
Googleのクラウド環境であるgoogle cloud platform(gcp)では、gcloudコマンドでクラウド環境に対する操作を行うことができます。
プロジェクトの作成と課金有効化をgcloudコマンドだけで行うためには、下記の手順で作業すればよいです。
```language...